summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2013-02-11 07:44:56 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2013-02-11 07:44:56 +0000
commita440a8e0200a36491ae540f6f00beae59c148549 (patch)
treeb4c31ebadaa2857396c37178674086420bf1658f
parent4b0b4e6b2fa7eb5105859f561354662d479f53be (diff)
Cleanups and version bumpmame0148u1
-rw-r--r--hash/c64_cart.xml6
-rw-r--r--hash/c64_cass.xml2
-rw-r--r--hash/c64_flop.xml4
-rw-r--r--hash/cbm2_flop.xml2
-rw-r--r--hash/cpc_flop.xml648
-rw-r--r--hash/g7400.xml2
-rw-r--r--hash/gameboy.xml2
-rw-r--r--hash/gbcolor.xml16
-rw-r--r--hash/ibm5170.xml26
-rw-r--r--hash/interact.xml26
-rw-r--r--hash/m20.xml6
-rw-r--r--hash/microvision.xml196
-rw-r--r--hash/mo5_cart.xml60
-rw-r--r--hash/msx1_cart.xml18
-rw-r--r--hash/mz800_cass.xml22
-rw-r--r--hash/odyssey2.xml14
-rw-r--r--hash/pet_cass.xml2
-rw-r--r--hash/plus4_cass.xml2
-rw-r--r--hash/psx.xml26138
-rw-r--r--hash/tek4052_cart.xml6
-rw-r--r--hash/to770_cart.xml2
-rw-r--r--hash/to7_cart.xml52
-rw-r--r--hash/vic1001_cass.xml2
-rw-r--r--src/emu/cpu/arm7/arm7core.h12
-rw-r--r--src/emu/cpu/arm7/arm7drc.c742
-rw-r--r--src/emu/cpu/arm7/arm7help.h126
-rw-r--r--src/emu/cpu/arm7/arm7tdrc.c258
-rw-r--r--src/emu/cpu/cpu.mak2
-rw-r--r--src/emu/cpu/dsp16/dsp16.c86
-rw-r--r--src/emu/cpu/dsp16/dsp16.h22
-rw-r--r--src/emu/cpu/dsp16/dsp16dis.c6
-rw-r--r--src/emu/cpu/dsp16/dsp16ops.c126
-rw-r--r--src/emu/cpu/es5510/es5510.c1288
-rw-r--r--src/emu/cpu/es5510/es5510.h314
-rw-r--r--src/emu/cpu/lr35902/lr35902.h9
-rw-r--r--src/emu/cpu/m6502/m6502.h2
-rw-r--r--src/emu/cpu/mips/r3000.c156
-rw-r--r--src/emu/cpu/mips/r3000.h34
-rw-r--r--src/emu/cpu/scudsp/scudspdasm.c6
-rw-r--r--src/emu/cpu/sh2/sh2.c2
-rw-r--r--src/emu/cpu/sh2/sh2comn.c18
-rw-r--r--src/emu/cpu/sh2/sh2drc.c2
-rw-r--r--src/emu/cpu/sharc/sharcdsm.c2
-rw-r--r--src/emu/cpu/sm8500/sm8500.c1
-rw-r--r--src/emu/cpu/sm8500/sm8500.h6
-rw-r--r--src/emu/debug/debugvw.c58
-rw-r--r--src/emu/debug/debugvw.h122
-rw-r--r--src/emu/debug/dvdisasm.c38
-rw-r--r--src/emu/debug/dvdisasm.h32
-rw-r--r--src/emu/debug/dvmemory.c82
-rw-r--r--src/emu/debug/dvmemory.h46
-rw-r--r--src/emu/diimage.c4
-rw-r--r--src/emu/diimage.h4
-rw-r--r--src/emu/imagedev/midiin.c15
-rw-r--r--src/emu/imagedev/midiout.c3
-rw-r--r--src/emu/machine/mos6551.c20
-rw-r--r--src/emu/machine/mos6551.h10
-rw-r--r--src/emu/machine/n68681.c1
-rw-r--r--src/emu/machine/s3c24xx.c2
-rw-r--r--src/emu/machine/wd_fdc.c4
-rw-r--r--src/emu/softlist.c2
-rw-r--r--src/emu/sound/digitalk.c47
-rw-r--r--src/emu/sound/digitalk.h2
-rw-r--r--src/emu/sound/flt_rc.c11
-rw-r--r--src/emu/sound/flt_rc.h6
-rw-r--r--src/emu/sound/flt_vol.c7
-rw-r--r--src/emu/sound/flt_vol.h4
-rw-r--r--src/emu/sound/iremga20.c8
-rw-r--r--src/emu/sound/iremga20.h6
-rw-r--r--src/emu/sound/k005289.c4
-rw-r--r--src/emu/sound/k005289.h8
-rw-r--r--src/emu/sound/k056800.c2
-rw-r--r--src/emu/sound/n63701x.c9
-rw-r--r--src/emu/sound/n63701x.h14
-rw-r--r--src/emu/sound/spu.c4
-rw-r--r--src/emu/sound/t6721a.h2
-rw-r--r--src/emu/sound/tiaintf.c6
-rw-r--r--src/emu/sound/tiaintf.h4
-rw-r--r--src/emu/video/ef9340_1.c3
-rw-r--r--src/emu/video/ef9340_1.h8
-rw-r--r--src/emu/video/i8244.c35
-rw-r--r--src/emu/video/i8244.h33
-rw-r--r--src/emu/video/mc6845.h2
-rw-r--r--src/emu/video/pc_cga.c20
-rw-r--r--src/emu/video/tlc34076.c2
-rw-r--r--src/emu/video/tlc34076.h2
-rw-r--r--src/lib/formats/d64_dsk.c7
-rw-r--r--src/lib/formats/d81_dsk.c80
-rw-r--r--src/lib/formats/flopimg.h6
-rw-r--r--src/lib/formats/g64_dsk.c4
-rw-r--r--src/lib/portmidi/readbinaryplist.c34
-rw-r--r--src/mame/drivers/4roses.c2
-rw-r--r--src/mame/drivers/5clown.c2
-rw-r--r--src/mame/drivers/albazg.c2
-rw-r--r--src/mame/drivers/amaticmg.c2
-rw-r--r--src/mame/drivers/aristmk4.c4
-rw-r--r--src/mame/drivers/atvtrack.c4
-rw-r--r--src/mame/drivers/avt.c2
-rw-r--r--src/mame/drivers/belatra.c2
-rw-r--r--src/mame/drivers/blitz.c2
-rw-r--r--src/mame/drivers/blitz68k.c6
-rw-r--r--src/mame/drivers/buster.c2
-rw-r--r--src/mame/drivers/calomega.c2
-rw-r--r--src/mame/drivers/carrera.c2
-rw-r--r--src/mame/drivers/ccastles.c1
-rw-r--r--src/mame/drivers/chance32.c2
-rw-r--r--src/mame/drivers/cloud9.c1
-rw-r--r--src/mame/drivers/coinmstr.c2
-rw-r--r--src/mame/drivers/coolridr.c6
-rw-r--r--src/mame/drivers/cps1.c8
-rw-r--r--src/mame/drivers/cps3.c1
-rw-r--r--src/mame/drivers/dkong.c1
-rw-r--r--src/mame/drivers/equites.c1
-rw-r--r--src/mame/drivers/fcrash.c8
-rw-r--r--src/mame/drivers/flipjack.c2
-rw-r--r--src/mame/drivers/fortecar.c2
-rw-r--r--src/mame/drivers/fresh.c42
-rw-r--r--src/mame/drivers/funworld.c36
-rw-r--r--src/mame/drivers/ghosteo.c2
-rw-r--r--src/mame/drivers/goldnpkr.c2
-rw-r--r--src/mame/drivers/gticlub.c8
-rw-r--r--src/mame/drivers/highvdeo.c58
-rw-r--r--src/mame/drivers/hitpoker.c2
-rw-r--r--src/mame/drivers/igs_m036.c13
-rw-r--r--src/mame/drivers/imolagp.c24
-rw-r--r--src/mame/drivers/jaguar.c2
-rw-r--r--src/mame/drivers/jokrwild.c2
-rw-r--r--src/mame/drivers/jubilee.c2
-rw-r--r--src/mame/drivers/kingdrby.c2
-rw-r--r--src/mame/drivers/laserbas.c2
-rw-r--r--src/mame/drivers/lordgun.c12
-rw-r--r--src/mame/drivers/luckgrln.c2
-rw-r--r--src/mame/drivers/lucky74.c68
-rw-r--r--src/mame/drivers/lwings.c1
-rw-r--r--src/mame/drivers/magicfly.c70
-rw-r--r--src/mame/drivers/majorpkr.c2
-rw-r--r--src/mame/drivers/merit.c2
-rw-r--r--src/mame/drivers/miniboy7.c2
-rw-r--r--src/mame/drivers/missile.c2
-rw-r--r--src/mame/drivers/mpu12wbk.c2
-rw-r--r--src/mame/drivers/mpu4dealem.c2
-rw-r--r--src/mame/drivers/murogem.c2
-rw-r--r--src/mame/drivers/namcops2.c8
-rw-r--r--src/mame/drivers/namcos22.c14
-rw-r--r--src/mame/drivers/nyny.c2
-rw-r--r--src/mame/drivers/othello.c2
-rw-r--r--src/mame/drivers/peplus.c2
-rw-r--r--src/mame/drivers/pgm.c2
-rw-r--r--src/mame/drivers/pgm2.c203
-rw-r--r--src/mame/drivers/progolf.c2
-rw-r--r--src/mame/drivers/r2dtank.c2
-rw-r--r--src/mame/drivers/rgum.c2
-rw-r--r--src/mame/drivers/sanremo.c78
-rw-r--r--src/mame/drivers/skeetsht.c4
-rw-r--r--src/mame/drivers/slotcarn.c2
-rw-r--r--src/mame/drivers/snk6502.c2
-rw-r--r--src/mame/drivers/spbactn.c8
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/spiders.c2
-rw-r--r--src/mame/drivers/supercrd.c2
-rw-r--r--src/mame/drivers/taitosj.c2
-rw-r--r--src/mame/drivers/taitotz.c68
-rw-r--r--src/mame/drivers/tapatune.c2
-rw-r--r--src/mame/drivers/tmspoker.c2
-rw-r--r--src/mame/drivers/tp84.c2
-rw-r--r--src/mame/drivers/truco.c2
-rw-r--r--src/mame/drivers/usgames.c2
-rw-r--r--src/mame/drivers/vastar.c2
-rw-r--r--src/mame/drivers/vcombat.c2
-rw-r--r--src/mame/drivers/vlc.c6
-rw-r--r--src/mame/drivers/whitestar.c2
-rw-r--r--src/mame/drivers/wwfsstar.c8
-rw-r--r--src/mame/drivers/xexex.c2
-rw-r--r--src/mame/drivers/xtheball.c10
-rw-r--r--src/mame/drivers/zn.c2
-rw-r--r--src/mame/includes/20pacgal.h4
-rw-r--r--src/mame/includes/4enraya.h2
-rw-r--r--src/mame/includes/8080bw.h2
-rw-r--r--src/mame/includes/alpha68k.h2
-rw-r--r--src/mame/includes/amiga.h2
-rw-r--r--src/mame/includes/armedf.h2
-rw-r--r--src/mame/includes/btime.h2
-rw-r--r--src/mame/includes/carpolo.h2
-rw-r--r--src/mame/includes/cps3.h2
-rw-r--r--src/mame/includes/deco32.h2
-rw-r--r--src/mame/includes/eolith.h2
-rw-r--r--src/mame/includes/galaga.h10
-rw-r--r--src/mame/includes/galaxian.h6
-rw-r--r--src/mame/includes/itech32.h1
-rw-r--r--src/mame/includes/itech8.h2
-rw-r--r--src/mame/includes/ladybug.h2
-rw-r--r--src/mame/includes/n64.h2
-rw-r--r--src/mame/includes/stv.h5
-rw-r--r--src/mame/includes/tecmosys.h1
-rw-r--r--src/mame/machine/amiga.c2
-rw-r--r--src/mame/machine/chaknpop.c1
-rw-r--r--src/mame/machine/megadriv.c2
-rw-r--r--src/mame/machine/scudsp.c20
-rw-r--r--src/mame/machine/smpc.c6
-rw-r--r--src/mame/machine/snes7110.c8
-rw-r--r--src/mame/machine/snessdd1.c2
-rw-r--r--src/mame/machine/stvcd.c26
-rw-r--r--src/mame/machine/tecmosys.c2
-rw-r--r--src/mame/mame.lst38
-rw-r--r--src/mame/video/ccastles.c1
-rw-r--r--src/mame/video/cchasm.c1
-rw-r--r--src/mame/video/centiped.c1
-rw-r--r--src/mame/video/cloud9.c1
-rw-r--r--src/mame/video/cps1.c2
-rw-r--r--src/mame/video/dday.c1
-rw-r--r--src/mame/video/dkong.c2
-rw-r--r--src/mame/video/fromanc2.c1
-rw-r--r--src/mame/video/fromance.c1
-rw-r--r--src/mame/video/galaga.c1
-rw-r--r--src/mame/video/galaxold.c1
-rw-r--r--src/mame/video/konicdev.c4
-rw-r--r--src/mame/video/lastduel.c1
-rw-r--r--src/mame/video/lockon.c1
-rw-r--r--src/mame/video/madalien.c2
-rw-r--r--src/mame/video/qix.c2
-rw-r--r--src/mame/video/redclash.c2
-rw-r--r--src/mame/video/spbactn.c2
-rw-r--r--src/mame/video/stvvdp1.c8
-rw-r--r--src/mame/video/stvvdp2.c36
-rw-r--r--src/mame/video/taitoic.c4
-rw-r--r--src/mame/video/tecmo_spr.c4
-rw-r--r--src/mame/video/tecmo_spr.h1
-rw-r--r--src/mame/video/twincobr.c2
-rw-r--r--src/mess/drivers/apc.c14
-rw-r--r--src/mess/drivers/apple2.c4
-rw-r--r--src/mess/drivers/apple2gs.c195
-rw-r--r--src/mess/drivers/apricotp.c2
-rw-r--r--src/mess/drivers/aquarius.c2
-rw-r--r--src/mess/drivers/b16.c2
-rw-r--r--src/mess/drivers/binbug.c2
-rw-r--r--src/mess/drivers/bml3.c2
-rw-r--r--src/mess/drivers/c128.c4
-rw-r--r--src/mess/drivers/c64.c12
-rw-r--r--src/mess/drivers/cat.c42
-rw-r--r--src/mess/drivers/cbm2.c34
-rw-r--r--src/mess/drivers/clcd.c2
-rw-r--r--src/mess/drivers/esq1.c6
-rw-r--r--src/mess/drivers/esq5505.c134
-rw-r--r--src/mess/drivers/esqkt.c4
-rw-r--r--src/mess/drivers/fp1100.c2
-rw-r--r--src/mess/drivers/fp6000.c2
-rw-r--r--src/mess/drivers/gb.c2
-rw-r--r--src/mess/drivers/gba.c6
-rw-r--r--src/mess/drivers/m20.c2
-rw-r--r--src/mess/drivers/mac.c2
-rw-r--r--src/mess/drivers/megadriv.c14
-rw-r--r--src/mess/drivers/microvsn.c6
-rw-r--r--src/mess/drivers/multi16.c2
-rw-r--r--src/mess/drivers/multi8.c2
-rw-r--r--src/mess/drivers/myb3k.c2
-rw-r--r--src/mess/drivers/mycom.c22
-rw-r--r--src/mess/drivers/mz2500.c4
-rw-r--r--src/mess/drivers/odyssey2.c10
-rw-r--r--src/mess/drivers/paso1600.c2
-rw-r--r--src/mess/drivers/pasopia.c20
-rw-r--r--src/mess/drivers/pasopia7.c2
-rw-r--r--src/mess/drivers/pet.c10
-rw-r--r--src/mess/drivers/pet2001.c120
-rw-r--r--src/mess/drivers/plus4.c14
-rw-r--r--src/mess/drivers/portfoli.c6
-rw-r--r--src/mess/drivers/prof180x.c42
-rw-r--r--src/mess/drivers/prof80.c2
-rw-r--r--src/mess/drivers/sage2.c2
-rw-r--r--src/mess/drivers/smc777.c8
-rw-r--r--src/mess/drivers/super80.c16
-rw-r--r--src/mess/drivers/tek405x.c14
-rw-r--r--src/mess/drivers/ti89.c2
-rw-r--r--src/mess/drivers/tk80bs.c2
-rw-r--r--src/mess/drivers/tmc1800.c8
-rw-r--r--src/mess/drivers/tmc600.c2
-rw-r--r--src/mess/drivers/vboy.c17
-rw-r--r--src/mess/drivers/vic10.c4
-rw-r--r--src/mess/drivers/vidbrain.c2
-rw-r--r--src/mess/drivers/x1.c6
-rw-r--r--src/mess/drivers/x1twin.c20
-rw-r--r--src/mess/drivers/z100.c2
-rw-r--r--src/mess/includes/abc1600.h2
-rw-r--r--src/mess/includes/abc80x.h4
-rw-r--r--src/mess/includes/amstrad.h2
-rw-r--r--src/mess/includes/apple2.h2
-rw-r--r--src/mess/includes/apple2gs.h50
-rw-r--r--src/mess/includes/aquarius.h32
-rw-r--r--src/mess/includes/atarist.h4
-rw-r--r--src/mess/includes/cbm2.h2
-rw-r--r--src/mess/includes/gb.h8
-rw-r--r--src/mess/includes/md.h12
-rw-r--r--src/mess/includes/nes.h2
-rw-r--r--src/mess/includes/pc1512.h6
-rw-r--r--src/mess/includes/pcw16.h18
-rw-r--r--src/mess/includes/pet2001.h12
-rw-r--r--src/mess/includes/plus4.h4
-rw-r--r--src/mess/includes/portfoli.h2
-rw-r--r--src/mess/includes/psion.h2
-rw-r--r--src/mess/includes/sapi1.h2
-rw-r--r--src/mess/includes/tiki100.h2
-rw-r--r--src/mess/includes/trs80m2.h4
-rw-r--r--src/mess/includes/wangpc.h2
-rw-r--r--src/mess/machine/a2eauxslot.h2
-rw-r--r--src/mess/machine/a2eext80col.c1
-rw-r--r--src/mess/machine/a2eext80col.h1
-rw-r--r--src/mess/machine/a2eramworks3.c7
-rw-r--r--src/mess/machine/a2eramworks3.h1
-rw-r--r--src/mess/machine/a2estd80col.c1
-rw-r--r--src/mess/machine/a2estd80col.h3
-rw-r--r--src/mess/machine/a2midi.c23
-rw-r--r--src/mess/machine/a2ssc.c1
-rw-r--r--src/mess/machine/a2videoterm.c2
-rw-r--r--src/mess/machine/a2vulcan.c124
-rw-r--r--src/mess/machine/amstrad.c4
-rw-r--r--src/mess/machine/apollo.c2
-rw-r--r--src/mess/machine/apple2.c4
-rw-r--r--src/mess/machine/apple2gs.c264
-rw-r--r--src/mess/machine/ataricrt.c2
-rw-r--r--src/mess/machine/ay3600.c4
-rw-r--r--src/mess/machine/c1581.c4
-rw-r--r--src/mess/machine/c64_fcc.c58
-rw-r--r--src/mess/machine/c64_magic_voice.c4
-rw-r--r--src/mess/machine/c64_magic_voice.h2
-rw-r--r--src/mess/machine/c64_sw8k.c2
-rw-r--r--src/mess/machine/c64_sw8k.h2
-rw-r--r--src/mess/machine/c64_swiftlink.c6
-rw-r--r--src/mess/machine/c64_turbo232.c6
-rw-r--r--src/mess/machine/c64_vizastar.c2
-rw-r--r--src/mess/machine/comxpl80.h2
-rw-r--r--src/mess/machine/ecb_grip.c2
-rw-r--r--src/mess/machine/gb.c3
-rw-r--r--src/mess/machine/gb_mbc.c57
-rw-r--r--src/mess/machine/gb_mbc.h36
-rw-r--r--src/mess/machine/gb_rom.c11
-rw-r--r--src/mess/machine/gb_rom.h28
-rw-r--r--src/mess/machine/gb_slot.c113
-rw-r--r--src/mess/machine/gb_slot.h18
-rw-r--r--src/mess/machine/isa_gus.c8
-rw-r--r--src/mess/machine/isa_sblaster.c29
-rw-r--r--src/mess/machine/kb_msnat.h2
-rw-r--r--src/mess/machine/lisa.c2
-rw-r--r--src/mess/machine/mac.c2
-rw-r--r--src/mess/machine/macadb.c2
-rw-r--r--src/mess/machine/md_eeprom.c71
-rw-r--r--src/mess/machine/md_eeprom.h30
-rw-r--r--src/mess/machine/md_jcart.c31
-rw-r--r--src/mess/machine/md_jcart.h10
-rw-r--r--src/mess/machine/md_rom.c118
-rw-r--r--src/mess/machine/md_rom.h136
-rw-r--r--src/mess/machine/md_sk.c17
-rw-r--r--src/mess/machine/md_sk.h6
-rw-r--r--src/mess/machine/md_slot.c289
-rw-r--r--src/mess/machine/md_slot.h32
-rw-r--r--src/mess/machine/md_stm95.c13
-rw-r--r--src/mess/machine/md_stm95.h16
-rw-r--r--src/mess/machine/megasvp.c24
-rw-r--r--src/mess/machine/nes_mmc.c2
-rw-r--r--src/mess/machine/psxanalog.c1
-rw-r--r--src/mess/machine/psxanalog.h2
-rw-r--r--src/mess/machine/psxcard.c1
-rw-r--r--src/mess/machine/psxcard.h2
-rw-r--r--src/mess/machine/psxcd.c6
-rw-r--r--src/mess/machine/psxcport.h4
-rw-r--r--src/mess/machine/southbridge.c2
-rw-r--r--src/mess/machine/superpet.c30
-rw-r--r--src/mess/machine/terminal.c8
-rw-r--r--src/mess/machine/trs80m2kb.c262
-rw-r--r--src/mess/machine/vcs_joybooster.h2
-rw-r--r--src/mess/machine/vcs_keypad.h2
-rw-r--r--src/mess/mess.lst2
-rw-r--r--src/mess/mess.mak4
-rw-r--r--src/mess/video/bbc.c32
-rw-r--r--src/mess/video/gb.c1
-rw-r--r--src/mess/video/gime.c2
-rw-r--r--src/mess/video/isa_cga.c2
-rw-r--r--src/mess/video/isa_mda.c4
-rw-r--r--src/mess/video/mbc55x.c2
-rw-r--r--src/mess/video/mc6847.c18
-rw-r--r--src/mess/video/mos6566.c8
-rw-r--r--src/mess/video/pc_aga.c2
-rw-r--r--src/mess/video/pc_t1t.c4
-rw-r--r--src/osd/portmedia/pmmidi.c62
-rw-r--r--src/osd/sdl/debugqt.c8
-rw-r--r--src/osd/sdl/debugqtmainwindow.c532
-rw-r--r--src/osd/sdl/debugqtview.c386
-rw-r--r--src/osd/sdl/debugqtview.h38
-rw-r--r--src/osd/sdl/debugqtwindow.h4
-rw-r--r--src/osd/sdl/sdlsocket.c10
-rw-r--r--src/osd/windows/d3dcomm.h4
-rw-r--r--src/osd/windows/d3dhlsl.c954
-rw-r--r--src/osd/windows/d3dhlsl.h42
-rw-r--r--src/osd/windows/drawd3d.c262
-rw-r--r--src/osd/windows/drawd3d.h14
-rw-r--r--src/osd/windows/winmain.c18
-rw-r--r--src/osd/windows/winmain.h10
-rw-r--r--src/osd/windows/winsocket.c12
-rw-r--r--src/version.c2
397 files changed, 18886 insertions, 18978 deletions
diff --git a/hash/c64_cart.xml b/hash/c64_cart.xml
index 1b85b7e0399..735024a47b8 100644
--- a/hash/c64_cart.xml
+++ b/hash/c64_cart.xml
@@ -6579,12 +6579,12 @@
<year>1984</year>
<publisher>Viza</publisher>
<sharedfeat name="compatibility" value="NTSC,PAL"/>
-
+
<part name="cart" interface="c64_cart">
<feature name="slot" value="vizastar" />
<feature name="game" value="1" />
<feature name="exrom" value="0" />
-
+
<dataarea name="roml" size="0x1000">
<rom name="v" size="0x1000" crc="d17689a0" sha1="4df4d254d7fae916c473d421515b2b74d77e9fd9" offset="0" />
</dataarea>
@@ -6598,7 +6598,7 @@
</software>
<!-- Dummy cartridge entries to allow requirement mappings from c64_flop -->
-
+
<software name="cpm">
<description>CP/M</description>
<year>1982</year>
diff --git a/hash/c64_cass.xml b/hash/c64_cass.xml
index 342be28a392..4b145e1e0a7 100644
--- a/hash/c64_cass.xml
+++ b/hash/c64_cass.xml
@@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!-- based on c64tapes.org dumps -->
<softwarelist name="c64_cass" description="Commodore 64 cassettes">
-
+
<software name="jacknip2">
<description>Jack the Nipper II: In Coconut Capers</description>
<year>1987</year>
diff --git a/hash/c64_flop.xml b/hash/c64_flop.xml
index 970e958452e..a8a3b8810c2 100644
--- a/hash/c64_flop.xml
+++ b/hash/c64_flop.xml
@@ -701,8 +701,8 @@
to look at track 26 sector 2. There you find the beginning of a hidden
file. If you load this file into the correct start address ($C000) and
execute it from BASIC (SYS 49152) you get a rather cool surprise ;)
-
- The copy protection (looking for 22,READ ERROR,18,18) has been removed by
+
+ The copy protection (looking for 22,READ ERROR,18,18) has been removed by
changing the two bytes in block 26,1 at offsets $23 and $2A from $AC to $AE
-->
<part name="flop1" interface="floppy_5_25">
diff --git a/hash/cbm2_flop.xml b/hash/cbm2_flop.xml
index 826504eae69..e1d5079b39c 100644
--- a/hash/cbm2_flop.xml
+++ b/hash/cbm2_flop.xml
@@ -1256,7 +1256,7 @@
</dataarea>
</part>
</software>
-
+
<software name="cbug88">
<description>CBUG #88</description>
<year>1983</year>
diff --git a/hash/cpc_flop.xml b/hash/cpc_flop.xml
index 021cc5ded25..0469c641b01 100644
--- a/hash/cpc_flop.xml
+++ b/hash/cpc_flop.xml
@@ -270231,23 +270231,23 @@ stick to CPC-Power disks, when available)
<!-- Robot-PD New Range -->
-<!-- Text files
-
-
-00001 The Big Book Of Mischief
- Anarchic text files detailing how to blow things up. 18
-03000 Comms text files.
-03001 Comms text files.
-04000 Programming tutorials
- Learn how to program your computer in BASIC or machine code.
-04400* CPC Guide
- Kevin Thacker's excellent and comprehensive guide to the CPC's internals.
-04401 CRTC Source Code Collection
- Z80 source for programs like PowerSpell, BTL intros, and Pro-Ext - plus a selection of subroutines usable in your own programs.
-06100 Tips for adventure games.
-06101 Tips for adventure games.
-09100 Nutworks
- A comic look at computers from the early days of the Internet.
+<!-- Text files
+
+
+00001 The Big Book Of Mischief
+ Anarchic text files detailing how to blow things up. 18
+03000 Comms text files.
+03001 Comms text files.
+04000 Programming tutorials
+ Learn how to program your computer in BASIC or machine code.
+04400* CPC Guide
+ Kevin Thacker's excellent and comprehensive guide to the CPC's internals.
+04401 CRTC Source Code Collection
+ Z80 source for programs like PowerSpell, BTL intros, and Pro-Ext - plus a selection of subroutines usable in your own programs.
+06100 Tips for adventure games.
+06101 Tips for adventure games.
+09100 Nutworks
+ A comic look at computers from the early days of the Internet.
-->
@@ -270401,29 +270401,29 @@ AMSDOS software, 1
These discs are intended for Amstrad CPC and Plus computers.
-10000* The Plus Disc
- Make the most of your CPC Plus's capabilities! Sampled sound demos, colour editors, an art package (Rob Buckley's acclaimed Smart Plus),
- games (previews of Futur's new Stormlord Plus), and other software utilising the extra features of the CPC Plus computers. Includes Logon
- System's fantastic B-ASIC, so you can access 4 096 colours and hardware sprites from your own programs. XC 128: Plus only
-10001* Sean McManus Collection
- Collected works from an AA Type-Ins regular. Includes the classic Easi-Sprite Driver, the frenetic arcade romp Further Adventures of Fred,
- demo programs for ComSoft's Basic Idea, and many more.
-10002 Robot PD Catalogue
- The double-sided disc catalogue published by Robot PD around 1992. Although the PD discs are no longer available in that form, it provides
- succinct descriptions of many PD programs.
-10100 Educational programs for all ages.
-10200 Artificial intelligence programs, including several variants on the classic "Eliza" conversation program. Single-sided collection
-10300 Music by British coder CRTC (aka Richard Fairhurst).
-10301 The Jean-Michel Jarre music collection and Acid Music Box 2.
-10302 Music Pack 4 (hacked tunes), plus Epsilon's new Anthology.
-10304 Advanced Music System files by Rob Baxter.
-10305 Advanced Music System files by Rob Baxter.
-10306 Advanced Music System files by Rob Baxter.
-10307 Advanced Music System files by Rob Baxter.
-10308 Advanced Music System files by Rob Baxter.
-10311 Soundhakker hacked music, complete with player program.
-10314 Music to be loaded into Soundtrakker (see disc 11001).
-10315 Music to be loaded into Soundtrakker (see disc 11001).
+10000* The Plus Disc
+ Make the most of your CPC Plus's capabilities! Sampled sound demos, colour editors, an art package (Rob Buckley's acclaimed Smart Plus),
+ games (previews of Futur's new Stormlord Plus), and other software utilising the extra features of the CPC Plus computers. Includes Logon
+ System's fantastic B-ASIC, so you can access 4 096 colours and hardware sprites from your own programs. XC 128: Plus only
+10001* Sean McManus Collection
+ Collected works from an AA Type-Ins regular. Includes the classic Easi-Sprite Driver, the frenetic arcade romp Further Adventures of Fred,
+ demo programs for ComSoft's Basic Idea, and many more.
+10002 Robot PD Catalogue
+ The double-sided disc catalogue published by Robot PD around 1992. Although the PD discs are no longer available in that form, it provides
+ succinct descriptions of many PD programs.
+10100 Educational programs for all ages.
+10200 Artificial intelligence programs, including several variants on the classic "Eliza" conversation program. Single-sided collection
+10300 Music by British coder CRTC (aka Richard Fairhurst).
+10301 The Jean-Michel Jarre music collection and Acid Music Box 2.
+10302 Music Pack 4 (hacked tunes), plus Epsilon's new Anthology.
+10304 Advanced Music System files by Rob Baxter.
+10305 Advanced Music System files by Rob Baxter.
+10306 Advanced Music System files by Rob Baxter.
+10307 Advanced Music System files by Rob Baxter.
+10308 Advanced Music System files by Rob Baxter.
+10311 Soundhakker hacked music, complete with player program.
+10314 Music to be loaded into Soundtrakker (see disc 11001).
+10315 Music to be loaded into Soundtrakker (see disc 11001).
-->
@@ -270735,27 +270735,27 @@ AMSDOS software, 2
These discs are intended for Amstrad CPC and Plus computers.
-11000 Protracker
- An impressive music editor which uses real samples - it can even import .MOD files from the Amiga and PC.128
-11001* Soundtrackers
- Four great music editors: Digitrakker (like Protracker, but better), Advanced Music Creator, BooTracker, and Soundtrakker 128,
- complete with example files. All you need to create your own music. XC 128
-11100 Rob Buckley's friendly Domain Word word-processor, Robot Software's flexible PowerSpell spell-checker, plus I-Spell and an
- elementary WP for Citizen printers. 128
-11200 Databases.
-11201 Databases.
-11300 Spreadsheets, including PD Planner.
-11400 PowerPage 64
- The original version of the CPC desktop publisher. Lets you edit a fully graphical A5 page on even an unexpanded 464.
-11401* PowerPage 128
- Robot Software's famous desktop publishing system, PowerPage 128, is all you need to create A5 posters and publications on your CPC.
- Includes extremely advanced text layout features, fast drawing functions, and a host of sensible design touches (such as automatic file compression)
- to make DTP as easy as possible. As used by Artificial Intelligence, CPC SouthWest, Potential Difference and countless other fanzines. 128
-11402 Alan Scully's simple Pagemaker DTP program.
-11500* The Artist
- The best-selling disc gets a new look with version two of the classic art package, GPaint - packed with features, and the only serious competitor to
- Advanced Art Studio. Exclusively translated by Robot Software. Also includes PC-CPC graphic transfer programs, Smart II, and several other drawing
- programs.
+11000 Protracker
+ An impressive music editor which uses real samples - it can even import .MOD files from the Amiga and PC.128
+11001* Soundtrackers
+ Four great music editors: Digitrakker (like Protracker, but better), Advanced Music Creator, BooTracker, and Soundtrakker 128,
+ complete with example files. All you need to create your own music. XC 128
+11100 Rob Buckley's friendly Domain Word word-processor, Robot Software's flexible PowerSpell spell-checker, plus I-Spell and an
+ elementary WP for Citizen printers. 128
+11200 Databases.
+11201 Databases.
+11300 Spreadsheets, including PD Planner.
+11400 PowerPage 64
+ The original version of the CPC desktop publisher. Lets you edit a fully graphical A5 page on even an unexpanded 464.
+11401* PowerPage 128
+ Robot Software's famous desktop publishing system, PowerPage 128, is all you need to create A5 posters and publications on your CPC.
+ Includes extremely advanced text layout features, fast drawing functions, and a host of sensible design touches (such as automatic file compression)
+ to make DTP as easy as possible. As used by Artificial Intelligence, CPC SouthWest, Potential Difference and countless other fanzines. 128
+11402 Alan Scully's simple Pagemaker DTP program.
+11500* The Artist
+ The best-selling disc gets a new look with version two of the classic art package, GPaint - packed with features, and the only serious competitor to
+ Advanced Art Studio. Exclusively translated by Robot Software. Also includes PC-CPC graphic transfer programs, Smart II, and several other drawing
+ programs.
-->
@@ -270891,33 +270891,33 @@ AMSDOS software, 3
These discs are intended for Amstrad CPC and Plus computers.
-12000 Hacking Disc
- Utilities to help the budding game hacker, including the JW Brown suite, plus several excellent tape-disc transfer programs by Rob Scott.
-12002* The Sentinel Collection
- Two ex-commercial programs from Sentinel Software. TUSS is a hacker's dream, enabling you to easily rip graphics out of other people's
- programs, while Pro-Ext brings clip art and headline font capabilities to Protext.XC 128
-12003 Print Enhancer
- Geoff Short's package replaces your printer's default font with a set of well-drawn high resolution alternatives.
-12004 Screen dumps and other printer utilities.
-12005 The Connectivity Disc
- DOS-to-CPC copying utilities, file translators (such as Sanko, GIF Converter and IFF Converter), and the comp.sys.amstrad.8bit FAQ combine
- to make a useful collection for those wishing to ship files between their CPC and PC, Mac or Amiga. Some programs 128
-12100 The International Collection
- Disc utilities from all over Europe - copiers, formatters, rescue programs, you name it. Includes classics such as DMon and Crime.
-12200 RSX-Lib
- A programming utility from Smogware Systems. XC
-12201* Demo creators
- Write a flashy demo without having to learn machine code! The NWC Demomaker, Vorspann utility, and Tom & Jerry's acclaimed Ghoul's Writer
- are on the disc. Perfect for sending interesting disc letters to your CPC contacts.
-12202 "Toolkit" programs to add extra commands to BASIC.
-12300 File crunchers - instant disc space savings. Includes Cheese, Columbia, SQ23 screen squeezer, and Turbo Imploder.
-12400 A bizarre Unix-like operating system.
-12401 Front-ends
- David Wild's Desk, Worktop, and the PD version of DES (plus utilities) - graphical front-ends to make your CPC even more user-friendly.
- Just like using Windows or a Macintosh.
-13100* Terminal programs for modem users, including ANSI-Term, the fast and friendly Australian utility which has become a standard for CPC communicators.
-14400 Z80 Pack
- A collection of assemblers, monitors and disassemblers for the novice or experienced coder. Includes the powerful LARA monitor.
+12000 Hacking Disc
+ Utilities to help the budding game hacker, including the JW Brown suite, plus several excellent tape-disc transfer programs by Rob Scott.
+12002* The Sentinel Collection
+ Two ex-commercial programs from Sentinel Software. TUSS is a hacker's dream, enabling you to easily rip graphics out of other people's
+ programs, while Pro-Ext brings clip art and headline font capabilities to Protext.XC 128
+12003 Print Enhancer
+ Geoff Short's package replaces your printer's default font with a set of well-drawn high resolution alternatives.
+12004 Screen dumps and other printer utilities.
+12005 The Connectivity Disc
+ DOS-to-CPC copying utilities, file translators (such as Sanko, GIF Converter and IFF Converter), and the comp.sys.amstrad.8bit FAQ combine
+ to make a useful collection for those wishing to ship files between their CPC and PC, Mac or Amiga. Some programs 128
+12100 The International Collection
+ Disc utilities from all over Europe - copiers, formatters, rescue programs, you name it. Includes classics such as DMon and Crime.
+12200 RSX-Lib
+ A programming utility from Smogware Systems. XC
+12201* Demo creators
+ Write a flashy demo without having to learn machine code! The NWC Demomaker, Vorspann utility, and Tom & Jerry's acclaimed Ghoul's Writer
+ are on the disc. Perfect for sending interesting disc letters to your CPC contacts.
+12202 "Toolkit" programs to add extra commands to BASIC.
+12300 File crunchers - instant disc space savings. Includes Cheese, Columbia, SQ23 screen squeezer, and Turbo Imploder.
+12400 A bizarre Unix-like operating system.
+12401 Front-ends
+ David Wild's Desk, Worktop, and the PD version of DES (plus utilities) - graphical front-ends to make your CPC even more user-friendly.
+ Just like using Windows or a Macintosh.
+13100* Terminal programs for modem users, including ANSI-Term, the fast and friendly Australian utility which has become a standard for CPC communicators.
+14400 Z80 Pack
+ A collection of assemblers, monitors and disassemblers for the novice or experienced coder. Includes the powerful LARA monitor.
-->
@@ -271089,40 +271089,40 @@ AMSDOS software, 4
These discs are intended for Amstrad CPC and Plus computers.
-16000 Alan Scully Collection
- Adventure and arcade games by a great PD figure of yesteryear, plus a slightly partial history of his infamous Scull PD library.
-16001 POKEs and cheats for commercial games.
-16100* Eve of Shadows, Rob Buckley's ground-breaking graphical adventure, and Neil Scrimgeour's epic Lost Phirious trilogy. An essential disc
- for adventure enthusiasts. XC
-16101 Simon Avery Collection
- Quilled text adventures by the prolific Devon author, aka Romeo Squirrel. Nothing special, but a good introduction to the genre.
-16103 Edmund Spicer Collection
- A disc of largely unchallenging adventures.
-16104 The mammoth Geno, plus Secrets of Ur, Blue Raider, and other adventures.
-16105 Hitch-Hiker's Guide to Prague
-16106 Hitch-Hiker's Guide to London
- Humorous text adventures by the Electric Monk and Guardian of the Blind. Both discs are required to play the London game.
-16200 Puzzle games galore, including several well-presented mindbenders from Germany's MOPS group.
-16201 Crossword Compiler
- Keith Mortimer's over-rated crossword utility and word games. 128
-16202* Tetris Games
- Variations on a famous theme, from pure Tetris clones like Alinka, Power Tetris, and DrehDriss, to related concepts such as Couleurs.
- The most addictive disc in the library?
-16203* Joe Moulding's unmissable Last Of The Smileys arcade puzzle, plus Cool World and a selection of French games to exercise your grey matter.
-16300 Demos of Continental arcade smashes Zap't'Balls and Xyphoes Phantasy.
-16301* The Radical Collection volume 1
- Rob Buckley's stunning platform game Fluff (6128 Plus only), the enjoyable Ball Bearing, and a demo of shootemup Masters of Space. XC
-16302* Arcade classics including Invaders, Croco Magneto, Dripzone (a Breakout clone), and Pacman-with-a-difference Cyberboy.
-16303* The Vortex Collection
- Four fantastic games from Vortex Software, ranging from the zapping action of HATE to the fiendish puzzles of Deflektor, plus colourful PD games
- from the assembler of David Hall. XC 128
-16304 Demos of Incentive Software's Total Eclipse (3D arcade adventure) and Megablasters, plus Space Froggy and Wipeout, two great arcade games
- written to demonstrate game creation systems.
-16307 Street Warriors
- An ambitious Street Fighter clone by Marcus Kasumba. Its BASIC shell makes it sluggish at times, but the gameplay is still there.
-16308* The Radical Collection volume 2
- Two more ex-commercial games from the Radical Software vaults: this time futuristic racing sim Star Driver and the excellent Light-Force clone
- Masters of Space, by Stephen Lond Davis. XC
+16000 Alan Scully Collection
+ Adventure and arcade games by a great PD figure of yesteryear, plus a slightly partial history of his infamous Scull PD library.
+16001 POKEs and cheats for commercial games.
+16100* Eve of Shadows, Rob Buckley's ground-breaking graphical adventure, and Neil Scrimgeour's epic Lost Phirious trilogy. An essential disc
+ for adventure enthusiasts. XC
+16101 Simon Avery Collection
+ Quilled text adventures by the prolific Devon author, aka Romeo Squirrel. Nothing special, but a good introduction to the genre.
+16103 Edmund Spicer Collection
+ A disc of largely unchallenging adventures.
+16104 The mammoth Geno, plus Secrets of Ur, Blue Raider, and other adventures.
+16105 Hitch-Hiker's Guide to Prague
+16106 Hitch-Hiker's Guide to London
+ Humorous text adventures by the Electric Monk and Guardian of the Blind. Both discs are required to play the London game.
+16200 Puzzle games galore, including several well-presented mindbenders from Germany's MOPS group.
+16201 Crossword Compiler
+ Keith Mortimer's over-rated crossword utility and word games. 128
+16202* Tetris Games
+ Variations on a famous theme, from pure Tetris clones like Alinka, Power Tetris, and DrehDriss, to related concepts such as Couleurs.
+ The most addictive disc in the library?
+16203* Joe Moulding's unmissable Last Of The Smileys arcade puzzle, plus Cool World and a selection of French games to exercise your grey matter.
+16300 Demos of Continental arcade smashes Zap't'Balls and Xyphoes Phantasy.
+16301* The Radical Collection volume 1
+ Rob Buckley's stunning platform game Fluff (6128 Plus only), the enjoyable Ball Bearing, and a demo of shootemup Masters of Space. XC
+16302* Arcade classics including Invaders, Croco Magneto, Dripzone (a Breakout clone), and Pacman-with-a-difference Cyberboy.
+16303* The Vortex Collection
+ Four fantastic games from Vortex Software, ranging from the zapping action of HATE to the fiendish puzzles of Deflektor, plus colourful PD games
+ from the assembler of David Hall. XC 128
+16304 Demos of Incentive Software's Total Eclipse (3D arcade adventure) and Megablasters, plus Space Froggy and Wipeout, two great arcade games
+ written to demonstrate game creation systems.
+16307 Street Warriors
+ An ambitious Street Fighter clone by Marcus Kasumba. Its BASIC shell makes it sluggish at times, but the gameplay is still there.
+16308* The Radical Collection volume 2
+ Two more ex-commercial games from the Radical Software vaults: this time futuristic racing sim Star Driver and the excellent Light-Force clone
+ Masters of Space, by Stephen Lond Davis. XC
-->
@@ -271404,47 +271404,47 @@ AMSDOS software, 5
These discs are intended for Amstrad CPC and Plus computers.
-17000 An introduction to overscan graphics (full screen, no border).
-17100* Amiga Graphics
- David Carter's famous compilation of pictures transferred from the Amiga. A slideshow of simply stunning quality.
-17101* Amiga Graphics 2
- Volume two of the classic slideshow.
-17102 Digital Demo 7
-17103 Peter Campbell Collection
- Showcasing the bizarre sense of humour of the Comsoft boss and self-proclaimed babe magnet.
-17104 Rock Show
- Pictures of '80s rock stars, digitised by Nullos Cracker.
-17105 David Carter's Turtlemuck slideshow (the Teenage Mutant Hero Turtles as you've never seen them before) and scenes from Gone With The Wind.
-17106 Miscellaneous slideshows (or 'Diashows') from Germany.
-17107 Pictures produced by members of the British CPC club WACCI.
-17108 More WACCI pictures.
-17109 A high-quality slideshow of overscan (full screen) pictures.
-17110 Stills from the Victor and Hugo cartoon and from the Schwarzenegger film Terminator II.
-17111* Beautiful hand-drawn overscan pictures by MaDe of Rebels (regularly voted "best artist" in European fanzines' readers' polls), plus subtly drawn
- MODE 1 artwork which was used to demonstrate the CPC in its early days!
-17112 Conspiracy Plus Slideshow
- Digitised pictures in 16 shades of grey, for viewing on CPC Plus machines. Plus only
-17114 Digitised and hand-drawn pictures by David Carter.
-17115 Digitised and hand-drawn pictures by David Carter and Mark Chater.
-17200 Clip art in .CUT format for Stop Press or PowerPage.
-17201 Clip art in .CUT format for Stop Press or PowerPage.
-17202 Clip art in .CUT format for Stop Press or PowerPage.
-17203 Clip art in .CUT format for Stop Press or PowerPage.
-17204 Clip art in .CUT format for Stop Press or PowerPage.
-17205 Clip art in .CUT format for Stop Press or PowerPage. Includes a themed set of transport pictures.
-17206 PowerPage clip art from the CPC SouthWest user group.
-17207 Clip art for Stop Press and MicroDesign.
-17208 Clip art in .CUT format for Stop Press or PowerPage.
-17209 Clip art in .CUT format for Stop Press or PowerPage.
-17210 Clip art in .CUT format for Stop Press or PowerPage.
-17211 Clip art in .CUT format for Stop Press or PowerPage.
-17212 Clip art in .CUT format for Stop Press or PowerPage.
-17213 Clip art in .CUT format for Stop Press or PowerPage.
-17300 Femmes Entre Elles and Lovepack, two explicit slideshows for over-18s only. 18
-17301 Two more collections of explicit pictures: Electric Show and Nice Picture Show II (green-screen only). 18
-17401 Short graphical demos, including a well-drawn collection of flags by Stuart Gascoigne and Andre Coutanche.
-17500* A superbly varied pack of fonts, in PowerPage, MicroDesign, Advanced Art Studio, and 8x8 screen formats. Whether you're laying out a fanzine
- or coding a scrolltext, there's sure to be a font for you here.
+17000 An introduction to overscan graphics (full screen, no border).
+17100* Amiga Graphics
+ David Carter's famous compilation of pictures transferred from the Amiga. A slideshow of simply stunning quality.
+17101* Amiga Graphics 2
+ Volume two of the classic slideshow.
+17102 Digital Demo 7
+17103 Peter Campbell Collection
+ Showcasing the bizarre sense of humour of the Comsoft boss and self-proclaimed babe magnet.
+17104 Rock Show
+ Pictures of '80s rock stars, digitised by Nullos Cracker.
+17105 David Carter's Turtlemuck slideshow (the Teenage Mutant Hero Turtles as you've never seen them before) and scenes from Gone With The Wind.
+17106 Miscellaneous slideshows (or 'Diashows') from Germany.
+17107 Pictures produced by members of the British CPC club WACCI.
+17108 More WACCI pictures.
+17109 A high-quality slideshow of overscan (full screen) pictures.
+17110 Stills from the Victor and Hugo cartoon and from the Schwarzenegger film Terminator II.
+17111* Beautiful hand-drawn overscan pictures by MaDe of Rebels (regularly voted "best artist" in European fanzines' readers' polls), plus subtly drawn
+ MODE 1 artwork which was used to demonstrate the CPC in its early days!
+17112 Conspiracy Plus Slideshow
+ Digitised pictures in 16 shades of grey, for viewing on CPC Plus machines. Plus only
+17114 Digitised and hand-drawn pictures by David Carter.
+17115 Digitised and hand-drawn pictures by David Carter and Mark Chater.
+17200 Clip art in .CUT format for Stop Press or PowerPage.
+17201 Clip art in .CUT format for Stop Press or PowerPage.
+17202 Clip art in .CUT format for Stop Press or PowerPage.
+17203 Clip art in .CUT format for Stop Press or PowerPage.
+17204 Clip art in .CUT format for Stop Press or PowerPage.
+17205 Clip art in .CUT format for Stop Press or PowerPage. Includes a themed set of transport pictures.
+17206 PowerPage clip art from the CPC SouthWest user group.
+17207 Clip art for Stop Press and MicroDesign.
+17208 Clip art in .CUT format for Stop Press or PowerPage.
+17209 Clip art in .CUT format for Stop Press or PowerPage.
+17210 Clip art in .CUT format for Stop Press or PowerPage.
+17211 Clip art in .CUT format for Stop Press or PowerPage.
+17212 Clip art in .CUT format for Stop Press or PowerPage.
+17213 Clip art in .CUT format for Stop Press or PowerPage.
+17300 Femmes Entre Elles and Lovepack, two explicit slideshows for over-18s only. 18
+17301 Two more collections of explicit pictures: Electric Show and Nice Picture Show II (green-screen only). 18
+17401 Short graphical demos, including a well-drawn collection of flags by Stuart Gascoigne and Andre Coutanche.
+17500* A superbly varied pack of fonts, in PowerPage, MicroDesign, Advanced Art Studio, and 8x8 screen formats. Whether you're laying out a fanzine
+ or coding a scrolltext, there's sure to be a font for you here.
-->
@@ -272050,53 +272050,53 @@ AMSDOS software, 6
These discs are intended for Amstrad CPC and Plus computers.
-18100 Simple demos by LDC, aka David Long of Demon PD.
-18101 British demos.
-18102 CRTC Collection
- Demos by CRTC (Richard Fairhurst), including 1992's Inspiration demo and the MacBugs meeting demo.
-18103 British demos.
-18104 Demoware
- Excruciating demo by the Bitmap Vandals, plus previews of the follow-up, recently unearthed by Matthew Breckon.
-18105* Four excellent British demos: Wulf 3 (with truly beautiful graphics), Conspiracy TV, Atlantic Coding's Chill, and Frequency's Soundtrakker demo.
-18106 Martin Young's impressive 4-bit samples, and Palm Coding's superlative Blip! Music compilation.
-18108* Audio Illusions
- A huge collection of music penned by Frequency of Systeme D, complete with interesting graphic effects and quality pictures by the Doodler.
-18200 Terrific Demo
- A classic megademo by Weee! and Thriller (Cadjo Clan), with some of the best music around. 128
-18201* The Demo
- As definitive as the title suggests, this is Logon System's meisterwerk. Seven parts forming the best examples of demo coding you'll ever find,
- and a revolution on its release in 1992. If you only ever see one demo, make sure it's this one. 128
-18202 Logon System Collection 1
- Early demos by the founders of CPC demo coding, including the Malibu/Logon collaboration, Amazing Demo.
-18203* Logon System Collection 2
- The final releases by Logon System, including Overflow's breath-taking third demo, F**ing Exams, and the Euromeeting Demo. 128
-18204 Paradise Demo
- An accomplished, if predictable, megademo from Paradox.
-18205 French Classics 1
- A selection of the best releases from the heyday of French demo coding. Includes work by Fefesse and the Malibu Crackers.
-18206 French Classics 2
- More examples of Gallic genius, including Malibu's head-spinning farewell, the Intox demo.
-18207 Continental Classics
- A snapshot of the demo scene in Germany and elsewhere, c. 1990. Best of all is KKB's imaginative First Demo.
-18212 Voyage 1993
- Formulaic megademo by Prodatron and Alien of BENG!. 128
-18213 Prodatron Megademo
-18214 NWC Collection
- The innovative work of Danish demo coder Peter Sorensen, whose most recent release is entitled Unique (18218).
-18215* Ultimate Megademo
- Thought by many to rival The Demo, Face Hugger's imaginative demo introduced a new talent to the CPC coding world and started a
- craze for 3D effects. Also includes Elmar Krieger's spectacular Chain Demo. 128
-18216* Divine Megademo disc 1
-18217* Divine Megademo disc 2
- The enormous new demo by three of Europe's premier coding talents - Antoine Pitrou, Mage, and Odiesoft. Not as slick as you might hope,
- but contains some of the best CPC coding ever. Both discs needed. 128
-18218 Unique
- The long-awaited megademo by NWC of Unix, with new effects including an enormous sine scroll and starfield loader. 128
-18300 Pleasure Zone
- A slideshow of sexually explicit animations. 18
-18303 More animations of a dubious nature, including the infamous Germaine demos and the Fire Engine animation. 18
-18400 Animations of bouncing balls, violin players, Dr Spock, and many more.
-18401 Vector animations produced by David Carter with Discovery's Animator package. Very smooth. 128
+18100 Simple demos by LDC, aka David Long of Demon PD.
+18101 British demos.
+18102 CRTC Collection
+ Demos by CRTC (Richard Fairhurst), including 1992's Inspiration demo and the MacBugs meeting demo.
+18103 British demos.
+18104 Demoware
+ Excruciating demo by the Bitmap Vandals, plus previews of the follow-up, recently unearthed by Matthew Breckon.
+18105* Four excellent British demos: Wulf 3 (with truly beautiful graphics), Conspiracy TV, Atlantic Coding's Chill, and Frequency's Soundtrakker demo.
+18106 Martin Young's impressive 4-bit samples, and Palm Coding's superlative Blip! Music compilation.
+18108* Audio Illusions
+ A huge collection of music penned by Frequency of Systeme D, complete with interesting graphic effects and quality pictures by the Doodler.
+18200 Terrific Demo
+ A classic megademo by Weee! and Thriller (Cadjo Clan), with some of the best music around. 128
+18201* The Demo
+ As definitive as the title suggests, this is Logon System's meisterwerk. Seven parts forming the best examples of demo coding you'll ever find,
+ and a revolution on its release in 1992. If you only ever see one demo, make sure it's this one. 128
+18202 Logon System Collection 1
+ Early demos by the founders of CPC demo coding, including the Malibu/Logon collaboration, Amazing Demo.
+18203* Logon System Collection 2
+ The final releases by Logon System, including Overflow's breath-taking third demo, F**ing Exams, and the Euromeeting Demo. 128
+18204 Paradise Demo
+ An accomplished, if predictable, megademo from Paradox.
+18205 French Classics 1
+ A selection of the best releases from the heyday of French demo coding. Includes work by Fefesse and the Malibu Crackers.
+18206 French Classics 2
+ More examples of Gallic genius, including Malibu's head-spinning farewell, the Intox demo.
+18207 Continental Classics
+ A snapshot of the demo scene in Germany and elsewhere, c. 1990. Best of all is KKB's imaginative First Demo.
+18212 Voyage 1993
+ Formulaic megademo by Prodatron and Alien of BENG!. 128
+18213 Prodatron Megademo
+18214 NWC Collection
+ The innovative work of Danish demo coder Peter Sorensen, whose most recent release is entitled Unique (18218).
+18215* Ultimate Megademo
+ Thought by many to rival The Demo, Face Hugger's imaginative demo introduced a new talent to the CPC coding world and started a
+ craze for 3D effects. Also includes Elmar Krieger's spectacular Chain Demo. 128
+18216* Divine Megademo disc 1
+18217* Divine Megademo disc 2
+ The enormous new demo by three of Europe's premier coding talents - Antoine Pitrou, Mage, and Odiesoft. Not as slick as you might hope,
+ but contains some of the best CPC coding ever. Both discs needed. 128
+18218 Unique
+ The long-awaited megademo by NWC of Unix, with new effects including an enormous sine scroll and starfield loader. 128
+18300 Pleasure Zone
+ A slideshow of sexually explicit animations. 18
+18303 More animations of a dubious nature, including the infamous Germaine demos and the Fire Engine animation. 18
+18400 Animations of bouncing balls, violin players, Dr Spock, and many more.
+18401 Vector animations produced by David Carter with Discovery's Animator package. Very smooth. 128
-->
@@ -272594,84 +272594,84 @@ AMSDOS software, 7
These discs are intended for Amstrad CPC and Plus computers.
-19100 S.E.X. 1
- English-language fanzine from Greece. 18
-19101 C.E.F. 4/Fanzam 5
- Unpretentious and little-known British disc fanzine.
-19102 Donut Mag 1, Otto 1
- The first issues of Tom Dean's lively disczine and Nicholas Campbell's more po-faced production.
-19103 S.E.X. 2
- The latest issue of the Greek fanzine.
-19104 Amstrad User 6
-19105 Amstrad User 7
- Fanzine from Ireland. 128
-19106 Donut Mag 2
- Controversial but very enjoyable second issue of the Donut System fanzine.
-19107 Otto 4
-19108 Otto 3
- Nicholas Campbell's fanzine, now incorporating Jonty Jones's After Dark.
-19109 Ovation 2, CPC Telegramm 17
- Worthy but dull Greek fanzine coupled with the latest issue of Germany's excellent dual-language newszine.
-19110 Otto 5
- The final issue.
-19111* BTL 1
-19112* BTL 2
-19113* BTL 3
-19114* BTL 4
- The inimitable British disc fanzine, produced by leading lights of the STS and Systeme D groups, and with more libel than
- you would have thought could be packed into one 360k disc.
-19121 EuroWACCI 1
- A selection of classic articles from the WACCI paperzine in a freely distributable form for the European market.
-19122 EuroWACCI 2
-19125 ATM 1
-19126 ATM 2
-19127* ATM 3
- Amstrad Technical Mag: an intriguing mixture of gossip and hardware tips from Roy Everett and Nigel Callcutt.
-19128* Digital Press 3 disc 1
-19129* Digital Press 3 disc 2
- Informative and expansive French-German co-production. 128
-19130 Impact 3, Otto 2
- Fanzines by Tom Dean and Nicholas Campbell.
-19131 Another World 1 & 2
-19132 Another World 3 & 4
- Richard Avery's simple disc fanzine.>
-19200 Disc Full 5
-19201 Disc Full 6
-19202 Disc Full 7
- Beautifully produced French-language disczine. Compatible with 6128 only.
-19203 Ams'Dem 1
-19204 Ams'Dem 3
-19205 Z80 4
-19206 Micro-Mag 5
-19207 The Addams Fanz 1
-19208 Disc Full 8
-19209 Crack'n'Rom 7
-19210 Micro-Mag/Press Fire 7
-19211 Disc Full 10
- French-language disczines.
-19212 Dracula Fanz 4
-19213 Demoniak 4
-19214 Dracula Fanz 5 disc 1
-19215 Dracula Fanz 5 disc 2
- Some of the latest French-language disczines, with presentation more akin to that of a demo. A visual feast even for those who don't speak the language.
-19300 Amsmail 1
- A vintage German-language disczine.
-19301 CPC Fastloader 4, Bad Mag 1
- An issue of Prodatron's German-language fanzine plus the debut of notorious bilingual fanzine Bad Mag.
-19302 CPC Fastloader 6
-19303 Xtreme 1
- The final issue of Prodatron's original disczine and the first fruit of his collaboration with Hypnomega. Mostly German-language.
-19304 CPC Challenge 12
-19305 Bad Mag 2
- The second and final issue of the virulent Bad Mag.
-19306* Xtreme 2
- Probably the best of the "big name" fanzines, with flawless presentation and well-informed (bilingual) content.
-19307 Xtreme 3, CPC Challenge 17
-19309 Disc Mac Challenge 19/20
- Hypnomega's popular document of German scene culture.
-19310 Tribal Mag 7 disc 1
-19311 Tribal Mag 7 disc 2, Disc Mac Challenge 21
- The most recent issue of Juggler's mammoth German/English fanzine: varied and interesting content. Also the latest CPC Challenge.
+19100 S.E.X. 1
+ English-language fanzine from Greece. 18
+19101 C.E.F. 4/Fanzam 5
+ Unpretentious and little-known British disc fanzine.
+19102 Donut Mag 1, Otto 1
+ The first issues of Tom Dean's lively disczine and Nicholas Campbell's more po-faced production.
+19103 S.E.X. 2
+ The latest issue of the Greek fanzine.
+19104 Amstrad User 6
+19105 Amstrad User 7
+ Fanzine from Ireland. 128
+19106 Donut Mag 2
+ Controversial but very enjoyable second issue of the Donut System fanzine.
+19107 Otto 4
+19108 Otto 3
+ Nicholas Campbell's fanzine, now incorporating Jonty Jones's After Dark.
+19109 Ovation 2, CPC Telegramm 17
+ Worthy but dull Greek fanzine coupled with the latest issue of Germany's excellent dual-language newszine.
+19110 Otto 5
+ The final issue.
+19111* BTL 1
+19112* BTL 2
+19113* BTL 3
+19114* BTL 4
+ The inimitable British disc fanzine, produced by leading lights of the STS and Systeme D groups, and with more libel than
+ you would have thought could be packed into one 360k disc.
+19121 EuroWACCI 1
+ A selection of classic articles from the WACCI paperzine in a freely distributable form for the European market.
+19122 EuroWACCI 2
+19125 ATM 1
+19126 ATM 2
+19127* ATM 3
+ Amstrad Technical Mag: an intriguing mixture of gossip and hardware tips from Roy Everett and Nigel Callcutt.
+19128* Digital Press 3 disc 1
+19129* Digital Press 3 disc 2
+ Informative and expansive French-German co-production. 128
+19130 Impact 3, Otto 2
+ Fanzines by Tom Dean and Nicholas Campbell.
+19131 Another World 1 & 2
+19132 Another World 3 & 4
+ Richard Avery's simple disc fanzine.>
+19200 Disc Full 5
+19201 Disc Full 6
+19202 Disc Full 7
+ Beautifully produced French-language disczine. Compatible with 6128 only.
+19203 Ams'Dem 1
+19204 Ams'Dem 3
+19205 Z80 4
+19206 Micro-Mag 5
+19207 The Addams Fanz 1
+19208 Disc Full 8
+19209 Crack'n'Rom 7
+19210 Micro-Mag/Press Fire 7
+19211 Disc Full 10
+ French-language disczines.
+19212 Dracula Fanz 4
+19213 Demoniak 4
+19214 Dracula Fanz 5 disc 1
+19215 Dracula Fanz 5 disc 2
+ Some of the latest French-language disczines, with presentation more akin to that of a demo. A visual feast even for those who don't speak the language.
+19300 Amsmail 1
+ A vintage German-language disczine.
+19301 CPC Fastloader 4, Bad Mag 1
+ An issue of Prodatron's German-language fanzine plus the debut of notorious bilingual fanzine Bad Mag.
+19302 CPC Fastloader 6
+19303 Xtreme 1
+ The final issue of Prodatron's original disczine and the first fruit of his collaboration with Hypnomega. Mostly German-language.
+19304 CPC Challenge 12
+19305 Bad Mag 2
+ The second and final issue of the virulent Bad Mag.
+19306* Xtreme 2
+ Probably the best of the "big name" fanzines, with flawless presentation and well-informed (bilingual) content.
+19307 Xtreme 3, CPC Challenge 17
+19309 Disc Mac Challenge 19/20
+ Hypnomega's popular document of German scene culture.
+19310 Tribal Mag 7 disc 1
+19311 Tribal Mag 7 disc 2, Disc Mac Challenge 21
+ The most recent issue of Juggler's mammoth German/English fanzine: varied and interesting content. Also the latest CPC Challenge.
-->
@@ -273610,44 +273610,44 @@ These discs are intended for Amstrad CPC and Plus computers.
CP/M software
-These discs are compatible with both Amstrad CPCs and PCWs. CP/M 2.2 (as supplied with 64k CPCs) may not be capable of running certain programs:
+These discs are compatible with both Amstrad CPCs and PCWs. CP/M 2.2 (as supplied with 64k CPCs) may not be capable of running certain programs:
a few are CPC-only or, rarely, CP/M 2.2-only.
-21100* VDE
- The commercial quality word-processor (file length up to 60k) in both its original and revised "ZDE" forms, plus a PD spell-checker.
-21101 Express Writer and Bradford, two word-processors with high quality printout options.
-21400* Printmaster
- Ingenious poster and card design package, with an integral font and clip art library. Easy to use and capable of superb results.
-21600 GigaCAD
- Graphical CAD system from Germany. CP/M 2.2 only
-22000 Miscellaneous utilities including date-stamping, print processing, and easy menu creation.
-22100* Filesweep utilities
- A set of intuitive file utilities, including the classic Newsweep (NSWP) and enhancements such as Maxisweep. If you can use ParaDOS, you can use these.
-22101 Sector editors and extended format utilities, including PC and PCW disc readers. Not PCW
-22300 File crunchers, providing a highly space-effective way of archiving your spare files.
-22301 File crunchers.
-22400 Two front-ends: the excellent GUI of Geno (CP/M 2.2 only) and the Unix-like command line of SUnix.
-23100 Comms terminal MEX, with several pre-defined system configurations.
-23101* ZMP, the only CPC/PCW terminal to support the efficient ZModem file transfer protocol, plus the customisable QTerm terminal program.
-23102 The SmartModem terminal and CRR (CP/M Read and Reply off-line reader).
-23103 Kermit and UUCP file transfer, plus the CPC-Modem terminal program.
-23205 XRAS bulletin-board system.
-24100* ZBASIC and MBASIC
- Two alternative versions of BASIC. ZBASIC is a cut-down version of a fast commercial BASIC compiler, while Microsoft's classic MBASIC
- is the program with which the manufacturers of Windows first made their name.
-24200 XLisp
-24300 JRT Pascal disc 1
-24301 JRT Pascal disc 2
- An interpreted version of the language with extensive documentation.
-24302 Small C
-24303 Small C source
- Interprets a subset of the system programming language.
-24400 Z80dis
- Flexible Z80 disassembler.
-24401* Dazzlestar, arguably the most fully-featured disassembler available for Z80 systems, plus powerful assembler ZSM.
-26100* The original adventure game (later dubbed "Classic Adventure"), a puzzler of renowned intensity, plus more recent adventures by Amstrad programmers.
-26101 A selection of adventures including Ken Bond's famously tricky Base and Island.
-26300 Arcade games including Tetris clone Quatris, Pacman, Tornado, and Maze Chase. Some not CP/M 2.2: Tornado CP/M 2.2 only
+21100* VDE
+ The commercial quality word-processor (file length up to 60k) in both its original and revised "ZDE" forms, plus a PD spell-checker.
+21101 Express Writer and Bradford, two word-processors with high quality printout options.
+21400* Printmaster
+ Ingenious poster and card design package, with an integral font and clip art library. Easy to use and capable of superb results.
+21600 GigaCAD
+ Graphical CAD system from Germany. CP/M 2.2 only
+22000 Miscellaneous utilities including date-stamping, print processing, and easy menu creation.
+22100* Filesweep utilities
+ A set of intuitive file utilities, including the classic Newsweep (NSWP) and enhancements such as Maxisweep. If you can use ParaDOS, you can use these.
+22101 Sector editors and extended format utilities, including PC and PCW disc readers. Not PCW
+22300 File crunchers, providing a highly space-effective way of archiving your spare files.
+22301 File crunchers.
+22400 Two front-ends: the excellent GUI of Geno (CP/M 2.2 only) and the Unix-like command line of SUnix.
+23100 Comms terminal MEX, with several pre-defined system configurations.
+23101* ZMP, the only CPC/PCW terminal to support the efficient ZModem file transfer protocol, plus the customisable QTerm terminal program.
+23102 The SmartModem terminal and CRR (CP/M Read and Reply off-line reader).
+23103 Kermit and UUCP file transfer, plus the CPC-Modem terminal program.
+23205 XRAS bulletin-board system.
+24100* ZBASIC and MBASIC
+ Two alternative versions of BASIC. ZBASIC is a cut-down version of a fast commercial BASIC compiler, while Microsoft's classic MBASIC
+ is the program with which the manufacturers of Windows first made their name.
+24200 XLisp
+24300 JRT Pascal disc 1
+24301 JRT Pascal disc 2
+ An interpreted version of the language with extensive documentation.
+24302 Small C
+24303 Small C source
+ Interprets a subset of the system programming language.
+24400 Z80dis
+ Flexible Z80 disassembler.
+24401* Dazzlestar, arguably the most fully-featured disassembler available for Z80 systems, plus powerful assembler ZSM.
+26100* The original adventure game (later dubbed "Classic Adventure"), a puzzler of renowned intensity, plus more recent adventures by Amstrad programmers.
+26101 A selection of adventures including Ken Bond's famously tricky Base and Island.
+26300 Arcade games including Tetris clone Quatris, Pacman, Tornado, and Maze Chase. Some not CP/M 2.2: Tornado CP/M 2.2 only
-->
diff --git a/hash/g7400.xml b/hash/g7400.xml
index bc375d2872a..6021f588148 100644
--- a/hash/g7400.xml
+++ b/hash/g7400.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
-<!--
+<!--
Some of these were normal Videopac G7000 carts with enhanced graphics for the Videopac Plus G7400 and the unreleased
Odyssey³ Command Center
-->
diff --git a/hash/gameboy.xml b/hash/gameboy.xml
index ec549d00b5e..26297677b68 100644
--- a/hash/gameboy.xml
+++ b/hash/gameboy.xml
@@ -24480,7 +24480,7 @@
<dataarea name="rom" size="245760">
<rom name="x (usa) (proto).bin" size="245760" crc="cd555712" sha1="b1c5b60b82aaa0b824f7bf67fc8f111377ccfb6a" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- unconfirmed size -->
</dataarea>
</part>
</software>
diff --git a/hash/gbcolor.xml b/hash/gbcolor.xml
index 59865fe7e0b..225e5a68bf0 100644
--- a/hash/gbcolor.xml
+++ b/hash/gbcolor.xml
@@ -162,7 +162,7 @@ Undumped Pirates:
<dataarea name="rom" size="524288">
<rom name="3-d ultra pinball - thrillride (usa).bin" size="524288" crc="1766e558" sha1="2b704415803cf6172a1d07912b1155c51576a511" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192">
+ <dataarea name="nvram" size="8192">
</dataarea>
</part>
</software>
@@ -11870,7 +11870,7 @@ Undumped Pirates:
<dataarea name="rom" size="4194304">
<rom name="love hina pocket (japan).bin" size="4194304" crc="1c877abd" sha1="912c09f99bdae6e7fcd62d0c6f727e5fff93db70" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192">
+ <dataarea name="nvram" size="8192">
</dataarea>
</part>
</software>
@@ -18682,7 +18682,7 @@ Undumped Pirates:
<dataarea name="rom" size="131072">
<rom name="roadsters '98 (usa) (proto).bin" size="131072" crc="fe2995a1" sha1="30a28cd5e020e98b0e7016b5ccda5bc0972a0ac9" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
@@ -25007,7 +25007,7 @@ Undumped Pirates:
<dataarea name="rom" size="1048576">
<rom name="harry potter (unl).bin" size="1048576" crc="5bebe333" sha1="dfd0693315da697240b510776695162880a75a82" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
@@ -25872,7 +25872,7 @@ Undumped Pirates:
<dataarea name="rom" size="4194304">
<rom name="shu ma bao long 9 - bao long pian 2002 (unlicensed, chinese) [raw dump].bin" size="4194304" crc="76ab97f6" sha1="c3d9e17c9b01959b64a7c662479c755f757f58c9" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
@@ -26091,7 +26091,7 @@ Undumped Pirates:
<dataarea name="rom" size="1048576">
<rom name="mark of the wolves (chi).bin" size="1048576" crc="219decf9" sha1="27cffc9c0224a7bb2e0751073a27670017211c87" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
@@ -26125,7 +26125,7 @@ Undumped Pirates:
<dataarea name="rom" size="1048576">
<rom name="e fighter hot (chi).bin" size="1048576" crc="8fa2539d" sha1="93a3716f8f41b89bee795af6e8f6fdddfcd8acf1" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
@@ -26161,7 +26161,7 @@ Undumped Pirates:
<dataarea name="rom" size="1048576">
<rom name="harry potter 3 (chi).bin" size="1048576" crc="4ea2c869" sha1="739c0e5dc0efd4ddb912236a6f630c3d6987d064" offset="000000" />
</dataarea>
- <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
+ <dataarea name="nvram" size="8192"> <!-- Unconfirmed size -->
</dataarea>
</part>
</software>
diff --git a/hash/ibm5170.xml b/hash/ibm5170.xml
index 41f98a911dc..2253da2f4d5 100644
--- a/hash/ibm5170.xml
+++ b/hash/ibm5170.xml
@@ -835,20 +835,20 @@ Missing files come here
</dataarea>
</part>
</software>
-
+
<!--
- This is not a real dump, it was constructed using WinImage for use with MESS
- Also circulating with CRC fb591430
- <software name="ptombs">
- <description>Pharaoh's Tomb (Shareware)</description>
- <year>1994</year>
- <publisher>Apogee</publisher>
- <part name="flop1" interface="floppy_5_25">
- <dataarea name="flop" size="368640">
- <rom name="pharaoh's tomb (shareware).img" size="368640" crc="b1f4dbf6" sha1="d3c4ae0b6ac6b5233c4970805c8e4f2b89f9c57a" offset="0" />
- </dataarea>
- </part>
- </software>
+ This is not a real dump, it was constructed using WinImage for use with MESS
+ Also circulating with CRC fb591430
+ <software name="ptombs">
+ <description>Pharaoh's Tomb (Shareware)</description>
+ <year>1994</year>
+ <publisher>Apogee</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="368640">
+ <rom name="pharaoh's tomb (shareware).img" size="368640" crc="b1f4dbf6" sha1="d3c4ae0b6ac6b5233c4970805c8e4f2b89f9c57a" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<software name="raptor12">
diff --git a/hash/interact.xml b/hash/interact.xml
index 9b0a24883bc..5a6bfab25ac 100644
--- a/hash/interact.xml
+++ b/hash/interact.xml
@@ -11,7 +11,7 @@ Games:
Goofy Golf*
Combat!*
Superbowl
-Football* (QQA-308)
+Football* (QQA-308)
Astro-Logic*
Hammurabi*
Life*
@@ -22,19 +22,19 @@ Thinkcards*
Computer Quiz
Data Sets for use with Computer Quiz:
-TV Trivia The World of Books
-Famous People World Geography
-Sports Scene American History
-Music Masters Complete the Quote
-Current Exents Total Trivia
-Popular Pairs Pseudonyms
-The Sciences Famous Firsts
-Who Said It? All About Animals
-The Movies The Human Body
+TV Trivia The World of Books
+Famous People World Geography
+Sports Scene American History
+Music Masters Complete the Quote
+Current Exents Total Trivia
+Popular Pairs Pseudonyms
+The Sciences Famous Firsts
+Who Said It? All About Animals
+The Movies The Human Body
Programming Aids:
EZEDIT Program Editor*
-Microsoft 8K Fast Graphics BASIC* (replaces Level II BASIC)
+Microsoft 8K Fast Graphics BASIC* (replaces Level II BASIC)
Micro Video Dissassembler
Micro Video Monitor
Bombs Away! Programming Tutorial
@@ -89,7 +89,7 @@ Alignment Tape (Micro Video)
</dataarea>
</part>
</software>
-
+
<!-- Tape 102 -->
<software name="startrck">
<description>Star Track</description>
@@ -101,7 +101,7 @@ Alignment Tape (Micro Video)
</dataarea>
</part>
</software>
-
+
<!-- Tape 103 -->
<software name="concentr">
<description>Concentration</description>
diff --git a/hash/m20.xml b/hash/m20.xml
index bec234a4c8b..e3d53792677 100644
--- a/hash/m20.xml
+++ b/hash/m20.xml
@@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="m20" description="Olivetti M20 floppies">
-<!--
+<!--
General usage: if not bootable disk, check content with VL, then launch the .cmd files
@@ -131,8 +131,8 @@
</software>
<software name="msdos20" supported="no">
- <!-- "This is a standard 360k MS-DOS disk image, 512 bytes/sector, 9 sectors, 2 sides, 40 tracks." -->
- <!-- MESS complains about "Unable to identify the image format" -->
+ <!-- "This is a standard 360k MS-DOS disk image, 512 bytes/sector, 9 sectors, 2 sides, 40 tracks." -->
+ <!-- MESS complains about "Unable to identify the image format" -->
<description>MS-DOS 2.0</description>
<year>19??</year>
<publisher>Microsoft</publisher>
diff --git a/hash/microvision.xml b/hash/microvision.xml
index 8489bb633a2..7be348899fa 100644
--- a/hash/microvision.xml
+++ b/hash/microvision.xml
@@ -14,37 +14,37 @@ The "rc" feature is used to indicate the source of the clock signal
-->
<!--
- <software name="alienrdr">
- <description>Alien Raiders</description>
- <year>1981</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="yes" />
- <feature name="rc" value="100pf/23.2K" />
- <dataarea name="rom" size="2048">
- <rom name="m34009-n1" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="alienrdr">
+ <description>Alien Raiders</description>
+ <year>1981</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="yes" />
+ <feature name="rc" value="100pf/23.2K" />
+ <dataarea name="rom" size="2048">
+ <rom name="m34009-n1" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<!--
- <software name="Baseball">
- <description>Baseball</description>
- <year>1980</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="yes" />
- <feature name="rc" value="100pf/23.2K" />
- <dataarea name="rom" size="2048">
- <rom name="mp3479-n1nll_4063" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="Baseball">
+ <description>Baseball</description>
+ <year>1980</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="yes" />
+ <feature name="rc" value="100pf/23.2K" />
+ <dataarea name="rom" size="2048">
+ <rom name="mp3479-n1nll_4063" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<software name="blckbstr">
@@ -63,20 +63,20 @@ The "rc" feature is used to indicate the source of the clock signal
</software>
<!--
- <software name="bowling">
- <description>Bowling</description>
- <year>1979</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <!- - also seen with 4952 REV-A - ->
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="no" />
- <feature name="rc" value="100pf/23.2K" />
- <dataarea name="rom" size="2048">
- <rom name="mp3475nll_4972" size="2048" crc="" sha1="" offset="0" />
-
- </software>
+ <software name="bowling">
+ <description>Bowling</description>
+ <year>1979</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <!- - also seen with 4952 REV-A - ->
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="no" />
+ <feature name="rc" value="100pf/23.2K" />
+ <dataarea name="rom" size="2048">
+ <rom name="mp3475nll_4972" size="2048" crc="" sha1="" offset="0" />
+
+ </software>
-->
<software name="connect4">
@@ -95,20 +95,20 @@ The "rc" feature is used to indicate the source of the clock signal
</software>
<!--
- <software name="cosmichu">
- <description>Cosmic hunter</description>
- <year>1981</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="no" />
- <feature name="rc" value="100pf/23.2K" />
- <dataarea name="rom" size="2048">
- <rom name="m34017-n1" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="cosmichu">
+ <description>Cosmic hunter</description>
+ <year>1981</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="no" />
+ <feature name="rc" value="100pf/23.2K" />
+ <dataarea name="rom" size="2048">
+ <rom name="m34017-n1" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<software name="mindbstr">
@@ -142,54 +142,54 @@ The "rc" feature is used to indicate the source of the clock signal
</software>
<!--
- <software name="pinball">
- <description>Pinball</description>
- <year>1980</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="yes" />
- <feature name="rc" value="100pf/21.0K" />
- <dataarea name="rom" size="2048">
- <rom name="mp3455nll_4974" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="pinball">
+ <description>Pinball</description>
+ <year>1980</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="yes" />
+ <feature name="rc" value="100pf/21.0K" />
+ <dataarea name="rom" size="2048">
+ <rom name="mp3455nll_4974" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<!--
- <software name="seaduel">
- <description>Sea Duel</description>
- <year>1980</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="4952-79 REV-B" />
- <feature name="paddle" value="no" />
- <feature name="rc" value="100pf/39.4K" />
- <dataarea name="rom" size="2048">
- <rom name="mp3496-n1_4064" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="seaduel">
+ <description>Sea Duel</description>
+ <year>1980</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="4952-79 REV-B" />
+ <feature name="paddle" value="no" />
+ <feature name="rc" value="100pf/39.4K" />
+ <dataarea name="rom" size="2048">
+ <rom name="mp3496-n1_4064" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<!--
- <software name="sprblock">
- <description>Super Blockbuster</description>
- <year>1982</year>
- <publisher>Milton Bradley</publisher>
-
- <part name="cart" interface="microvision_cart">
- <feature name="pcb" value="7924952D02" />
- <feature name="paddle" value="yes" />
- <feature name="rc" value="100pf/23.2K" />
- <dataarea name="rom" size="2048">
- <rom name="m34047-n2ll_4241" size="2048" crc="" sha1="" offset="0" />
- </dataarea>
- </part>
- </software>
+ <software name="sprblock">
+ <description>Super Blockbuster</description>
+ <year>1982</year>
+ <publisher>Milton Bradley</publisher>
+
+ <part name="cart" interface="microvision_cart">
+ <feature name="pcb" value="7924952D02" />
+ <feature name="paddle" value="yes" />
+ <feature name="rc" value="100pf/23.2K" />
+ <dataarea name="rom" size="2048">
+ <rom name="m34047-n2ll_4241" size="2048" crc="" sha1="" offset="0" />
+ </dataarea>
+ </part>
+ </software>
-->
<software name="vegasslt">
diff --git a/hash/mo5_cart.xml b/hash/mo5_cart.xml
index 1a2795f888c..45e9e6f642e 100644
--- a/hash/mo5_cart.xml
+++ b/hash/mo5_cart.xml
@@ -14,7 +14,7 @@
</dataarea>
</part>
</software>
-
+
<software name="6809assa" cloneof="6809ass">
<description>6809 Assembler v1.0 (Alt)</description>
<year>1984</year>
@@ -26,7 +26,7 @@
</dataarea>
</part>
</software>
-
+
<software name="6809mac" cloneof="6809ass">
<description>6809 Macro Assembler v3.6 (Hacked)</description>
<year>1984</year>
@@ -38,7 +38,7 @@
</dataarea>
</part>
</software>
-
+
<software name="agenda">
<description>Agenda</description>
<year>1984</year>
@@ -50,7 +50,7 @@
</dataarea>
</part>
</software>
-
+
<software name="airbus">
<description>Airbus</description>
<year>1984</year>
@@ -62,7 +62,7 @@
</dataarea>
</part>
</software>
-
+
<software name="airbusa" cloneof="airbus">
<description>Airbus (Alt)</description>
<year>1984</year>
@@ -74,7 +74,7 @@
</dataarea>
</part>
</software>
-
+
<software name="blitz">
<description>Blitz!</description>
<year>1984</year>
@@ -86,7 +86,7 @@
</dataarea>
</part>
</software>
-
+
<software name="blitza" cloneof="blitz">
<description>Blitz! (Alt)</description>
<year>1984</year>
@@ -98,7 +98,7 @@
</dataarea>
</part>
</software>
-
+
<software name="carnet">
<description>Carnet d'Adresses</description>
<year>1984</year>
@@ -110,7 +110,7 @@
</dataarea>
</part>
</software>
-
+
<software name="clrcalc">
<description>Colorcalc</description>
<year>1985</year>
@@ -122,7 +122,7 @@
</dataarea>
</part>
</software>
-
+
<software name="clrpaint">
<description>Colopaint</description>
<year>1985</year>
@@ -134,7 +134,7 @@
</dataarea>
</part>
</software>
-
+
<software name="controle">
<description>Controle Aerien</description>
<year>1984</year>
@@ -146,7 +146,7 @@
</dataarea>
</part>
</software>
-
+
<software name="desass">
<description>Desassembleur Dump &amp; Patch v4.0 (PD)</description>
<year>1986</year>
@@ -158,7 +158,7 @@
</dataarea>
</part>
</software>
-
+
<software name="enigma">
<description>Enimatika</description>
<year>1984</year>
@@ -170,8 +170,8 @@
</dataarea>
</part>
</software>
-
-
+
+
<software name="gemini">
<description>Gemini</description>
<year>1982</year>
@@ -182,8 +182,8 @@
<rom name="gemini (1982)(vifi-nathan)(fr).m5" size="16384" crc="cc30bba2" sha1="67be5d9736c50d6c8c4237eec483b0fef1574a4a" offset="0x0000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="glouton">
<description>Blitz (Fra)</description>
<year>1986</year>
@@ -195,7 +195,7 @@
</dataarea>
</part>
</software>
-
+
<software name="gloutona" cloneof="glouton">
<description>Blitz (Fra, Alt)</description>
<year>1986</year>
@@ -207,7 +207,7 @@
</dataarea>
</part>
</software>
-
+
<software name="grille">
<description>La Grille</description>
<year>1985</year>
@@ -219,7 +219,7 @@
</dataarea>
</part>
</software>
-
+
<software name="jane">
<description>Jane</description>
<year>1985</year>
@@ -231,7 +231,7 @@
</dataarea>
</part>
</software>
-
+
<software name="logo">
<description>LOGO v1.0</description>
<year>1984</year>
@@ -243,7 +243,7 @@
</dataarea>
</part>
</software>
-
+
<software name="logoa" cloneof="logo">
<description>LOGO v1.0 (Alt)</description>
<year>1984</year>
@@ -255,7 +255,7 @@
</dataarea>
</part>
</software>
-
+
<software name="lsegedl">
<description>LSEG-EDL v3.2</description>
<year>1985</year>
@@ -267,7 +267,7 @@
</dataarea>
</part>
</software>
-
+
<software name="maison">
<description>La Maison d'Amedee</description>
<year>1984</year>
@@ -279,7 +279,7 @@
</dataarea>
</part>
</software>
-
+
<software name="melimemo">
<description>Melimemot</description>
<year>1983</year>
@@ -291,7 +291,7 @@
</dataarea>
</part>
</software>
-
+
<software name="melodia">
<description>Melodia</description>
<year>1982</year>
@@ -327,7 +327,7 @@
</dataarea>
</part>
</software>
-
+
<software name="peche">
<description>La Peche a la Barre</description>
<year>1984</year>
@@ -339,7 +339,7 @@
</dataarea>
</part>
</software>
-
+
<software name="pictor">
<description>Pictor</description>
<year>1983</year>
@@ -351,7 +351,7 @@
</dataarea>
</part>
</software>
-
+
<software name="trap">
<description>Trap</description>
<year>1982</year>
@@ -375,6 +375,6 @@
</dataarea>
</part>
</software>
-
+
</softwarelist>
diff --git a/hash/msx1_cart.xml b/hash/msx1_cart.xml
index 0d19cbd2125..3d47e8dc6e3 100644
--- a/hash/msx1_cart.xml
+++ b/hash/msx1_cart.xml
@@ -990,7 +990,7 @@ kept for now until finding out what those bytes affect...
<description>Super Laydock (The Links Network Version) (Jpn)</description>
<year>1987</year>
<publisher>T&amp;E Soft</publisher>
- <info name="alt_title" value="スーパーレイドック(THE LINKS NETWORK VERSION)" />
+ <info name="alt_title" value="スーパーレイドック(THE LINKS NETWORK VERSION)" />
<part name="cart" interface="msx_cart">
<feature name="pcb" value="TA6228" />
<feature name="mapper" value="M60002-0125SP" />
@@ -1021,7 +1021,7 @@ kept for now until finding out what those bytes affect...
<description>Synth Saurus (Jpn)</description>
<year></year>
<publisher>Bit²</publisher>
- <info name="alt_title" value="シンセサウルス" />
+ <info name="alt_title" value="シンセサウルス" />
<part name="cart" interface="msx_cart">
<feature name="pcb" value="TAS-1M-008S" />
<feature name="mapper" value="LZ93A13" />
@@ -1037,7 +1037,7 @@ kept for now until finding out what those bytes affect...
<description>Synth Saurus (Alt) (Jpn)</description>
<year></year>
<publisher>Bit²</publisher>
- <info name="alt_title" value="シンセサウルス" />
+ <info name="alt_title" value="シンセサウルス" />
<part name="cart" interface="msx_cart">
<feature name="pcb" value="TAS-2M008-E2M" />
<feature name="mapper" value="LZ93A13" />
@@ -10911,7 +10911,7 @@ kept for now until finding out what those bytes affect...
<description>Scarlet 7 - The Mightiest Women (Jpn)</description>
<year>1986</year>
<publisher>Toshiba EMI</publisher>
- <info name="serial" value=" PS-2019G" />
+ <info name="serial" value=" PS-2019G" />
<info name="alt_title" value="スカーレット7" />
<part name="cart" interface="msx_cart">
<feature name="mapper" value="NOMAPPER" />
@@ -11841,7 +11841,7 @@ kept for now until finding out what those bytes affect...
</part>
</software>
-<!-- mmm... this is interesting: Hi-Com released this as L3W for MSX, then re-release it as Super Columns for the SMS...
+<!-- mmm... this is interesting: Hi-Com released this as L3W for MSX, then re-release it as Super Columns for the SMS...
is this the same (working on both) or is it a later backport to MSX?? -->
<software name="supercol">
<description>Super Columns (Kor)</description>
@@ -12433,7 +12433,7 @@ kept for now until finding out what those bytes affect...
<description>Thunderbolt (Jpn)</description>
<year>1986</year>
<publisher>Pixel</publisher>
- <info name="serial" value=" AR-8601" />
+ <info name="serial" value=" AR-8601" />
<info name="alt_title" value="サンダーボルト" />
<part name="cart" interface="msx_cart">
<feature name="mapper" value="NOMAPPER" />
@@ -12447,7 +12447,7 @@ kept for now until finding out what those bytes affect...
<description>Thunderbolt (Jpn, Alt)</description>
<year>1986</year>
<publisher>Pixel</publisher>
- <info name="serial" value=" AR-8601" />
+ <info name="serial" value=" AR-8601" />
<info name="alt_title" value="サンダーボルト" />
<part name="cart" interface="msx_cart">
<feature name="mapper" value="NOMAPPER" />
@@ -12461,7 +12461,7 @@ kept for now until finding out what those bytes affect...
<description>Thunderbolt (Jpn, Alt 2)</description>
<year>1986</year>
<publisher>Pixel</publisher>
- <info name="serial" value=" AR-8601" />
+ <info name="serial" value=" AR-8601" />
<info name="alt_title" value="サンダーボルト" />
<part name="cart" interface="msx_cart">
<feature name="mapper" value="NOMAPPER" />
@@ -14427,7 +14427,7 @@ kept for now until finding out what those bytes affect...
</software>
<software name="123a">
- <description>123 (Arab, Alt)</description>
+ <description>123 (Arab, Alt)</description>
<year>1986</year>
<publisher>Al Alamiah</publisher>
<info name="serial" value="P081" />
diff --git a/hash/mz800_cass.xml b/hash/mz800_cass.xml
index d94440ce243..64f23dc34d5 100644
--- a/hash/mz800_cass.xml
+++ b/hash/mz800_cass.xml
@@ -3,12 +3,12 @@
<softwarelist name="mz800_cass" description="Sharp MZ-800 cassettes">
<!--
List
-MZ-821 Sharp BASIC Trainer (Germany): Account Manager: Einnahmen/Ausgaben-Verwaltung
- Address Data: Adressverwaltung
- Advoka: )
- Head Driver: } Spiele
- Egg: )
-
+MZ-821 Sharp BASIC Trainer (Germany): Account Manager: Einnahmen/Ausgaben-Verwaltung
+ Address Data: Adressverwaltung
+ Advoka: )
+ Head Driver: } Spiele
+ Egg: )
+
-->
<!-- Games -->
@@ -86,11 +86,11 @@ MZ-821 Sharp BASIC Trainer (Germany): Account Manager: Einnahmen/Ausgaben-Verwal
<year>19??</year>
<publisher>BBG Software</publisher>
<!--
- <part name="cass1" interface="mz_cass">
- <dataarea name="cass" size="16585">
- <rom name="mucmac700.mzf" size="16585" crc="5a49451e" sha1="b4d3f23019df154e1a7bf5db32388dabf5f43c66" offset="0" />
- </dataarea>
- </part>
+ <part name="cass1" interface="mz_cass">
+ <dataarea name="cass" size="16585">
+ <rom name="mucmac700.mzf" size="16585" crc="5a49451e" sha1="b4d3f23019df154e1a7bf5db32388dabf5f43c66" offset="0" />
+ </dataarea>
+ </part>
-->
<part name="cass1" interface="mz_cass">
<dataarea name="cass" size="20896">
diff --git a/hash/odyssey2.xml b/hash/odyssey2.xml
index dadfcd4cf1d..23f0284ae5c 100644
--- a/hash/odyssey2.xml
+++ b/hash/odyssey2.xml
@@ -11,15 +11,15 @@ add serials for radiola and jopacs
-->
<!--
Undumped:
-Spaans (spanish to dutch translator)
+Spaans (spanish to dutch translator)
Crazy Horses
Protos:
-Bastion youtube.com/watch?v=cFdmgs4r7_E
-Catburglar youtube.com/watch?v=DDsWDFxy0oE
-Himalaya youtube.com/watch?v=L_lvOs6EnA4
-SoundTool youtube.com/watch?v=7JYn6B7rxqw
-Terrahawks youtube.com/watch?v=AXk7OSA6NGg
+Bastion youtube.com/watch?v=cFdmgs4r7_E
+Catburglar youtube.com/watch?v=DDsWDFxy0oE
+Himalaya youtube.com/watch?v=L_lvOs6EnA4
+SoundTool youtube.com/watch?v=7JYn6B7rxqw
+Terrahawks youtube.com/watch?v=AXk7OSA6NGg
http://www.ozyr.com/rene/PICS/protos.jpg
Sherlock Holmes Consulting Detective (programmed by Ed Friedman, most likely dumped and hoarded)
@@ -375,7 +375,7 @@ adds 16K RAM and 18K ROM, that plugs into the G7000 needs to be dumped.
<info name="serial" value="AA9427 (USA) ~ 29 (Euro)"/>
<part name="cart" interface="odyssey_cart">
<dataarea name="rom" size="2048">
- <rom name="blockout - breakdown (usa, europe).bin" size="2048" crc="fb83171e" sha1="00ef6868724a6826534da620f34dad207fcb3800" offset="0" />
+ <rom name="blockout - breakdown (usa, europe).bin" size="2048" crc="fb83171e" sha1="00ef6868724a6826534da620f34dad207fcb3800" offset="0" />
</dataarea>
</part>
</software>
diff --git a/hash/pet_cass.xml b/hash/pet_cass.xml
index ba465dba297..223307ca56d 100644
--- a/hash/pet_cass.xml
+++ b/hash/pet_cass.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="pet_cass" description="Commodore PET cassettes">
-
+
<software name="lunarlnd">
<description>Lunar Lander</description>
<year>197?</year>
diff --git a/hash/plus4_cass.xml b/hash/plus4_cass.xml
index 66142be4d2f..aa348972e46 100644
--- a/hash/plus4_cass.xml
+++ b/hash/plus4_cass.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="plus4_cass" description="Commodore Plus/4 / C16 / C116 cassettes">
-
+
<software name="dtstar">
<description>Daley Thompson's Star Events</description>
<year>1985</year>
diff --git a/hash/psx.xml b/hash/psx.xml
index f54e8067f84..a2ea0cc72d8 100644
--- a/hash/psx.xml
+++ b/hash/psx.xml
@@ -686,13075 +686,13075 @@ A few comments on these:
</software>
-
- <!-- Images below are 'low-grade' ie not dumped to any specific standard, or verified to be of any specific quality, they could have bad gaps or audio tracks etc. -->
- <!-- They should be replaced with better quality images once said images are available (and verified to be the same versions) -->
-
- <!-- JAPAN sets -->
-
- <software name="007tomor" supported="no">
- <description>007 - Tomorrow Never Dies (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02604" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="007 - tomorrow never dies (japan) [slps-02604]" sha1="966f52044cad485c3adab30e27683fc5f2e78c89"/>
- </diskarea>
- </part>
- </software>
-
- <software name="1on1sing" supported="no">
- <description>1-on-1 - Single Basketball (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01706" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="1-on-1 - single basketball (japan) [slps-01706]" sha1="e87d2970e8d294de150333ee92e750f0b3f379e8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="10101wil" supported="no">
- <description>10101 - Will the Starship (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01054" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="10101 - will the starship (japan) [slps-01054]" sha1="aa8abc4feb8a5681119091da60e25fa4a39fbfd5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="19ji03pu" supported="no">
- <description>19 ji 03 pun Ueno Hatsu Yakou Ressha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01865" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="19 ji 03 pun ueno hatsu yakou ressha (japan) [slps-01865]" sha1="7d6446e2dd0338b00692b1f8d173d2afa17a4678"/>
- </diskarea>
- </part>
- </software>
-
- <software name="20seikis" supported="no">
- <description>20 Seiki Striker Retsuden - The 20th Century's Strikers (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02348" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="20 seiki striker retsuden - the 20th century's strikers (japan) [slps-02348]" sha1="155f85591fcc513b87f763cf44707f82b1523413"/>
- </diskarea>
- </part>
- </software>
-
- <software name="70srobot" supported="no">
- <description>70's Robot Anime - Geppy-X - The Super Boosted Armor (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01995, SLPS-01996, SLPS-01997, SLPS-01998" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 1) [slps-01995]" sha1="3ce403180784ea6bf30ef69b2a98a3c736d4f619"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 2) [slps-01996]" sha1="199065798579bbb0293da2dc7af736b7c12785eb"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 3) [slps-01997]" sha1="d752e0886e0ed73158ec0b7b2883e7ffc72270c7"/>
- </diskarea>
- </part>
- <part name="cdrom4" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 4) [slps-01998]" sha1="99aae75d5392ea36ff1789a74a7ed9bc2fdfbe18"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aresshad" supported="no">
- <description>A Ressha de Ikou Z Mezase - Tairiku Oudan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02050" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="a ressha de ikou z mezase - tairiku oudan (japan) [slps-02050]" sha1="7e32607b6d3808ed3082f242ca9658c6d2390646"/>
- </diskarea>
- </part>
- </software>
-
- <software name="a5aressh" supported="no">
- <description>A5 - A Ressha de Ikou 5 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-91124" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="a5 - a ressha de ikou 5 (japan) [slps-91124]" sha1="18e3e66b5737c02ee9b0b3b75cb991e7b5ce0af2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="abeagogo" supported="no">
- <description>Abe a Go Go (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01118" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="abe a go go (japan) [slps-01118]" sha1="e8769e75c151a73ff4b43c6aa00b05663a5a5c77"/>
- </diskarea>
- </part>
- </software>
-
- <software name="acidjapa" supported="no">
- <description>Acid (Japan) (SLPS-02119)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="Acid (Japan) (SLPS-02119" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="acid (japan) (slps-02119)" sha1="7a9be5ec10cd928a5dcad61ba200c8908abc8ba4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aconcagu" supported="no">
- <description>Aconcagua (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10131, SCPS-10132" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aconcagua (japan) (disc 1) [scps-10131]" sha1="04b6f23a8e3731d5326680813f4df4e4685bf294"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aconcagua (japan) (disc 2) [scps-10132]" sha1="fd3aa83644bd035b383e304de5b9810928bb6659"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="actionpu" supported="no">
- <description>Action Puzzle - Prism Land (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02586" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="action puzzle - prism land (japan) [slps-02586]" sha1="ec7faeb4f79bdccb440e1ee04799849250980158"/>
- </diskarea>
- </part>
- </software>
-
- <software name="adlibouj" supported="no">
- <description>Ad Lib Ouji... to Fuyukai na Nakamatachi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03510" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ad lib ouji... to fuyukai na nakamatachi (japan) [slps-03510]" sha1="76c198db22196a82014fd7deea1dc49b5a0a6c14"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="advanrac" supported="no">
- <description>Advan Racing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01689" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="advan racing (japan) [slps-01689]" sha1="ffb12aad0606c6bb52c917ee5f900ffb080379e8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="avg2" supported="no">
- <description>Advanced V.G. 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87226" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="advanced v.g. 2 (japan) [slpm-87226]" sha1="49f78ed7c114f7f460989df3fe35552c332522de"/>
- </diskarea>
- </part>
- </software>
-
- <software name="avg" supported="no">
- <description>Advanced Variable Geo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00208" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="advanced variable geo (japan) [slps-00208]" sha1="bc05188941f552f85c7127be67747584dd14a32a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="afraidge" supported="no">
- <description>Afraid Gear (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00995" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="afraid gear (japan) [slps-00995]" sha1="3dc6aaf200c8499775525cd5526192a92661c1a3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="afraidga" supported="no">
- <description>Afraid Gear Another (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86834" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="afraid gear another (japan) [slpm-86834]" sha1="63de3ea4878b9504126abe5376f5873f826ac22e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="agentarm" supported="no">
- <description>Agent Armstrong (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01073" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="agent armstrong (japan) [slps-01073]" sha1="f3de15194878d54e51f79644e79ebff33e6c5811"/>
- </diskarea>
- </part>
- </software>
-
- <software name="airgrave" supported="no">
- <description>Airgrave (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00559" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="airgrave (japan) [slps-00559]" sha1="6890bed92bd4f199e68611e409e5d0e96ad4ed5f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="airsthej" supported="no">
- <description>Airs, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01916" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="airs, the (japan) [slps-01916]" sha1="cf4d1c53bf785d9e44c3ec18045ae7e37e09d3b8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aitakute" supported="no">
- <description>Aitakute... Your Smiles in My Heart (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86254, SLPM-86255, SLPM-86256, SLPM-86257" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aitakute... your smiles in my heart (japan) (disc 1) [slpm-86254]" sha1="9f71ccf49ca8ffd5389c2668e781ec99a56baf99"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aitakute... your smiles in my heart (japan) (disc 2) [slpm-86255]" sha1="90e54cb6326859f9d9c251ea10dfb01b4a9d3ae2"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aitakute... your smiles in my heart (japan) (disc 3) [slpm-86256]" sha1="085751a79716b3ff04cc9d34fc12e990a7f06645"/>
- </diskarea>
- </part>
- <part name="cdrom4" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aitakute... your smiles in my heart (japan) (disc 4) [slpm-86257]" sha1="55fe21dcf22321acbb7f9fb53b75a54bee5ec367"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aizouban" supported="no">
- <description>Aizouban Houshinengi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86209" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aizouban houshinengi (japan) [slpm-86209]" sha1="2b55f060f67e7e17062f93751379d1a83d285844"/>
- </diskarea>
- </part>
- </software>
-
- <software name="alabamaj" supported="no">
- <description>Alabama (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02961" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alabama (japan) [slps-02961]" sha1="9b930eb42cbd094febb3e3a6ab27f5761f00ce82"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aliceinc" supported="no">
- <description>Alice in Cyberland (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00636" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alice in cyberland (japan) [slps-00636]" sha1="69f365f86e99b6c86069433343ad1c5169ee69ab"/>
- </diskarea>
- </part>
- </software>
-
- <software name="alivejap" supported="no">
- <description>Alive (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01527, SLPS-01528, SLPS-01529" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alive (japan) (disc 1) [slps-01527]" sha1="0118f568691d56e37ca279351b73caab2cc6bc8b"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alive (japan) (disc 2) [slps-01528]" sha1="426d3cebb2af600348c97a511b3e516c34d0cdf0"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alive (japan) (disc 3) [slps-01529]" sha1="24f53f08e4458793c675aec99ac99e03eb282c80"/>
- </diskarea>
- </part>
- </software>
-
- <software name="alundra2" supported="no">
- <description>Alundra 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10115" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="alundra 2 (japan) [scps-10115]" sha1="ce58f2c42c5268d17d7bef57543895c3e1d5a278"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ancientr" supported="no">
- <description>Ancient Roman - Power of Dark Side (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01108, SLPS-01109" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ancient roman - power of dark side (japan) (disc 1) [slps-01108]" sha1="857ba7243e56e76b55532fa27cb96d6abcf3895a"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ancient roman - power of dark side (japan) (disc 2) [slps-01109]" sha1="638fcfdb8818affbe4997d13b0a408d8b7387a18"/>
- </diskarea>
- </part>
- </software>
-
- <software name="angelbla" supported="no">
- <description>Angel Blade - Neo Tokyo Guardians (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00894" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angel blade - neo tokyo guardians (japan) [slps-00894]" sha1="71b446c8422f3c7b7230046d1ee216cb494ba85b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="angelgra" supported="no">
- <description>Angel Graffiti - Anata he no Profile (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00163" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angel graffiti - anata he no profile (japan) [slps-00163]" sha1="60204c7ca4d57492dfbc869dea54e78830919b03"/>
- </diskarea>
- </part>
- </software>
-
- <software name="anglduet" supported="no">
- <description>Angelique Duet (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01337" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angelique duet (japan) [slps-01337]" sha1="f7c6ba898feaae4bd1ac0924cfd67becd622c1a9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="anglspec" supported="no">
- <description>Angelique Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00320" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angelique special (japan) [slps-00320]" sha1="25bad1d2f28e613e7f2374e4b620871945ebf490"/>
- </diskarea>
- </part>
- </software>
-
- <software name="anglspe2" supported="no">
- <description>Angelique Special 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00805" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angelique special 2 (japan) [slps-00805]" sha1="76a0b8b00327f26a9a62553bec5641acf6dd64e1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="angltnr" supported="no">
- <description>Angelique Tenkuu no Requiem (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86165" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="angelique tenkuu no requiem (japan) [slpm-86165]" sha1="cbd6d9d980cb7034a75a09879ad5fe20ac042d06"/>
- </diskarea>
- </part>
- </software>
-
- <software name="anglomoi" supported="no">
- <description>Anglomois '99 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86278" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="anglomois '99 (japan) [slpm-86278]" sha1="d37495cee02788e63d918a0b9d83e1abb5dc637e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="annanjar" supported="no">
- <description>Annanjarin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01424" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="annanjarin (japan) [slps-01424]" sha1="6b0aebf40fa6e1c5c6f369716f79de7b79a056df"/>
- </diskarea>
- </part>
- </software>
-
- <software name="anotherm" supported="no">
- <description>Another Memories (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01431" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="another memories (japan) [slps-01431]" sha1="1ee85e7165652eca1b2696a87b89786585d13f2f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aonoroku" supported="no">
- <description>Ao no Rokugou - Antarctica (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02940, SLPS-02941" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ao no rokugou - antarctica (japan) (disc 1) [slps-02940]" sha1="933eb30c86e95ece267c247baa6b34b461885282"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ao no rokugou - antarctica (japan) (disc 2) [slps-02941]" sha1="6a642f3d2c4b4c87b54c4dc9ec1ddcf0ab9c0eb6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aozorato" supported="no">
- <description>Ao Zora to Nakama Tachi - Yume no Bouken (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03564" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ao zora to nakama tachi - yume no bouken (japan) [slps-03564]" sha1="d73e416b2789c5ba5ee8e8440e4220bbf335955b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aokiooka" supported="no">
- <description>Aoki Ookami to Shiroki Mezika - Genchou Hishi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01579" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aoki ookami to shiroki mezika - genchou hishi (japan) [slps-01579]" sha1="274eb22e29bf8be1ed6a67b3c1e4383770dd49e4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aquapara" supported="no">
- <description>Aqua Paradise (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03095" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aqua paradise (japan) [slps-03095]" sha1="60be08d7929404e4516bb696a5ab87451e699d2c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aquanaut" supported="no">
- <description>Aquanaut no Kyuujitsu 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02141" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aquanaut no kyuujitsu 2 (japan) [slps-02141]" sha1="77bf830bc052c930fa35afe470a9b9aab236ee29"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aquarian" supported="no">
- <description>Aquarian Age - Tokyo Wars (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02731" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aquarian age - tokyo wars (japan) [slps-02731]" sha1="3603f5e0dd0260952c173852b7d8fc96cc65ea4c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cclimbr" supported="no">
- <description>Arcade Hits - Crazy Climber (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87067" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arcade hits - crazy climber (japan) [slpm-87067]" sha1="052df147ddf72d2936a6fe3a615d9c4df37a237e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="frisktom" supported="no">
- <description>Arcade Hits - Frisky Tom (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87118" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arcade hits - frisky tom (japan) [slpm-87118]" sha1="2cddf03e24a7d6f3597920dc15fc1f5a5a74ced7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="arkanase" supported="no">
- <description>Arkana Senki Ludo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01438" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arkana senki ludo (japan) [slps-01438]" sha1="21c9fed0f58e1a3d30a4806a857688d23479c2f4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="arkanoid" supported="no">
- <description>Arkanoid R 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86262" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arkanoid r 2000 (japan) [slpm-86262]" sha1="e3c77a5c7438beab3c5d6692eaddb60d840f34ca"/>
- </diskarea>
- </part>
- </software>
-
- <software name="armedcor" supported="no">
- <description>Armed Core (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80118" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="armed core (japan) (demo) [slpm-80118]" sha1="dc782860a842fb3f21a91fdd4a60cfc5badd8f86"/>
- </diskarea>
- </part>
- </software>
-
- <software name="armedfig" supported="no">
- <description>Armed Fighter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01598" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="armed fighter (japan) [slps-01598]" sha1="9af77275f184a012f463d0254232e1c8b22a773c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="armoredt" supported="no">
- <description>Armored Trooper Votoms - Lightning Slash (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01961" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="armored trooper votoms - lightning slash (japan) [slps-01961]" sha1="8154e0b49593423cdbc1ffc773bb7f78b717e694"/>
- </diskarea>
- </part>
- </software>
-
- <software name="artcamio" supported="no">
- <description>Art Camion - Geijutsuden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87186" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="art camion - geijutsuden (japan) [slpm-87186]" sha1="5182f3ebf97d3c1a47bddb7adcf9cb22dc884823"/>
- </diskarea>
- </part>
- </software>
-
- <software name="artcamia" supported="no">
- <description>Art Camion - Geijutsuden (Japan) (alt)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02405" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="art camion - geijutsuden (japan) [slps-02405]" sha1="00fdad90e6b821c082207cfb75e30a3be8173cce"/>
- </diskarea>
- </part>
- </software>
-
- <software name="arthurto" supported="no">
- <description>Arthur to Astaroth no Nazo Makaimura - Incredible Toons (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00363" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arthur to astaroth no nazo makaimura - incredible toons (japan) [slps-00363]" sha1="5929585b5a3127642fc2e43a696ab4034658d19f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="arubarea" supported="no">
- <description>Arubarea no Otome - Uruwashi no Seikishitachi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01578" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="arubarea no otome - uruwashi no seikishitachi (japan) [slps-01578]" sha1="cae3c71afe8ca63d5c6052bcfd2641f2a48e94e2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="astronok" supported="no">
- <description>Astronoka (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86088, SLPM-86089" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="astronoka (japan) (disc 1) [slpm-86088]" sha1="20206006189f7edc280794ee3504e1e892933e6d"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="astronoka (japan) (disc 2) [slpm-86089]" sha1="1e97e557009fd8d0560fd043982ca3e1bc7810e6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="a120bfe" supported="no">
- <description>Asuka 120% Burning Festival Excellent (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00849" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="asuka 120% burning festival excellent (japan) [slps-00849]" sha1="5c60e0bb779058f9693e698eff84076280d51a28"/>
- </diskarea>
- </part>
- </software>
-
- <software name="a120bff" supported="no">
- <description>Asuka 120% Burning Festival Final (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02074" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="asuka 120% burning festival final (japan) [slps-02074]" sha1="552e1ca801d1cf1ea4442b49e3e128d1882afd5e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="a120sbf" supported="no">
- <description>Asuka 120% Special Burning Festival (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00231" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="asuka 120% special burning festival (japan) [slps-00231]" sha1="9b74899e6c0467c52d8d58813df117c5c748ecaa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="asuncias" supported="no">
- <description>Asuncia - Strategic Fantasy Role Playing Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03075" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="asuncia - strategic fantasy role playing game (japan) [slps-03075]" sha1="b0afb7815a01f207dd3917ca2a047b024872a039"/>
- </diskarea>
- </part>
- </software>
-
- <software name="athenaaw" supported="no">
- <description>Athena - Awakening from the Ordinary Life (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86185, SLPM-86186, SLPM-86187" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="athena - awakening from the ordinary life (japan) (disc 1) [slpm-86185]" sha1="7e498017d7b43dd588a1e07f60432d472b43e15f"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="athena - awakening from the ordinary life (japan) (disc 2) [slpm-86186]" sha1="7f6fed977df70fc187c2204621aee09531de2fd0"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="athena - awakening from the ordinary life (japan) (disc 3) [slpm-86187]" sha1="32f081b19471ef5d391adefe31f6d0e29c853712"/>
- </diskarea>
- </part>
- </software>
-
- <software name="aurabatt" supported="no">
- <description>Aura Battler Dunbine (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02390" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="aura battler dunbine (japan) [slps-02390]" sha1="9680a82e974614aaa8dea6bfaa6416cca431379d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ayakashi" supported="no">
- <description>Ayakashi Ninden Kunoichiban (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00946, SLPS-00947" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ayakashi ninden kunoichiban (japan) (disc 1) [slps-00946]" sha1="0e88efffdfda79d8f54cecf396a1dc7ae7e31595"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ayakashi ninden kunoichiban (japan) (disc 2) [slps-00947]" sha1="af66464919855d4f5591bc0d9c25975fd1fad9bc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="azitojap" supported="no">
- <description>Azito (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00683" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="azito (japan) [slps-00683]" sha1="36ebbcf1bab5725c7213f16c86cac45a261d7ce2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="azito3ja" supported="no">
- <description>Azito 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02496" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="azito 3 (japan) [slps-02496]" sha1="79867f64a806cb0a813e2bb0b7faf06d2b438c9e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="azumanga" supported="no">
- <description>Azumanga Donjara Daiou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03424" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="azumanga donjara daiou (japan) [slps-03424]" sha1="a40dc624e456df391db71ea9bd05460de0ee0ff3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bluelege" supported="no">
- <description>b.l.u.e. - Legend of Water (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01459" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="b.l.u.e. - legend of water (japan) [slps-01459]" sha1="e6bf35d13f3076c98e8b1f6886e6f5fbb13ed3f1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="backgain" supported="no">
- <description>Back Gain Act-2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01446, SLPS-01447, SLPS-01448" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="back gain act-2 (japan) (disc 1) [slps-01446]" sha1="662d5641759604e6b4e0a85755f1b0d7b772bf81"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="back gain act-2 (japan) (disc 2) [slps-01447]" sha1="127632c77e2133d3fab634af827b81c7019df5cc"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="back gain act-2 (japan) (disc 3) [slps-01448]" sha1="b4a736524a570846451557cdd18d68ff04482b5a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="bakumats" supported="no">
- <description>Bakumatsu Roman - Gekka no Kenshi (The Last Blade) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86118" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bakumatsu roman - gekka no kenshi (the last blade) (japan) [slpm-86118]" sha1="4f6485d2f5015a64cb3ac217b1c31e82261f698e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bakurets" supported="no">
- <description>Bakuretsu Akindo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00236" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bakuretsu akindo (japan) [slps-00236]" sha1="96dd2e9c9cd252b771ce6e23a7438647cbce8d0f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bhuntmj" supported="no">
- <description>Bakuretsu Hunter - Mahjong Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00541" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bakuretsu hunter - mahjong special (japan) [slps-00541]" sha1="d3b150ca2412f09f8e49147afea1ebf76628ffa4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- MESS crash-->
- <software name="bakuryuu" supported="no">
- <description>Bakuryuu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02429" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bakuryuu (japan) [slps-02429]" sha1="7cc656450abd7ae7f68b3c8dac527db8d20d544b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- OK - setloc out of range: 00:00:00 -->
- <software name="baminkid">
- <description>Bamin Kids (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00558" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bamin kids (japan) [slps-00558]" sha1="06ce600fb75a1bb0c54cc228658162fa81f42dd9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="barbapap" supported="no">
- <description>Barbapapa - The Mumins (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03301" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="barbapapa - the mumins (japan) [slps-03301]" sha1="231bc3441d832bedfa65eeb6840222907e8b9848"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="bardyshj" supported="no">
- <description>Bardysh (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02187" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bardysh (japan) [slps-02187]" sha1="cf3cc2acf03f682a22cbe4d702528855fbb8e4a6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="baroquej" supported="no">
- <description>Baroque (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86341" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="baroque (japan) [slpm-86341]" sha1="8c204d5de69a497e0c11ab15f67032084172d101"/>
- </diskarea>
- </part>
- </software>
-
- <software name="baroques" supported="no">
- <description>Baroque Syndrome (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86540" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="baroque syndrome (japan) [slpm-86540]" sha1="a3547d5ad686cf54dea936abcc79fc4fca323a4c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="baseball" supported="no">
- <description>Baseball Simulation - ID Pro Yakyuu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86650" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="baseball simulation - id pro yakyuu (japan) [slpm-86650]" sha1="f550caade3c3184b311f9539855760e1ad43e7fc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bassfish" supported="no">
- <description>Bass Fisherman (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01304" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bass fisherman (japan) [slps-01304]" sha1="b5fb491ef676f80e1f677b89360345718d6dde4b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="battlema" supported="no">
- <description>Battle Master (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86519" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="battle master (japan) [slpm-86519]" sha1="71556b5f283d4007141191fe2a91c98b5b57da78"/>
- </diskarea>
- </part>
- </software>
-
- <software name="battlesu" supported="no">
- <description>Battle Sugoroku - The Hunter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86400" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="battle sugoroku - the hunter (japan) [slpm-86400]" sha1="329c9355ea3ea2998763c0ec561011c9ef1aee8a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- logos, then black screen -->
- <software name="bealphar" supported="no">
- <description>Bealphareth (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10138" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bealphareth (japan) [scps-10138]" sha1="0312a3c2ac4156044d3f45b1ba088bf89b15df0e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="beatplan" supported="no">
- <description>Beat Planet Music (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-18013" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beat planet music (japan) [scps-18013]" sha1="f95ab2679e7ac8fd85f03857ea13df9dc3a4120d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bm3mm" supported="no">
- <description>Beatmania - Append 3rd Mix Mini (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86156" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - append 3rd mix mini (japan) [slpm-86156]" sha1="ac8739cf548a987e91a2702e0ee5bd52cb3567cc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bm5" supported="no">
- <description>Beatmania - Append 5th Mix - Time to Get Down (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86322" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - append 5th mix - time to get down (japan) [slpm-86322]" sha1="b1f6257dc7f22a7437b99f69da444864a7d2ced8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bmclub" supported="no">
- <description>Beatmania - Append Club Mix (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86692" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - append club mix (japan) [slpm-86692]" sha1="618c5624f0175a4cad25b4b8594d0e5aacc0d875"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bmbest" supported="no">
- <description>Beatmania - Best Hits (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86596" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - best hits (japan) [slpm-86596]" sha1="559cf473f725377967b28f46374e67332b517fab"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bmdct" supported="no">
- <description>Beatmania - featuring Dreams Come True (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86597" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - featuring dreams come true (japan) [slpm-86597]" sha1="57381b8f1bb0027c55b4cb82c40fba973497b5c1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bmgot2" supported="no">
- <description>Beatmania - Gottamix 2</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="Beatmania - Gottamix " />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - gottamix 2" sha1="1e638490f662e27c46f79d539ced9d77c66a03a3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bmtokyo" supported="no">
- <description>Beatmania - The Sound of Tokyo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86769" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania - the sound of tokyo (japan) [slpm-86769]" sha1="a434cc5171a8dfe47b050869a480f5b2931d21b6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bm6core" supported="no">
- <description>Beatmania 6th Mix + Core Remix (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87012" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beatmania 6th mix + core remix (japan) [slpm-87012]" sha1="25ce362998aec37c0c3a056b9f5121a7500f81ac"/>
- </diskarea>
- </part>
- </software>
-
- <software name="beavisbu" supported="no">
- <description>Beavis &amp; Butthead - Virtual Aho Shoukougun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01219" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="beavis &amp; butthead - virtual aho shoukougun (japan) [slps-01219]" sha1="d71e22fa3a48c5233f7cbeaa050b0aecf4e82f0e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bishibas" supported="no">
- <description>Bishi Bashi Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86825" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bishi bashi special (japan) [slpm-86825]" sha1="f1b1133e262d12b42e8a5e798d2c19b9c4ce42e4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bishiba2" supported="no">
- <description>Bishi Bashi Special 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86267" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bishi bashi special 2 (japan) [slpm-86267]" sha1="1c950b4676d137898f1e97cce67f1684609b99fd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bishiba3" supported="no">
- <description>Bishi Bashi Special 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86539" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bishi bashi special 3 (japan) [slpm-86539]" sha1="cf147dd484af9454e9bd5d1774f21c7d6c858e55"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bishoujo" supported="no">
- <description>Bishoujo Senshi Sailor Moon Super S - Shin Shuyaku Soudatsusen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00260" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bishoujo senshi sailor moon super s - shin shuyaku soudatsusen (japan) [slps-00260]" sha1="efccba5e3038d573f9c1ad87dabfa00672f55ff9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blackmat" supported="no">
- <description>Black Matrix 00 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03571, SLPS-03572" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="black matrix 00 (japan) (disc 1) [slps-03571]" sha1="83c9ff5820d237a78aac0114f73a07d7ad87752e"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="black matrix 00 (japan) (disc 2) [slps-03572]" sha1="2e573f24a22c64a992d52e566ff6cc916012d98a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blackmx" supported="no">
- <description>Black Matrix Cross (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02962, SLPS-02963" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="black matrix cross (japan) (disc 1) [slps-02962]" sha1="ce7d3c846253d063d3d925e84313171257fab477"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="black matrix cross (japan) (disc 2) [slps-02963]" sha1="49de6b3535e669f3c12afe97e07f305b2a5bf342"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blackjac" supported="no">
- <description>Blackjack vs. Matsuda Jun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01983" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blackjack vs. matsuda jun (japan) [slps-01983]" sha1="18101f4c708e69f20b046eddb2f85adfb5372b0a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bladeart" supported="no">
- <description>Blade Arts (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86602" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blade arts (japan) [slpm-86602]" sha1="37a8288b2ba0302a4e430f6a729194fc84353d68"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blademak" supported="no">
- <description>Blademaker (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01795" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blademaker (japan) [slps-01795]" sha1="e0fd2be655346e01a7124de993e0b577d9fb6488"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blammach" supported="no">
- <description>Blam! Machinehead (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00798" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blam! machinehead (japan) [slps-00798]" sha1="d437c29a088689d63bbcba44cf37f4e34db6b838"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blazebeq" supported="no">
- <description>Blaze &amp; Blade - Eternal Quest (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01209" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blaze &amp; blade - eternal quest (japan) [slps-01209]" sha1="3e17a7db3231688187d9072d680359f008b1fa40"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blazebla" supported="no">
- <description>Blaze &amp; Blade Busters (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01576" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blaze &amp; blade busters (japan) [slps-01576]" sha1="a689d9a7f5a65bed62c57a3816d73ada27476119"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blendxbr" supported="no">
- <description>Blend X Brand (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02818" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blend x brand (japan) [slps-02818]" sha1="f4ef9b25dc30de6f475e9ffe1a84a6347dfdc3b2"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="blockku2">
- <description>Block Kuzushi 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02578" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="block kuzushi 2 (japan) [slps-02578]" sha1="99fefa95a845277e6ade3b4814c1c497018a18dc"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="blockkuz" supported="no">
- <description>Block Kuzushi Kowashite Help! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03042" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="block kuzushi kowashite help! (japan) [slps-03042]" sha1="5f76b744b0c6a5e1050426f962b51bcc47226ce7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bloodfac" supported="no">
- <description>Blood Factory (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00235" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blood factory (japan) [slps-00235]" sha1="0ce6f2cfd5d321d77b8fcb0ac776d33cea00102e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bluebrea" supported="no">
- <description>Blue Breaker Burst - Egao no Asu ni (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01580" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blue breaker burst - egao no asu ni (japan) [slps-01580]" sha1="c1d42e0238b529d1c100c2dd57c0f20d0c428851"/>
- </diskarea>
- </part>
- </software>
-
- <software name="blueknig" supported="no">
- <description>Blue Knight Bersaga Story - Soukou Kihei Votoms Gaiden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00982" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blue knight bersaga story - soukou kihei votoms gaiden (japan) [slps-00982]" sha1="153e70b5160b1d4387f0997589f99014f41102d7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bluemarl" supported="no">
- <description>Blue Marlin, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02752" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="blue marlin, the (japan) [slps-02752]" sha1="ecf70699d173e754d70aaf247c4af3c6abeded0b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bokuhako" supported="no">
- <description>Boku ha Koukuu Kanseikan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02514" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="boku ha koukuu kanseikan (japan) [slps-02514]" sha1="4bd1ad337dcfbafc4c7b3d7179f28ae2240f364a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bokunoch" supported="no">
- <description>Boku no Choro-Q (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87024" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="boku no choro-q (japan) [slpm-87024]" sha1="ff3cbcfd88c680f23067688dc8672d132fc65f90"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bokujyou" supported="no">
- <description>Bokujyou Keieiteki Board Game Umapoly (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86403" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bokujyou keieiteki board game umapoly (japan) [slpm-86403]" sha1="4964b22c21102deb1fb5acefc43db3a31e364b1c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="bonogura" supported="no">
- <description>Bonogurashi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00333" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bonogurashi (japan) [slps-00333]" sha1="a25e059bceea356817ae327dabafa39fe1e1ac1e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="boundary" supported="no">
- <description>Boundary Gate (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00907" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="boundary gate (japan) [slps-00907]" sha1="1932e5e0f8480c491d52e2a987020db17f74eb96"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bravepro" supported="no">
- <description>Brave Prove (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01316" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="brave prove (japan) [slps-01316]" sha1="ece90034625f920f5d45ecb13c8f7e2fc91dca53"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bravesag" supported="no">
- <description>Brave Saga - Shin Sedai Robot Senki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01756" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="brave saga - shin sedai robot senki (japan) [slps-01756]" sha1="5d6d10c54b65a98324fc137147b0efe71fc0cf91"/>
- </diskarea>
- </part>
- </software>
-
- <software name="bravesa2" supported="no">
- <description>Brave Saga 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02580, SLPS-02581" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="brave saga 2 (japan) (disc 1) [slps-02580]" sha1="257177184b98b8970a7ef3397f14aef0b05d5bc4"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="brave saga 2 (japan) (disc 2) [slps-02581]" sha1="f20acc35f3e9d8398bfd25890defe27b3e7e993d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="braveswo" supported="no">
- <description>Brave Sword (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02889" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="brave sword (japan) [slps-02889]" sha1="f90125c394e4455bf9627d34b3921b3fc3f3977f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="breakvol" supported="no">
- <description>Break Volley (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02375" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="break volley (japan) [slps-02375]" sha1="beffc3c5bb391da3bfd18afcb83333368f6f98e6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="breathof" supported="no">
- <description>Breath of Fire III (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00990" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="breath of fire iii (japan) [slps-00990]" sha1="84c2f9faddb4e250b023bf35304fc05a5dc9e9c7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="buckleup" supported="no">
- <description>Buckle Up! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01105" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="buckle up! (japan) [slps-01105]" sha1="ab733b71a18341a1977134463cea2a8f856aa17c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- stuck on sony logo -->
- <software name="bugijapa" supported="no">
- <description>Bugi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86133" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="bugi (japan) [slpm-86133]" sha1="41c9eb992a1e17ef3dd4f71ea3798116998f1aba"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="burnoutj" supported="no">
- <description>Burn Out (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86598" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="burn out (japan) [slpm-86598]" sha1="68c7ccd8dbb306c15e4380405ef73491877f126b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="burningr" supported="no">
- <description>Burning Road (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00518" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="burning road (japan) [slps-00518]" sha1="bcf72f6b9fa45d1fcaba460cc1296cb28fe6aa7c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="buttsubu" supported="no">
- <description>Buttsubushi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03162" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="buttsubushi (japan) [slps-03162]" sha1="036b80cbfa0688740e04860b898b1365546d76f6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="c1circui" supported="no">
- <description>C1-Circuit (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00279" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="c1-circuit (japan) [slps-00279]" sha1="cf9b8cc03dbcf9ba9678296bae1c72ea82cff4a6"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="calcoloj" supported="no">
- <description>Calcolo! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01071" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="calcolo! (japan) [slps-01071]" sha1="26a2f748579d6d05d27322bf60d8facd027f8696"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="captainc" supported="no">
- <description>Captain Commando (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01567" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="captain commando (japan) [slps-01567]" sha1="1c3f651509f450b363eb7926bf845fb1b916016d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="captaint" supported="no">
- <description>Captain Tsubasa - Aratanaru Densetsu Joshou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87060" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="captain tsubasa - aratanaru densetsu joshou (japan) [slpm-87060]" sha1="78dc4071dda0032011318f9790003c70d724213d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="captainj" supported="no">
- <description>Captain Tsubasa J - Get In The Tomorrow (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00310" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="captain tsubasa j - get in the tomorrow (japan) [slps-00310]" sha1="781d584d0f76621bf3ce7a91646c430e500b1dff"/>
- </diskarea>
- </part>
- </software>
-
- <software name="carnageh" supported="no">
- <description>Carnage Heart - Easy Zapping (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00919" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="carnage heart - easy zapping (japan) [slps-00919]" sha1="04ecdf46298da87b9c67b1066a85f7880da55209"/>
- </diskarea>
- </part>
- </software>
-
- <software name="caromsho" supported="no">
- <description>Carom Shot 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01486" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="carom shot 2 (japan) [slps-01486]" sha1="64d4804d54ef55ef1c16b3881686fb9f740eac69"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cartonku" supported="no">
- <description>Carton-kun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02935" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="carton-kun (japan) [slps-02935]" sha1="15500069bfc1409019655f22be2d9c59ececf747"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chaoscon" supported="no">
- <description>Chaos Control (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00168" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chaos control (japan) [slps-00168]" sha1="2c3865c08064333e82a06426e33669f03506beeb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chiisana" supported="no">
- <description>Chiisana Kyojin Microman (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01926" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chiisana kyojin microman (japan) [slps-01926]" sha1="94ae563a1e9e6052f482b5e8f5732033ec012732"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chiisaer" supported="no">
- <description>Chiisana Oukoku Erutoria (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02750" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chiisana oukoku erutoria (japan) [slps-02750]" sha1="31db137cd1e99a35fa470a9e8d48848b49de701f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chikichi" supported="no">
- <description>Chiki Chiki Machine Mou Race - Wacky Races (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86845" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chiki chiki machine mou race - wacky races (japan) [slpm-86845]" sha1="ba899647735af9c2207d0f57a70cae1123404e31"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chippoke" supported="no">
- <description>Chippoke Ralph no Daibouken - The Adventure of Little Ralph (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01853" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chippoke ralph no daibouken - the adventure of little ralph (japan) [slps-01853]" sha1="44dae43745a50b108140a94e312f46af262ca8e3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chocolat" supported="no">
- <description>Chocolate Kiss (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03400" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chocolate kiss (japan) [slps-03400]" sha1="4fc15c8f74a53fd567e1f528e2e17e448e81b282"/>
- </diskarea>
- </part>
- </software>
-
- <software name="choroqja" supported="no">
- <description>Choro-Q (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00242" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="choro-q (japan) [slps-00242]" sha1="f0fecf75754d364c2fc8d69bc9d215af50e4faa9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="choroqwo" supported="no">
- <description>Choro-Q Wonderful! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02205" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="choro-q wonderful! (japan) [slps-02205]" sha1="daf3e93d1f331b0692b319184838183f6400d86e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chouhats" supported="no">
- <description>Chou Hatsumei Boy Kanipan - Hirameki Wonderland (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86299" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chou hatsumei boy kanipan - hirameki wonderland (japan) [slpm-86299]" sha1="a26f621ec1661e8de27061430c6cb303dbce208f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="chouanik" supported="no">
- <description>Chou-Aniki - Kyuukyoku Muteki Ginga Saikyou Otoko (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00183" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chou-aniki - kyuukyoku muteki ginga saikyou otoko (japan) [slps-00183]" sha1="c4e85e418fc8f87c7995e5a2da46598255bb2ed2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="choukous" supported="no">
- <description>Chou-Kousoku Gran Doll (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00935" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="chou-kousoku gran doll (japan) [slps-00935]" sha1="8b23f667284b2a9efac321030b82319d871aa9c1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="choujing" supported="no">
- <description>Choujin Gakuen Gowcaizer (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00527" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="choujin gakuen gowcaizer (japan) [slps-00527]" sha1="526e004cb1431242055c088248c2e1124e8fa37a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cielgris" supported="no">
- <description>Cielgris Fantasm - Noir Yeux Noire - Kuroi Hitomi no Noir (Noir's Dark Eyes) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01450" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cielgris fantasm - noir yeux noire - kuroi hitomi no noir (noir's dark eyes) (japan) [slps-01450]" sha1="6d4226bdafbb63e5a7f2d2d805019acf9af6b372"/>
- </diskarea>
- </part>
- </software>
-
- <!-- OK, gfx alignment problems -->
- <software name="circuitb" supported="no">
- <description>Circuit Beat (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00311" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="circuit beat (japan) [slps-00311]" sha1="c09f689d3e3001fd3f8e32d285a98f3605784591"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="cleopatr" supported="no">
- <description>Cleopatra's Fortune (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03187" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cleopatra's fortune (japan) [slps-03187]" sha1="f7fa75cb6df73ffa0a26a6d891439108682e2bf0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="clickman" supported="no">
- <description>Click Manga - Click Nohi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02354" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="click manga - click nohi (japan) [slps-02354]" sha1="f303722f78586f19408fe93ec039112717427fd3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="clickdr1" supported="no">
- <description>Click Manga - Dynamic Robot Taisen 1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02131" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="click manga - dynamic robot taisen 1 (japan) [slps-02131]" sha1="6eab5a68fe8c5d544a5508c83ec922ddf1d4c8ca"/>
- </diskarea>
- </part>
- </software>
-
- <software name="clickdr2" supported="no">
- <description>Click Manga - Dynamic Robot Taisen 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02407" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="click manga - dynamic robot taisen 2 (japan) [slps-02407]" sha1="33bfcad8d3b445e5ca4a4f2cb8d99c3253129186"/>
- </diskarea>
- </part>
- </software>
-
- <software name="clocktow" supported="no">
- <description>Clock Tower - Ghost Head (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01290" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="clock tower - ghost head (japan) [slps-01290]" sha1="28f77a9178f9d23a7090f242ce47310c112108bb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="clockto2" supported="no">
- <description>Clock Tower 2 (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80063" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="clock tower 2 (japan) (demo) [slpm-80063]" sha1="147b3347ccaf5c0c009a2b67f216a5e3dc0365b3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="colorful" supported="no">
- <description>Colorful Logic 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03239" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="colorful logic 3 (japan) [slps-03239]" sha1="6f5bf60a4b92c5b1b2529a905f04d0f72cbe34ce"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cpom" supported="no">
- <description>Community Pom (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00817" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="community pom (japan) [slps-00817]" sha1="dac36486af6cabd532b8a1a9200d98cff19b5f13"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cpomowd" supported="no">
- <description>Community Pom - Omoide wo Dakishimete (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02116" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="community pom - omoide wo dakishimete (japan) [slps-02116]" sha1="2d2948ea4691e8db832ccc1e2dcf50149f1a1671"/>
- </diskarea>
- </part>
- </software>
-
- <software name="convenis" supported="no">
- <description>Conveni Special, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01301" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="conveni special, the (japan) [slps-01301]" sha1="9fd08cf1038824941ccd4e34343aff7612253503"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cookingf" supported="no">
- <description>Cooking Fighter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01382" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cooking fighter (japan) [slps-01382]" sha1="119bf656a5fdd5993552f3ca93f676b80cf297cd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cosmicra" supported="no">
- <description>Cosmic Race (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00009" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cosmic race (japan) [slps-00009]" sha1="4a223a3a9f4ddd371be0ea4578f5a6cb75e4f162"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cosmowar" supported="no">
- <description>Cosmowarrior Zero (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86484" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cosmowarrior zero (japan) [slpm-86484]" sha1="5815ebcf89edf93a11b54e6e761f4ad6775d47e7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="cotton10" supported="no">
- <description>Cotton 100% (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87211" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cotton 100% (japan) [slpm-87211]" sha1="9875be77df81d4dd10d5c7aff0b549a2050328fb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="crazycli" supported="no">
- <description>Crazy Climber 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02582" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="crazy climber 2000 (japan) [slps-02582]" sha1="df5edab83e97a5b05c72f7844d4ae1357a2b7085"/>
- </diskarea>
- </part>
- </software>
-
- <software name="creature" supported="no">
- <description>Creature Shock (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00120, SLPS-00121" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="creature shock (japan) (disc 1) [slps-00120]" sha1="c8a578c0edb4a8bdd62b98f4e82c92db35b3b953"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="creature shock (japan) (disc 2) [slps-00121]" sha1="e75be88c09e1dd886142ecab17d92fbc9b7fd898"/>
- </diskarea>
- </part>
- </software>
-
- <software name="crimecra" supported="no">
- <description>Crime Crackers 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10037" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="crime crackers 2 (japan) [scps-10037]" sha1="c369f8dfd4a636ad2f30d5dfa74c362c15fa29a3"/>
- </diskarea>
- </part>
- </software>
-
- <!-- missing GFX? -->
- <software name="crocadve" supported="no">
- <description>Croc Adventure (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86310" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="croc adventure (japan) [slpm-86310]" sha1="3b750c67fab7a1ec9347cb03bdd29d0fb7c5b219"/>
- </diskarea>
- </part>
- </software>
-
- <software name="crosstan" supported="no">
- <description>Cross Tantei Monogatari 1 (Cross Detective Story) - Kouhen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86639" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cross tantei monogatari 1 (cross detective story) - kouhen (japan) [slpm-86639]" sha1="cc5b223e1cae8f2db662d98e84be9dc5b8151f54"/>
- </diskarea>
- </part>
- </software>
-
- <software name="crwcount" supported="no">
- <description>CRW - Counter Revolution War (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00220" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="crw - counter revolution war (japan) [slps-00220]" sha1="e32536a5c6437a2809650818a0ebe1096b6c8f67"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cuonpaja" supported="no">
- <description>Cu-On-Pa (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01026" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cu-on-pa (japan) [slps-01026]" sha1="ee702defa8bed1f1ad0dc9413c54422ba0c506dd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cyberdai" supported="no">
- <description>Cyber Daisenryaku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86580" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cyber daisenryaku (japan) [slpm-86580]" sha1="83fb179ee3df250ec82c343ad432500dea2de4a8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cyberwar" supported="no">
- <description>Cyber War (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00055, SLPS-00056, SLPS-00057" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (japan) (disc 1) [slps-00055]" sha1="3b72659c1708f375aae3db9cec137e7dd850d7b9"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (japan) (disc 2) [slps-00056]" sha1="1ce7560afbe9c62aaf02e484bec93b65744266b5"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cyber war (japan) (disc 3) [slps-00057]" sha1="78c35f4c5b3eb2e1b57d244731eeaea58b2f55bb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="cybernet" supported="no">
- <description>Cybernetic Empire (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01912, SLPS-01913" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cybernetic empire (japan) (disc 1) [slps-01912]" sha1="f9695801ba6bc74aa8b2727e4231d0cc81e411fd"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="cybernetic empire (japan) (disc 2) [slps-01913]" sha1="25af91779f8f7e83f372c200e312ea1922a978a7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="daibouke" supported="no">
- <description>Daibouken Deluxe - Harukanaru Umi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00813" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="daibouken deluxe - harukanaru umi (japan) [slps-00813]" sha1="88c6e84f50a86f52510fe0977e355b03237bb75c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="daikouka" supported="no">
- <description>Daikoukai Jidai Gaiden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01021" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="daikoukai jidai gaiden (japan) [slps-01021]" sha1="615bed5ee8317806c76f8f9adafde11497ecf9e4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="daikouk2" supported="no">
- <description>Daikoukai Jidai II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00656" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="daikoukai jidai ii (japan) [slps-00656]" sha1="20d1a8d7170db9f399e5fb1608c71bd60140494e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dakar97j" supported="no">
- <description>Dakar '97 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00634" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dakar '97 (japan) [slps-00634]" sha1="686a334ea7219ea23b279b1ba7e79d405ea431b6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ddr2rac" supported="no">
- <description>Dance Dance Revolution - 2nd Remix Append Club Version Vol.2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86399" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dance dance revolution - 2nd remix append club version vol.2 (japan) [slpm-86399]" sha1="64678708ee1f94d3ac691368f04d0437dc8b6104"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ddr5" supported="no">
- <description>Dance Dance Revolution - 5th Mix (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86897" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dance dance revolution - 5th mix (japan) [slpm-86897]" sha1="d5bb00f46a1f6abba97db33ae1b481f6f31db5a6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ddrbest" supported="no">
- <description>Dance Dance Revolution - Best Hits (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86693" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dance dance revolution - best hits (japan) [slpm-86693]" sha1="9aa2b2f04e7d46da015def495e6016f70e26da29"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ddrextra" supported="no">
- <description>Dance Dance Revolution - Extra Mix (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86831" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dance dance revolution - extra mix (japan) [slpm-86831]" sha1="4e8b980a1f2a0bb5152613be8a66fd9d7e78fd4a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dancing2" supported="no">
- <description>Dancing Blade - Katteni Momotenshi II Tears Of Eden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86210, SLPM-86211, SLPM-86212" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 1) [slpm-86210]" sha1="c16a0775340953a9f6cf02eaded510a22a7b7c34"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 2) [slpm-86211]" sha1="7905b3c7425b0ebeea5e524f6a7c3a602616aa4a"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 3) [slpm-86212]" sha1="469a16ed320c6ef1e1d43f700f9aefa69d7e4653"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dancingb" supported="no">
- <description>Dancing Blade - Katteni Momotenshi! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86100, SLPM-86101, SLPM-86102" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi! (japan) (disc 1) [slpm-86100]" sha1="56154bf21d90180c4a8498d93f4c3bcaa50a5a8b"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi! (japan) (disc 2) [slpm-86101]" sha1="6b94f4da43f7a01a7e4196c70dc951663b5f68f0"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing blade - katteni momotenshi! (japan) (disc 3) [slpm-86102]" sha1="e7a484e51ac7fc9496d08d0bde65c57d9ec4c399"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dsdct" supported="no">
- <description>Dancing Stage Featuring Dreams Come True (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86505" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing stage featuring dreams come true (japan) [slpm-86505]" sha1="1ef4b2304d6d3f54e42059b47d66f96c303377b9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dstkd" supported="no">
- <description>Dancing Stage Featuring True Kiss Destination (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86411" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dancing stage featuring true kiss destination (japan) [slpm-86411]" sha1="929356ea77f0b1b6dfe0e2c37091fb92e0e88868"/>
- </diskarea>
- </part>
- </software>
-
- <software name="danganja" supported="no">
- <description>Dangan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02609" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dangan (japan) [slps-02609]" sha1="3ef4e1a859907333c0d3a421bc8c0b58970c4be2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="darkhunt" supported="no">
- <description>Dark Hunter (Ge) - Youma no Mori (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00789" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dark hunter (ge) - youma no mori (japan) [slps-00789]" sha1="1be6a0785df02d9c2e6a5af4af20394b3ae336b9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="darktale" supported="no">
- <description>Dark Tales from the Lost Soul (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02316" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dark tales from the lost soul (japan) [slps-02316]" sha1="3c6da56004f088df7fcccfb934fbea198dfa8f54"/>
- </diskarea>
- </part>
- </software>
-
- <software name="darkseed" supported="no">
- <description>Darkseed II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00938" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="darkseed ii (japan) [slps-00938]" sha1="9f64263d63331bdeef8706a670683556669dd18d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="deadlysk" supported="no">
- <description>Deadly Skies (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01036" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="deadly skies (japan) [slps-01036]" sha1="fd98db17a6eb40541e4a889efa2fd8b1a6311f01"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="deathwin" supported="no">
- <description>Death Wing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00489" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="death wing (japan) [slps-00489]" sha1="9271c5df8547a41b1db9791f5d315a9c447f7899"/>
- </diskarea>
- </part>
- </software>
-
- <software name="defeatli" supported="no">
- <description>Defeat Lightning (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00853" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="defeat lightning (japan) [slps-00853]" sha1="08dca46966cbe41fb613ff3a95cd4c22ec104343"/>
- </diskarea>
- </part>
- </software>
-
- <software name="denpasho" supported="no">
- <description>Denpa Shounenteki Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01287" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="denpa shounenteki game (japan) [slps-01287]" sha1="94826f721647805980a359d736951f79352864f6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="densetsu" supported="no">
- <description>Densetsu Kemono no Ana - Monster Complete World Ver.2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02297" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="densetsu kemono no ana - monster complete world ver.2 (japan) [slps-02297]" sha1="f70a5bcca4ae22194d3af5681c1e3e5ec30ffe45"/>
- </diskarea>
- </part>
- </software>
-
- <software name="denshada" supported="no">
- <description>Densha Daisuki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01753" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="densha daisuki (japan) [slps-01753]" sha1="d14eedb739f1af1a29233f689524e7c5c3973b05"/>
- </diskarea>
- </part>
- </software>
-
- <software name="denshade" supported="no">
- <description>Densha de Go! Nagoya Railroad - Let's Go By Train (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86424" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="densha de go! nagoya railroad - let's go by train (japan) [slpm-86424]" sha1="84e8ee5d760fa12429b4457cbb53affe785f21d4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="derbyjoc" supported="no">
- <description>Derby Jockey 2001 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03131" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="derby jockey 2001 (japan) [slps-03131]" sha1="722a1c8ab5911cc2a58499d810f3ee6fe3f2fef4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="descentj" supported="no">
- <description>Descent (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00212" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="descent (japan) [slps-00212]" sha1="6fb528f7577b3cc2cc6198ceb966061817e42f6b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- missing FMVs, crash MESS -->
- <software name="destruct" supported="no">
- <description>Destruction Derby 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SIPS-60012" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="destruction derby 2 (japan) [sips-60012]" sha1="cc2b854fd7f61e20a51d2e4ac45321e726e38a98"/>
- </diskarea>
- </part>
- </software>
-
- <software name="devicere" supported="no">
- <description>Devicereign (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01889" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="devicereign (japan) [slps-01889]" sha1="8d245d6f6d5c42022a09c19331badc8afae94f1a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dezaekid" supported="no">
- <description>Dezaemon Kids! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01503, SLPS-01504" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dezaemon kids! (japan) (disc 1) [slps-01503]" sha1="318ff9d74c47c2291986e426709b95f6e3709a60"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dezaemon kids! (japan) (disc 2) [slps-01504]" sha1="5d48db16e3e4313abac5a862bfef01c782133375"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dezaemon" supported="no">
- <description>Dezaemon Plus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00335" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dezaemon plus (japan) [slps-00335]" sha1="adba383bf93562e6966fa2d1161befb7f9bcb00d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="digicall" supported="no">
- <description>Digical League (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86038" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="digical league (japan) [slpm-86038]" sha1="e0f6b89e7dfe24c3545dc725b687ed3b28c69c66"/>
- </diskarea>
- </part>
- </software>
-
- <software name="digimont" supported="no">
- <description>Digimon Tamers - Battle Evolution (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03357" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="digimon tamers - battle evolution (japan) [slps-03357]" sha1="58160837f3311868c46d25da8eafb29ad5b7413d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="digimonw" supported="no">
- <description>Digimon World (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01797" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="digimon world (japan) [slps-01797]" sha1="b0b1b2b678bb0be38a57854a4ec55af90cab9589"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="docchime" supported="no">
- <description>Docchi Mecha! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10129" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="docchi mecha! (japan) [scps-10129]" sha1="069ed3aeedb16150e1e161eb8c36fff51b3408c8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dodgedeb" supported="no">
- <description>Dodge de Ball! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01362" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dodge de ball! (japan) [slps-01362]" sha1="c2d5573bd647b403b59a6511f647ebafc46519fe"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dogmaste" supported="no">
- <description>Dog Master, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87175" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dog master, the (japan) [slpm-87175]" sha1="a681038a652d1368f5e70bbfebc6b3d39cd3e668"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dokidoki" supported="no">
- <description>Doki Doki Shutter Chance (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01038" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="doki doki shutter chance (japan) [slps-01038]" sha1="6423abfb5ae19227976ff6d6c50a882b9828138b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dokomade" supported="no">
- <description>Dokomademo Aoku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03388" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dokomademo aoku (japan) [slps-03388]" sha1="f7d2a4763ebe84d4402fa95215969e5c90c320f9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dolphins" supported="no">
- <description>Dolphin's Dream (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86122" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dolphin's dream (japan) [slpm-86122]" sha1="d532c495777e9cebf2f3881625b264acfbe45f27"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="dominoku" supported="no">
- <description>Domino-Kun wo Tomenaide - No One Can Stop Mr. Domino (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01095" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="domino-kun wo tomenaide - no one can stop mr. domino (japan) [slps-01095]" sha1="2efe5613db907a0848ada4fdd5109c056cc8983e"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="donpachi" supported="no">
- <description>DonPachi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00548" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="donpachi (japan) [slps-00548]" sha1="05b8c7f5d2357990ef165bcf45962d47c3627758"/>
- </diskarea>
- </part>
- </software>
-
- <software name="doraemon" supported="no">
- <description>Doraemon - Nobita to Fukkatsu no Hoshi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00233" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="doraemon - nobita to fukkatsu no hoshi (japan) [slps-00233]" sha1="9a3a496926efd2b873efa080816f9f81868270b7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="doraemo2" supported="no">
- <description>Doraemon 2 - SOS! Otogi no Kuni (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00628" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="doraemon 2 - sos! otogi no kuni (japan) [slps-00628]" sha1="98ecccb1cdb9f8fd2d68709490ceef69490cc433"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="doubledr" supported="no">
- <description>Double Dragon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00191" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="double dragon (japan) [slps-00191]" sha1="95ef07c180e5332e333a99a05a1662f1ef7996c1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="doukyuu2" supported="no">
- <description>Doukyuusei 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00691" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="doukyuusei 2 (japan) [slps-00691]" sha1="5533ea6cf45e2ddbc255ad833bfe7c0b1de0f4b8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="doukyuus" supported="no">
- <description>Doukyuusei Mahjong (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00673" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="doukyuusei mahjong (japan) [slps-00673]" sha1="16897ff930b7f89eb4c649af8f09773f8eb52372"/>
- </diskarea>
- </part>
- </software>
-
- <software name="drslumpj" supported="no">
- <description>Dr. Slump (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01934" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dr. slump (japan) [slps-01934]" sha1="393b0902239070361868d53fbe959930071c8a51"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dragonba" supported="no">
- <description>Dragon Ball Z - Ultimate Battle 22 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00073" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon ball z - ultimate battle 22 (japan) [slps-00073]" sha1="b5ad77f87e2a5bf995902218f43eaf73699b9c1d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="dragondr" supported="no">
- <description>Dragon Drive (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03470" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon drive (japan) [slps-03470]" sha1="a7330d5a7edf8f77e12709ada67524de016dace7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dragonk4" supported="no">
- <description>Dragon Knight 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00664" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon knight 4 (japan) [slps-00664]" sha1="d2776331e090d1cbc62cea8eb6b0beedbb7589af"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dragonkn" supported="no">
- <description>Dragon Knights Glorious (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02391" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon knights glorious (japan) [slps-02391]" sha1="db0e8d1768ead58236f28e0b8ddc26041359b540"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dragonmo" supported="no">
- <description>Dragon Money (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02037" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon money (japan) [slps-02037]" sha1="b285f2c567f4214329588e0fd97c37156f0734e9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dragonva" supported="no">
- <description>Dragon Valor (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02190, SLPS-02191" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon valor (japan) (disc 1) [slps-02190]" sha1="af478e8f767856ff9286a6db52694f363677f5d6"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dragon valor (japan) (disc 2) [slps-02191]" sha1="c09ef5d0bef40442abe18880adbd6ab71472675b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="drugstor" supported="no">
- <description>Drug Store, The - Matsumoto Kiyoshi de Okaimono! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01516" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="drug store, the - matsumoto kiyoshi de okaimono! (japan) [slps-01516]" sha1="34ce0e5cf400106ff1c59bb9cbd0fe08228e4517"/>
- </diskarea>
- </part>
- </software>
-
- <software name="druidyam" supported="no">
- <description>Druid - Yami he no Tsuisekisha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01246" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="druid - yami he no tsuisekisha (japan) [slps-01246]" sha1="303eb3f5313055a299407e26c79d053841f9e7b3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dxjinse4" supported="no">
- <description>DX Jinsei Game IV - The Game of Life (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86963" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dx jinsei game iv - the game of life (japan) [slpm-86963]" sha1="f71046cb9f084fad7c3137563cdf3daeb60214c9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dxjinse5" supported="no">
- <description>DX Jinsei Game V - The Game of Life (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87187" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dx jinsei game v - the game of life (japan) [slpm-87187]" sha1="e117854d5e65a93a98ed346093610d6ca1dd9b43"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dxmonopo" supported="no">
- <description>DX Monopoly (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02943" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dx monopoly (japan) [slps-02943]" sha1="ef3f6cf9ea3400fb8d4ac82e0b6fa29a2792f826"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dxokuman" supported="no">
- <description>DX Okuman Chouja Game II - The Money Battle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01586" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dx okuman chouja game ii - the money battle (japan) [slps-01586]" sha1="5be0b7ed489edb4d3ea3551636ef91b76e9d5f9a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dxshacho" supported="no">
- <description>DX Shachou Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02105" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dx shachou game (japan) [slps-02105]" sha1="af1520e87ac2b2ec9ab726718872ebf741f6690d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dboxing" supported="no">
- <description>Dynamite Boxing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01387" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dynamite boxing (japan) [slps-01387]" sha1="7d3f4b2baecf59cba5c145ac9a370ff49916da36"/>
- </diskarea>
- </part>
- </software>
-
- <software name="dsoc02" supported="no">
- <description>Dynamite Soccer 2002 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03436" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dynamite soccer 2002 (japan) [slps-03436]" sha1="d6d925b7fffeb8ff1d51e50d9dc8e072ffb431e5"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="dsoc04" supported="no">
- <description>Dynamite Soccer 2004 Final (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03575" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="dynamite soccer 2004 final (japan) [slps-03575]" sha1="1ee9c447e36a80416f67f0f60099e1ea19bd81b5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="eggsofst" supported="no">
- <description>Eggs of Steel - Hello Charlie!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86083" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eggs of steel - hello charlie!! (japan) [slpm-86083]" sha1="30236e05afda91a1eba9680cb4ecadd8efcd6457"/>
- </diskarea>
- </part>
- </software>
-
- <software name="eikanhak" supported="no">
- <description>Eikan ha Kimini 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02173" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eikan ha kimini 4 (japan) [slps-02173]" sha1="2bac8b3cc26dc1454c23efda0a53bf016bf963ba"/>
- </diskarea>
- </part>
- </software>
-
- <software name="eiseimei" supported="no">
- <description>Eisei Meijin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00090" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eisei meijin (japan) [slps-00090]" sha1="cb205ba9d3fbfcdd3b4254e82c1d78eef37c74cc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="elanjapa" supported="no">
- <description>Elan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01925" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="elan (japan) [slps-01925]" sha1="6a4092f90f8b21addabb4c533846c0ff220f5453"/>
- </diskarea>
- </part>
- </software>
-
- <software name="elanplus" supported="no">
- <description>Elan Plus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02759" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="elan plus (japan) [slps-02759]" sha1="623c5ffcfeb143083ae00f250542f878e3af008a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="eldergat" supported="no">
- <description>Eldergate (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86494" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eldergate (japan) [slpm-86494]" sha1="c1b663e0753210ea554b836d07b4c10ac0565d50"/>
- </diskarea>
- </part>
- </software>
-
- <software name="elfwokar" supported="no">
- <description>Elf wo Karu Monotachi II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01456, SLPS-01457, SLPS-01458" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="elf wo karu monotachi ii (japan) (disc 1) [slps-01456]" sha1="1c7ba32a7f08703f99961f0d0a6cfe4758d95eaa"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="elf wo karu monotachi ii (japan) (disc 2) [slps-01457]" sha1="b92dec9c982dab176e9a1b89f3ec6c39a4282241"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="elf wo karu monotachi ii (japan) (disc 3) [slps-01458]" sha1="2c27417f59253a656e09ce8de20dfef336762083"/>
- </diskarea>
- </part>
- </software>
-
- <software name="emmyreaj" supported="no">
- <description>Emmyrea (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03216" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="emmyrea (japan) [slps-03216]" sha1="4e19ae100cf965ad8d0b4384e6958a9e250a9698"/>
- </diskarea>
- </part>
- </software>
-
- <software name="endsecto" supported="no">
- <description>End Sector (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01584" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="end sector (japan) [slps-01584]" sha1="34ff9340364fd4ed2e901ab1ae933a0940a988ea"/>
- </diskarea>
- </part>
- </software>
-
- <software name="engachoj" supported="no">
- <description>Engacho! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02263" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="engacho! (japan) [slps-02263]" sha1="8d1a0d1c02cbd63d637f89b0fa53e40a5afd34ac"/>
- </diskarea>
- </part>
- </software>
-
- <software name="enigmaja" supported="no">
- <description>Enigma (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01351, SLPS-01352" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="enigma (japan) (disc 1) [slps-01351]" sha1="4b4b701efd25bb62d84d334db07429a05e48ddf7"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="enigma (japan) (disc 2) [slps-01352]" sha1="c2341fc23913694c427ab6f390808047b3400aca"/>
- </diskarea>
- </part>
- </software>
-
- <software name="eosedgeo" supported="no">
- <description>EOS - Edge of Skyhigh (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00820" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eos - edge of skyhigh (japan) [slps-00820]" sha1="2e10a8266c6e4f90638eeb4b9aa8f66f2d54a357"/>
- </diskarea>
- </part>
- </software>
-
- <software name="epicaste" supported="no">
- <description>Epica Stella (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01465" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="epica stella (japan) [slps-01465]" sha1="acb2a6a9340aaabf5c7fb1f1e2e588cd38c696d5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="evethefa" supported="no">
- <description>Eve - The Fatal Attraction (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86826, SLPM-86827, SLPM-86828" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve - the fatal attraction (japan) (disc 1) [slpm-86826]" sha1="65c6172a76b32df37f1c1ee0261432be608b26d1"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve - the fatal attraction (japan) (disc 2) [slpm-86827]" sha1="c4d3f086d53cb1fb6df1abfd86df2e2ab25267df"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve - the fatal attraction (japan) (disc 3) [slpm-86828]" sha1="437e371d3a0f5982a658d78d59c27df2f494f469"/>
- </diskarea>
- </part>
- </software>
-
- <software name="evezeroj" supported="no">
- <description>Eve Zero (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86478, SLPM-86479, SLPM-86480" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve zero (japan) (disc 1) [slpm-86478]" sha1="1cc13a88800f9731031506f92886975936cd1d9b"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve zero (japan) (disc 2) [slpm-86479]" sha1="ffa1fdc9608f2395bacfff29ef7327057f8a6071"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="eve zero (japan) (disc 3) [slpm-86480]" sha1="5d4e3efea081283c30e69b9929aa91c75dee9498"/>
- </diskarea>
- </part>
- </software>
-
- <software name="evergree" supported="no">
- <description>Evergreen Avenue (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03278" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="evergreen avenue (japan) [slps-03278]" sha1="5c47d5ea5b01ab49df8bd3deb7f9af036c6ac9f6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="exciting" supported="no">
- <description>Exciting Bass (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86124" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="exciting bass (japan) [slpm-86124]" sha1="9fcba6f41cd2fef925c5c74f5f6c340d33bf7569"/>
- </diskarea>
- </part>
- </software>
-
- <software name="excitin2" supported="no">
- <description>Exciting Bass 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86295" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="exciting bass 2 (japan) [slpm-86295]" sha1="238cf7f26c7c8ad3cab0eeda85b9522cfb9a75ff"/>
- </diskarea>
- </part>
- </software>
-
- <software name="expertja" supported="no">
- <description>Expert (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00342" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="expert (japan) [slps-00342]" sha1="28fcda958b60c15c904bd0bf06ed9bbf08a0e1bd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="extrabri" supported="no">
- <description>Extra Bright (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00625" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="extra bright (japan) [slps-00625]" sha1="e258202c2cbbb10222cc062094556548ae835770"/>
- </diskarea>
- </part>
- </software>
-
- <software name="familydi" supported="no">
- <description>Family Diamond (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03348" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="family diamond (japan) [slps-03348]" sha1="01f9d7a579cd610f92dd6363c3b45b86764e78f7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="familyre" supported="no">
- <description>Family Restaurant, The - Shijou Saikyou no Menu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01763" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="family restaurant, the - shijou saikyou no menu (japan) [slps-01763]" sha1="b2485aa91cf8675afc5247a9619bac2b59b13a8e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="farlsaga" supported="no">
- <description>Farland Saga - Toki no Michishirube (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01903" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="farland saga - toki no michishirube (japan) [slps-01903]" sha1="1b78aceac52bcb3aee2a2d3c0166a7121fb645f1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="farlands" supported="no">
- <description>Farland Story - Yottsu no Fuuin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00797" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="farland story - yottsu no fuuin (japan) [slps-00797]" sha1="17862bd1c08146a98d8a6a725dc5faae162f78b1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="favoriem" supported="no">
- <description>Favorite Dear - Enkan no Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03286" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="favorite dear - enkan no monogatari (japan) [slps-03286]" sha1="6f1d11128f58d84d80103013d94b6122448006c0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="favorite" supported="no">
- <description>Favorite Dear - Junpaku no Yogensha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02754" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="favorite dear - junpaku no yogensha (japan) [slps-02754]" sha1="0a4b56071288e11b3c6ab4029cf4a38dcf913e67"/>
- </diskarea>
- </part>
- </software>
-
- <software name="feda2whi" supported="no">
- <description>FEDA 2 - White Surge - The Platoon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00723" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="feda 2 - white surge - the platoon (japan) [slps-00723]" sha1="62f3eccbb32d50a9499a567597456542cc406eeb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fighters" supported="no">
- <description>Fighters' Impact (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00822" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fighters' impact (japan) [slps-00822]" sha1="068f1e2d40757d3f3cf1bf2679893ffee2d0694f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fighting" supported="no">
- <description>Fighting Illusion - K-1 Grand Prix '98 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01696" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fighting illusion - k-1 grand prix '98 (japan) [slps-01696]" sha1="1f09afe562642e3a24c02009e311f05374b73c34"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hangs loading after logos -->
- <software name="finaldoo" supported="no">
- <description>Final Doom (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00727" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="final doom (japan) [slps-00727]" sha1="07fc21c122cee144162c76a5601f453851c97238"/>
- </diskarea>
- </part>
- </software>
-
- <software name="finalfan" supported="no">
- <description>Final Fantasy (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03430" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="final fantasy (japan) [slps-03430]" sha1="09ccfe8a7f89c7c96ca196d30d4561bef526e49a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="finalfex" supported="no">
- <description>Final Fantasy Extra Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80073" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="final fantasy extra collection (japan) [slpm-80073]" sha1="6690eccbc01529d7ccc8854298959163bf499239"/>
- </diskarea>
- </part>
- </software>
-
- <software name="finalfa2" supported="no">
- <description>Final Fantasy II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03502" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="final fantasy ii (japan) [slps-03502]" sha1="997dd8e2ff7d2921a1bcb7c0dc03f4523db48b18"/>
- </diskarea>
- </part>
- </software>
-
- <software name="finalrou" supported="no">
- <description>Final Round (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01266" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="final round (japan) [slps-01266]" sha1="de44963e9663f7a87e75ba170989d32564db2fa4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="firewoma" supported="no">
- <description>Fire Woman Matoigumi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01315" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fire woman matoigumi (japan) [slps-01315]" sha1="131b901c112641e00ca58395aa11ec3f49d1b900"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="firemen2" supported="no">
- <description>Firemen 2, The - Pete &amp; Danny (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00148" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="firemen 2, the - pete &amp; danny (japan) [slps-00148]" sha1="27f77d054e400656887844347b35864478fee532"/>
- </diskarea>
- </part>
- </software>
-
- <software name="firstkis" supported="no">
- <description>First Kiss Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01708, SLPS-01709" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="first kiss monogatari (japan) (disc 1) [slps-01708]" sha1="d306bc5a8d636fa54073d66cf84636aea2f183f8"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="first kiss monogatari (japan) (disc 2) [slps-01709]" sha1="338be1bcfbdd1726a0e73218793eb6f72b526d09"/>
- </diskarea>
- </part>
- </software>
-
- <software name="firstque" supported="no">
- <description>First Queen IV (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00604" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="first queen iv (japan) [slps-00604]" sha1="c77ec6739b97bab53463b66760d822e05909c6d9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fisheyes" supported="no">
- <description>Fish Eyes II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02383" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fish eyes ii (japan) [slps-02383]" sha1="35eb5a729023ea5e4e57097352456ee924f86f83"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fishersr" supported="no">
- <description>Fisher's Road (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01943" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fisher's road (japan) [slps-01943]" sha1="21804598a50abc7f49cc3b2419ac6a550dc4376f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fishingf" supported="no">
- <description>Fishing Freaks - BassRise (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01931" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fishing freaks - bassrise (japan) [slps-01931]" sha1="4b76c9378e478e0a066cd9958af7a0b1da71354b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fistjapa" supported="no">
- <description>Fist (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00538" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fist (japan) [slps-00538]" sha1="3947ff5c03f24ecd439392af8eaedc99d4cc9c31"/>
- </diskarea>
- </part>
- </software>
-
- <software name="forgetme" supported="no">
- <description>Forget Me Not - Palette (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03191" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="forget me not - palette (japan) [slps-03191]" sha1="0133a3dbaf8645b874ddc0379820de276d4452f4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="formulac" supported="no">
- <description>Formula Circus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00358" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="formula circus (japan) [slps-00358]" sha1="dcb09a2aa39fe4d4a33ee7c245b92cf80b43360c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="formulag" supported="no">
- <description>Formula Grand Prix 1997 - Team Unei Simulation 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01154" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="formula grand prix 1997 - team unei simulation 2 (japan) [slps-01154]" sha1="57ffb52e376d01357850c9f02a458a75d9a0d6a3"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="formulan" supported="no">
- <description>Formula Nippon '99 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02259" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="formula nippon '99 (japan) [slps-02259]" sha1="28178710ba1b5b98ff6649d058fbf41160d2964c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="foxjunct" supported="no">
- <description>Fox Junction (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01355" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fox junction (japan) [slps-01355]" sha1="57d996f6c322f842d22653d4a491b38d7b95c083"/>
- </diskarea>
- </part>
- </software>
-
- <software name="freetalk" supported="no">
- <description>Free Talk Studio - Mari no Kimama na Oshaberi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02655" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="free talk studio - mari no kimama na oshaberi (japan) [slps-02655]" sha1="2f72cd675ee92a251b16390809a10d11cfb5ab35"/>
- </diskarea>
- </part>
- </software>
-
- <software name="frontmis" supported="no">
- <description>Front Mission 1st (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87317" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="front mission 1st (japan) [slpm-87317]" sha1="b79b3c9ccb36fd3884209171ba7ef18263c71575"/>
- </diskarea>
- </part>
- </software>
-
- <software name="funfunpi" supported="no">
- <description>Fun! Fun! Ping (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02306" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fun! fun! ping (japan) [slps-02306]" sha1="0cfa311c6f0ddec333502591ce64bbf843c97fca"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fushigid" supported="no">
- <description>Fushigi Deka (Fushigi Keiji) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86642" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fushigi deka (fushigi keiji) (japan) [slpm-86642]" sha1="5939b1c30fff5765c54c7bc1ae429dd9e05f8e91"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fuujinry" supported="no">
- <description>Fuujin Ryouiki Eretzvaju (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01790" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fuujin ryouiki eretzvaju (japan) [slps-01790]" sha1="f701245b4edeb45bcf4d88d3f141137fbc199b93"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fuuraiki" supported="no">
- <description>Fuuraiki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03094" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fuuraiki (japan) [slps-03094]" sha1="b2c73bfc418c41c8b2f27512cbe68edb0b2e2398"/>
- </diskarea>
- </part>
- </software>
-
- <software name="fuuungok" supported="no">
- <description>Fuuun Gokuu Ninjin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00441" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="fuuun gokuu ninjin (japan) [slps-00441]" sha1="4b96a290fb5477479729c1f6e7f2bc0c50a4dae7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gpolicej" supported="no">
- <description>G-Police (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10065, SCPS-10066" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="g-police (japan) (disc 1) [scps-10065]" sha1="29f8fc0c51c6698376b225b5354de4cc92e795d8"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="g-police (japan) (disc 2) [scps-10066]" sha1="3467658d950ba3cb5f502dcc252d47ed72f879ea"/>
- </diskarea>
- </part>
- </software>
-
- <software name="g1jockey" supported="no">
- <description>G1 Jockey 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86413" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="g1 jockey 2000 (japan) [slpm-86413]" sha1="c10e71d108877d302e16ff53be728f374e7a30e0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="gaiaseed" supported="no">
- <description>Gaia Seed - Project Seed Trap (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00624" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gaia seed - project seed trap (japan) [slps-00624]" sha1="c2c26ec9dad64852a09cd877eae057089e4885d1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gakkoude" supported="no">
- <description>Gakkou de Atta Kowai Hanashi S (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00404" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gakkou de atta kowai hanashi s (japan) [slps-00404]" sha1="d3c561df09d4e1072c9eb72f44fd8a0e19e85395"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gakkouno" supported="no">
- <description>Gakkou no Kowai Uwasa - Hanakosan ga Kita!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00078" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gakkou no kowai uwasa - hanakosan ga kita!! (japan) [slps-00078]" sha1="b1020fd2bf86f6e2f2f2cc54715c69d940f9010c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gakkouw2" supported="no">
- <description>Gakkou wo Tsukurou!! 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01660" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gakkou wo tsukurou!! 2 (japan) [slps-01660]" sha1="fcb99635ef112fc2ac559c4c9d141043b6d675bb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gakkouwo" supported="no">
- <description>Gakkou wo Tsukurou!! Kouchou Sensei Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02998" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gakkou wo tsukurou!! kouchou sensei monogatari (japan) [slps-02998]" sha1="2be10b2b2fa43fe39b606dbd47a382c66d8fca8d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gakuense" supported="no">
- <description>Gakuen Sentai Solblast (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01852" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gakuen sentai solblast (japan) [slps-01852]" sha1="4be19d45f8ffb9cc032c92cb62b0baa292e27aeb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="galaxyfi" supported="no">
- <description>Galaxy Fight - Universal Warriors (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00138" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="galaxy fight - universal warriors (japan) [slps-00138]" sha1="bb4e9b4659752528252fa278fa44ef44eaf6c020"/>
- </diskarea>
- </part>
- </software>
-
- <software name="galeozja" supported="no">
- <description>Galeoz (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00621" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="galeoz (japan) [slps-00621]" sha1="55e95c920a19c5a7bd795439f7d1c28b7a8f0274"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gallopra" supported="no">
- <description>Gallop Racer 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02623" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gallop racer 2000 (japan) [slps-02623]" sha1="77703057f744569d2ae3ff1b55dad7723e812aba"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gamblerj" supported="no">
- <description>Gambler Jiko Chuushinka Ippatsu Shoubu! Tokyo Mahjong Land (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02509" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gambler jiko chuushinka ippatsu shoubu! tokyo mahjong land (japan) [slps-02509]" sha1="2849d82b70c50defd4b090c63719485a3256bdc3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gamemake" supported="no">
- <description>Game Maker, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01583" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="game maker, the (japan) [slps-01583]" sha1="40d95be39c8b3fec85c69dce4d7a9fc462e0137d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gamera20" supported="no">
- <description>Gamera 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00833" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gamera 2000 (japan) [slps-00833]" sha1="5db337e4f781f6d0ea5684f83d861b1bcf186968"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gamesoft" supported="no">
- <description>Gamesoft wo Tsukurou - Let's Be a Super Game Creator (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01607" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gamesoft wo tsukurou - let's be a super game creator (japan) [slps-01607]" sha1="e588a3f0424d4e32f831d372cbc8f7cd8f6d6d90"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ganbaroo" supported="no">
- <description>Ganbare Goemon - Ooedo Daikaiten (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86774" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ganbare goemon - ooedo daikaiten (japan) [slpm-86774]" sha1="be72d2fee1dd78c03a8019d856dc38b4c5997341"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ganbareg" supported="no">
- <description>Ganbare Goemon - Uchuu Kaizoku Akogingu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00217" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ganbare goemon - uchuu kaizoku akogingu (japan) [slps-00217]" sha1="7881d9d4c5c500e09ac5677926e822dce7198392"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gangwaym" supported="no">
- <description>Gangway Monsters (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01468" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gangway monsters (japan) [slps-01468]" sha1="7e4f65b779aeb947b4d092579e9514b8af47a06b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gatekeep" supported="no">
- <description>Gatekeepers (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02246, SLPS-02247" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gatekeepers (japan) (disc 1) [slps-02246]" sha1="25e3023f86f9abeffea22a815ef75ee9d1708299"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gatekeepers (japan) (disc 2) [slps-02247]" sha1="c8e81281d01a95321f77526e78acdcf8080e3c0e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gearfigh" supported="no">
- <description>Gear Fighter Dendoh (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03189" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gear fighter dendoh (japan) [slps-03189]" sha1="dba3f1ab0a1dfd5c5492a39cc3b8232529e38cff"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gegegeno" supported="no">
- <description>Gegege no Kitarou - Gyakushuu! Youkai Daikessen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87286" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gegege no kitarou - gyakushuu! youkai daikessen (japan) [slpm-87286]" sha1="d58191f697928fee53baccfd57b7a69ee99abc0d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gegegekt" supported="no">
- <description>Gegege no Kitarou - Noroi no Nikuto Katachi Tachi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00644" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gegege no kitarou - noroi no nikuto katachi tachi (japan) [slps-00644]" sha1="0224274dbc7147e93e7d1c895e47cca1ada6a8d9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="gekiohsh" supported="no">
- <description>Geki-Oh ShienRyu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02056" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="geki-oh shienryu (japan) [slps-02056]" sha1="889ad2d9bac5fdbf6dd9c64b176e22389185b3ea"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gekisout" supported="no">
- <description>Gekisou Tomarunner (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10087" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gekisou tomarunner (japan) [scps-10087]" sha1="921b22bc4510c17efad8dc19720b7273c3e06f84"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gekitots" supported="no">
- <description>Gekitotsu Toma L'Arc - L'Arc-en-Ciel vs. Tomarunner (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10134" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gekitotsu toma l'arc - l'arc-en-ciel vs. tomarunner (japan) [scps-10134]" sha1="08bac90efb24190f8dbe461e118ce79e77522387"/>
- </diskarea>
- </part>
- </software>
-
- <software name="geneitou" supported="no">
- <description>Genei Tougi - Shadow Struggle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00491" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="genei tougi - shadow struggle (japan) [slps-00491]" sha1="0a287ce1e5f9a1b1f3e4d6d0f48fca30db560c42"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gensomad" supported="no">
- <description>Gensomaden Saiyuki - Harukanaru Nishi He (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86986" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gensomaden saiyuki - harukanaru nishi he (japan) [slpm-86986]" sha1="b0bac20904deed9164729595cde22a94833da6b0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gensouno" supported="no">
- <description>Gensou no Artemis - Actress School Mystery Adventure (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02563" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gensou no artemis - actress school mystery adventure (japan) [slps-02563]" sha1="3d980874e7d4b22f8e31f6759bec9656e6b3292c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="getbacke" supported="no">
- <description>Get Backers Dakkanoku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86848" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="get backers dakkanoku (japan) [slpm-86848]" sha1="4d752de56ddc1314ab3a2946b48bcd1db1c100c6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gingaeiy" supported="no">
- <description>Ginga Eiyuu Densetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01358" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ginga eiyuu densetsu (japan) [slps-01358]" sha1="c5ceff3a8a9a49e44e3518c17aa00a38c8d082f0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gingaojo" supported="no">
- <description>Ginga Ojousama Densetsu Yuna - Final Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01451" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ginga ojousama densetsu yuna - final edition (japan) [slps-01451]" sha1="38d73fdbfe5b8578e8a63cf37b363bce2e37e916"/>
- </diskarea>
- </part>
- </software>
-
- <software name="glintgli" supported="no">
- <description>Glint Glitters (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86200" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="glint glitters (japan) [slpm-86200]" sha1="f08ebb3f60b0deda6a6b4c0cb5261de366f165f5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="goemonsh" supported="no">
- <description>Goemon - Shin Sedai Shuumei (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86997" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="goemon - shin sedai shuumei (japan) [slpm-86997]" sha1="ab306ea0e57cfc5f71abdbad1fec4a5757b75a2f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="goikenmu" supported="no">
- <description>Goiken Muyou II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01542" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="goiken muyou ii (japan) [slps-01542]" sha1="d084f813130f46b73bcec20e1e57035349abc7a7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gokuuden" supported="no">
- <description>Gokuu Densetsu - Magic Beast Warriors (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00048" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gokuu densetsu - magic beast warriors (japan) [slps-00048]" sha1="60a43530d1f5c5a634374e274dd236e1ec5ebc4d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="golgo13k" supported="no">
- <description>Golgo 13 - Karairu no Yabou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01712" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="golgo 13 - karairu no yabou (japan) [slps-01712]" sha1="ed83a609781b70aec58c98fef52a2c939f1a71af"/>
- </diskarea>
- </part>
- </software>
-
- <software name="googooso" supported="no">
- <description>Goo! Goo! Soundy (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86250" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="goo! goo! soundy (japan) [slpm-86250]" sha1="efbad579e127a65379b191a2643d1aa3dac032b6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="granstre" supported="no">
- <description>Granstream Denki (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="PCPX-96087" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="granstream denki (japan) (demo) [pcpx-96087]" sha1="3788739ffa8e6b53d2859dfabef178697e05f8e8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="greatbat" supported="no">
- <description>Great Battle VI, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00719" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="great battle vi, the (japan) [slps-00719]" sha1="f4d5d9705d5835c87d6ccbdd410403dc7e128387"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gritzthe" supported="no">
- <description>Gritz - The Primordial Adventure (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00615" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gritz - the primordial adventure (japan) [slps-00615]" sha1="5db2efdad3883576f00cfa917497cb20c2a05e5a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="groovemh" supported="no">
- <description>Groove Adventure Rave - Mikan no Hiseki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87138" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="groove adventure rave - mikan no hiseki (japan) [slpm-87138]" sha1="81f067aeb68eeef80c4d3c725c4ebfc5b86dca5b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="groovead" supported="no">
- <description>Groove Adventure Rave - Yukyu no Kizuna (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87011" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="groove adventure rave - yukyu no kizuna (japan) [slpm-87011]" sha1="675fabc4809fbf30fc2c7ed288a0af27385ff611"/>
- </diskarea>
- </part>
- </software>
-
- <software name="grooveji" supported="no">
- <description>Groove Jigoku V (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01205" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="groove jigoku v (japan) [slps-01205]" sha1="9bfeb9c7cc0accf2697d74ddb93dcf589798f700"/>
- </diskarea>
- </part>
- </software>
-
- <software name="growlans" supported="no">
- <description>Growlanser (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02380, SLPS-02381" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="growlanser (japan) (disc 1) [slps-02380]" sha1="52b5031a7b5dd2818c6a61e98586ec0da84bea10"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="growlanser (japan) (disc 2) [slps-02381]" sha1="53bf7667eeaf9d8e57ebc7b06c4c6cbee26e1ea5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="guguthro" supported="no">
- <description>Guguthropus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86148" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="guguthropus (japan) [slpm-86148]" sha1="f4591754cf9e7fcf3c6133b99d9ca0cc2cea2af4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="guiltyge" supported="no">
- <description>Guilty Gear (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01357" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="guilty gear (japan) [slps-01357]" sha1="78ade11a374ef2c0279e56c8400bbdad7aa4c280"/>
- </diskarea>
- </part>
- </software>
-
- <software name="guitarfr" supported="no">
- <description>Guitar Freaks Append 2nd Mix (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86446" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="guitar freaks append 2nd mix (japan) [slpm-86446]" sha1="f8fb11a91d3dc97fb7520b49a498fc505b122c37"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gunbareg" supported="no">
- <description>Gunbare! Game Tengoku 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01322" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gunbare! game tengoku 2 (japan) [slps-01322]" sha1="6878ba9f94341ba668fd651d365d3fe73c479d18"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hardlock MESS -->
- <software name="gunbirdj" supported="no">
- <description>Gunbird (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00157" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gunbird (japan) [slps-00157]" sha1="97ebac4d99ce46a7b43e6f8883586c1724937f22"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gunghobr" supported="no">
- <description>Gung-Ho Brigade (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01902" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gung-ho brigade (japan) [slps-01902]" sha1="f067ac6b2b3e7d2a20345b06c51c563e32f42135"/>
- </diskarea>
- </part>
- </software>
-
- <software name="gunparad" supported="no">
- <description>Gunparade March (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10136" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="gunparade march (japan) [scps-10136]" sha1="1c1ce8054bc4b0f1bc4835865c504252ee7ad7d0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="haishin2" supported="no">
- <description>Hai-Shin-2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86066" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hai-shin-2 (japan) [slpm-86066]" sha1="16fa5188c4756b25e16d13da9ab9f9ca0adbfb64"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hakaiohk" supported="no">
- <description>Hakaioh - King of Crusher (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01677" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hakaioh - king of crusher (japan) [slps-01677]" sha1="2c9cc61be470a8679307474b479218cb24a7fba8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hanabifa" supported="no">
- <description>Hanabi Fantast (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01439" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hanabi fantast (japan) [slps-01439]" sha1="fcdc674b9afe6fdfe6c3e20518a1ab458b288d13"/>
- </diskarea>
- </part>
- </software>
-
- <software name="happyhot" supported="no">
- <description>Happy Hotel (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01110" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="happy hotel (japan) [slps-01110]" sha1="35f58d0987259b0ed6515bfc6de767c5b21000ec"/>
- </diskarea>
- </part>
- </software>
-
-
- <software name="happysal" supported="no">
- <description>Happy Salvage (Japan) (Disc 1 Only)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02821" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="happy salvage (japan) (disc 1) [slps-02821]" sha1="84c6e3ffc33f67f4a2e9714c9ca89f550008a8c4"/>
- </diskarea>
- </part>
- <!-- this should be a 2 cd game -->
- <!--
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="happy salvage (japan) (disc 2) [slps-02822]" sha1=""/>
- </diskarea>
- </part>
- -->
- </software>
-
- <software name="hardboil" supported="no">
- <description>Hard Boiled (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01484" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hard boiled (japan) [slps-01484]" sha1="dcc7f002e74545fea8e40155e10c22c6ae8f735e"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="harmfulp" supported="no">
- <description>Harmful Park (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00498" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="harmful park (japan) [slps-00498]" sha1="14ca40c5ef66812fec6a59fec62c341858b34ef3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="harukana" supported="no">
- <description>Harukanaru Toki no Naka de (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86466" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="harukanaru toki no naka de (japan) [slpm-86466]" sha1="8a5f59fe611a890d10dfc734b8002e9a3dd1551a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="harukaby" supported="no">
- <description>Harukanaru Toki no Naka de - Banjou Yuugi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87241" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="harukanaru toki no naka de - banjou yuugi (japan) [slpm-87241]" sha1="e183fe993ae96c03c582db74decf40eace1b1669"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hashiriy" supported="no">
- <description>Hashiriya - Ookamitachi no Densetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00704" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hashiriya - ookamitachi no densetsu (japan) [slps-00704]" sha1="b0226eb11b5d3a34041c57842b01c5035a4a383b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hatsukoi" supported="no">
- <description>Hatsukoi Barentain (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00831" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hatsukoi barentain (japan) [slps-00831]" sha1="0ed2658e9f305ffe8000053bf1c134f57c8dfc16"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hauntedj" supported="no">
- <description>Haunted Junction - Seitokai Badge wo Oe! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00668" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="haunted junction - seitokai badge wo oe! (japan) [slps-00668]" sha1="847d2d9449ea9f88d6b44d1742309a8cba8e6b0f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heavensg" supported="no">
- <description>Heaven's Gate (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00667" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heaven's gate (japan) [slps-00667]" sha1="fea2481e8d414e03b0602351173937ba7e8a0d1e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heiwaote" supported="no">
- <description>Heiwa Otenki Studio, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03178" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heiwa otenki studio, the (japan) [slps-03178]" sha1="ca2dc83a4638ad569ffd57ff45b2015fb0b64c6a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heiwapac" supported="no">
- <description>Heiwa Pachinko Graffiti Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02374" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heiwa pachinko graffiti vol.1 (japan) [slps-02374]" sha1="bd908bf45e9b7eaeb452e5546a647d08f0080f7b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heiwadol" supported="no">
- <description>Heiwa Parlor! Pro Dolphin Ring Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02689" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heiwa parlor! pro dolphin ring special (japan) [slps-02689]" sha1="57e36bc9e3fc98d596426c1a86f323f0d4432bb7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heiwalup" supported="no">
- <description>Heiwa Parlor! Pro Lupin Sansei Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02541" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heiwa parlor! pro lupin sansei special (japan) [slps-02541]" sha1="22fd75baae932b72397b9f99c5c2cb2409ae4f8c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="heiwatsu" supported="no">
- <description>Heiwa Parlor! Pro Tsunatori Monogatari Special (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03370" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="heiwa parlor! pro tsunatori monogatari special (japan) [slps-03370]" sha1="5435cb1a6189d5e583279a5db57c99a0283ef9a3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hellokwp" supported="no">
- <description>Hello Kitty - White Present (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01766" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hello kitty - white present (japan) [slps-01766]" sha1="4e6e3eb7ec6f69c8add7697aa32df1e63d18c8ce"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hellokcc" supported="no">
- <description>Hello Kitty's Cube De Cute (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01427" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hello kitty's cube de cute (japan) [slps-01427]" sha1="bdef8d94a0ed14b86325838f1da754169f60a95a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="henryexp" supported="no">
- <description>Henry Explorers (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86021" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="henry explorers (japan) [slpm-86021]" sha1="4a68f7398ac021d507bd782165733a0cfdf7dfcf"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hermieho" supported="no">
- <description>Hermie Hopperhead - Scrap Panic (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-91016" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hermie hopperhead - scrap panic (japan) [scps-91016]" sha1="7e6fb2ba54d2908e2e155333f6af743d729083ea"/>
- </diskarea>
- </part>
- </software>
-
- <software name="highscho" supported="no">
- <description>High School of Blitz (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02351" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="high school of blitz (japan) [slps-02351]" sha1="5f0e11997d852b63206ac4fb80fae2938a717d24"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hikarino" supported="no">
- <description>Hikari no Shima (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02305" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hikari no shima (japan) [slps-02305]" sha1="a372b442df5c5a87530ab60a1575fa9ff76a7188"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hikaruno" supported="no">
- <description>Hikaru no Go - Heian Gensou Ibunroku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87059" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hikaru no go - heian gensou ibunroku (japan) [slpm-87059]" sha1="f0bcc995f8bdea12795843785a73aa745d1ce872"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hikaruic" supported="no">
- <description>Hikaru no Go - Insei Choujou Kessen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87199" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hikaru no go - insei choujou kessen (japan) [slpm-87199]" sha1="256d94a52aaf561619793b8f904f52878361d5be"/>
- </diskarea>
- </part>
- </software>
-
- <software name="himikode" supported="no">
- <description>Himiko-Den - Renge (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01890, SLPS-01891, SLPS-01892" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="himiko-den - renge (japan) (disc 1) [slps-01890]" sha1="e8d8d53a90880399ae9b3c3f5d7e1dda38d330c4"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="himiko-den - renge (japan) (disc 2) [slps-01891]" sha1="0584304595705bb0239393767525fea2372cf7a2"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="himiko-den - renge (japan) (disc 3) [slps-01892]" sha1="dfdcfa0bf3b993864efe7c6f189838bee0a3a834"/>
- </diskarea>
- </part>
- </software>
-
- <!-- marked as 'Disc 1' are there missing discs? -->
- <software name="himitsus" supported="no">
- <description>Himitsu Sentai Metamor V Deluxe (Japan) (Disc 1 Only)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01626" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="himitsu sentai metamor v deluxe (japan) (disc 1) [slps-01626]" sha1="5621c1d350dc9eb7be2ebfea2f4b459493982f6a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hisps2" supported="no">
- <description>Hissatsu Pachi-Slot Station 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02355" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hissatsu pachi-slot station 2 (japan) [slps-02355]" sha1="1aee3495954072c7c544e38c28c63d3086305977"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hisps4" supported="no">
- <description>Hissatsu Pachi-Slot Station 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02799" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hissatsu pachi-slot station 4 (japan) [slps-02799]" sha1="7ad8464c3a6aa97310e414bf4290c386a499bfea"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hisps5" supported="no">
- <description>Hissatsu Pachi-Slot Station 5 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03030" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hissatsu pachi-slot station 5 (japan) [slps-03030]" sha1="ff9e5fb093215a7eaf49b59c3c3f3e793bb77524"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hispssp" supported="no">
- <description>Hissatsu Pachi-Slot Station SP (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02494" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hissatsu pachi-slot station sp (japan) [slps-02494]" sha1="d954aaaec0fdb131ce1b8478d6687f7ab73fc817"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hitbackj" supported="no">
- <description>Hit Back (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01361" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hit back (japan) [slps-01361]" sha1="edd52a5b9956d3deffef846d1630f1ab6d8b273f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hizanoue" supported="no">
- <description>Hiza no Ue no Partner - Kitty On Your Lap (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01302" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hiza no ue no partner - kitty on your lap (japan) [slps-01302]" sha1="2f2b65ba4760a56ed601d4a41f0f2566117604cb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hokutono" supported="no">
- <description>Hokuto no Ken (Fist of the North Star) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00369" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hokuto no ken (fist of the north star) (japan) [slps-00369]" sha1="56b17e4cef9f4c945ea76e2e06e1153097b00edd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hooockey" supported="no">
- <description>Hooockey!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86488" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hooockey!! (japan) [slpm-86488]" sha1="71c0af97da516f43ab8c156ca35435b5a1793db4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hoshinoo" supported="no">
- <description>Hoshi no Oka Gakuen Monogatari - Gakuensai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01638" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hoshi no oka gakuen monogatari - gakuensai (japan) [slps-01638]" sha1="77f4a5c1c2b0789520fb6b1806e5538f5b84237b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hoshigam" supported="no">
- <description>Hoshigami - Shizumiyuku Aoki Daichi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02904" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hoshigami - shizumiyuku aoki daichi (japan) [slps-02904]" sha1="54e752a3c11ed1477776f045aaa54049560bb586"/>
- </diskarea>
- </part>
- </software>
-
- <software name="houmahun" supported="no">
- <description>Houma Hunter Lime - Special Collection Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00020" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="houma hunter lime - special collection vol.1 (japan) [slps-00020]" sha1="0f17e34f4c1be977633746984bb785c74039fb83"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hunterxh" supported="no">
- <description>Hunter X Hunter - Maboroshi no Greed Island (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86651" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hunter x hunter - maboroshi no greed island (japan) [slpm-86651]" sha1="0ee06252cd80a488b6ba0fa236815359f08ed0e3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hunterua" supported="no">
- <description>Hunter X Hunter - Ubawareta Aura Stone (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86895" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hunter x hunter - ubawareta aura stone (japan) [slpm-86895]" sha1="77d54a30d9898d7d2642ce820b9036705abd691e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hyakujuu" supported="no">
- <description>Hyakujuu Sentai Gaoranger (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03353" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hyakujuu sentai gaoranger (japan) [slps-03353]" sha1="a38461c4e0d4cbc0c9ed39aa24c26b3199c7e93d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hyouryuu" supported="no">
- <description>Hyouryuuki - The Reportage Beyond The Sea (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02358" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hyouryuuki - the reportage beyond the sea (japan) [slps-02358]" sha1="02cd0c84ed58c0861b8f4c1f77c53c6409c4df62"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hypercra" supported="no">
- <description>Hyper Crazy Climber (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00248" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hyper crazy climber (japan) [slps-00248]" sha1="c894a23037cb77c7f7e87ae6883be64852608b50"/>
- </diskarea>
- </part>
- </software>
-
- <software name="hypersec" supported="no">
- <description>Hyper Securities 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01417" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hyper securities 2 (japan) [slps-01417]" sha1="e5d61b3a891721102bd09579759c07a653f1818f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="hyperral" supported="no">
- <description>Hyper-Rally (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00462" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="hyper-rally (japan) [slps-00462]" sha1="50d167ed915b510b72f6714d4a1122f835ab738d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ichigeki" supported="no">
- <description>Ichigeki - Hagane no Hito (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02199" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ichigeki - hagane no hito (japan) [slps-02199]" sha1="02c3d6ac2f6129604bcf624d0fb35155b8bfbaed"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ideyousu" supported="no">
- <description>Ide Yousuke no Mahjong Kyoshitsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02272" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ide yousuke no mahjong kyoshitsu (japan) [slps-02272]" sha1="3cdef64b01995458db116ec0407646ae3d8ea230"/>
- </diskarea>
- </part>
- </software>
-
- <software name="idoljan2" supported="no">
- <description>Idol Janshi Suchie-Pai II Limited (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00290, SLPS-00291, SLPS-00292" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="idol janshi suchie-pai ii limited (japan) (disc 1) [slps-00290]" sha1="0a7be0e43148a52f1eff46cc8a331e60650fd17a"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="idol janshi suchie-pai ii limited (japan) (disc 2) [slps-00291]" sha1="13c31b6bb5c8f5dbde68fd09de5e7399f69faaeb"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="idol janshi suchie-pai ii limited (japan) (disc 3) [slps-00292]" sha1="519a87ca920523e9367aec092de61e6a74cadfe1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="idoljans" supported="no">
- <description>Idol Janshi Suchie-Pai Limited (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00029" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="idol janshi suchie-pai limited (japan) [slps-00029]" sha1="bad167a96b7d5e2ed95d9b696f84442539d00f34"/>
- </diskarea>
- </part>
- </software>
-
- <software name="imagefig" supported="no">
- <description>Image Fight &amp; X-Multiply Arcade Gears (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01267" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="image fight &amp; x-multiply arcade gears (japan) [slps-01267]" sha1="7c9fe93cdc6373e0264fcf44b7b05030d3bce497"/>
- </diskarea>
- </part>
- </software>
-
- <software name="inagawaj" supported="no">
- <description>Inagawa Junji - Kyoufu no Yashiki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02142" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="inagawa junji - kyoufu no yashiki (japan) [slps-02142]" sha1="ae27803512646847c41cf3d24b3045a62377d9d7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="indy500j" supported="no">
- <description>Indy 500 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00860" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="indy 500 (japan) [slps-00860]" sha1="2fff45351bb52a6afc9777681b3674aae5bf4da7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="inuyasha" supported="no">
- <description>Inuyasha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03374" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="inuyasha (japan) [slps-03374]" sha1="7c997d0167a49300498f540b0bd8cc265d68941b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="inuyasso" supported="no">
- <description>InuYasha - Sengoku Otogi Gassen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03504" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="inuyasha - sengoku otogi gassen (japan) [slps-03504]" sha1="dc72277ebd47fb3d6db52b44bf51f8dda551b4b8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="iremarca" supported="no">
- <description>Irem Arcade Classics (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00341" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="irem arcade classics (japan) [slps-00341]" sha1="3b168fa930cba25db60cd3dddf06729255fb6131"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="irritati" supported="no">
- <description>Irritating Stick - Denryuu Iraira Bou Returns (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01317" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="irritating stick - denryuu iraira bou returns (japan) [slps-01317]" sha1="c047b132a468c5cfeb8b59ebc4dcd647736546e6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="itadakis" supported="no">
- <description>Itadaki Street - Gorgeous King (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86120" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="itadaki street - gorgeous king (japan) [slpm-86120]" sha1="c3450b26a30c5a53917631c6567619f53bfc1591"/>
- </diskarea>
- </part>
- </software>
-
- <software name="jailbrea" supported="no">
- <description>Jailbreaker (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02076, SLPS-02077" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jailbreaker (japan) (disc 1) [slps-02076]" sha1="95e77a71f5a0c96c74fcddff9a57c32bbb7e9380"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jailbreaker (japan) (disc 2) [slps-02077]" sha1="8d612d65371d67a0c09cf236504ed6610df32c5e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="jalecoco" supported="no">
- <description>Jaleco Collection Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03562" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jaleco collection vol.1 (japan) [slps-03562]" sha1="4b202bfa56880eb1ec6e2a3eca550aa67d549105"/>
- </diskarea>
- </part>
- </software>
-
- <software name="jellyfis" supported="no">
- <description>Jellyfish - The Healing Friend (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02892" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jellyfish - the healing friend (japan) [slps-02892]" sha1="ae61d655bbd877956cdf539640b272689f1e1d64"/>
- </diskarea>
- </part>
- </software>
-
- <software name="jigsawwo" supported="no">
- <description>Jigsaw World (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02251" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jigsaw world (japan) [slps-02251]" sha1="729f2da447fa231d5d6767c27e62f208fb494b5f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="jounetsu" supported="no">
- <description>Jounetsu Nekketsu - Athletes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00936" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jounetsu nekketsu - athletes (japan) [slps-00936]" sha1="a15db68a77a739ee5a8e93517b3770c9afb5f8d0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="junglepa" supported="no">
- <description>Jungle Park (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01086" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="jungle park (japan) [slps-01086]" sha1="f3d6a87534e2a1dd9ee797777d33ca5197d7c8c5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="juusouki" supported="no">
- <description>Juusou Kihei Valken 2 (Assault Suits Valken 2) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00854" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="juusou kihei valken 2 (assault suits valken 2) (japan) [slps-00854]" sha1="caf43d7ce3c1b31867c2bf06d095891d0a71af6b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kaerunoe" supported="no">
- <description>Kaeru no Ehon - Nakushita Kioku wo Motomete (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02332" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kaeru no ehon - nakushita kioku wo motomete (japan) [slps-02332]" sha1="d837cfc7df0aa1796573bb3af66a3fe123f7ac0b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kaikanph" supported="no">
- <description>Kaikan Phrase - Datenshi Kourin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86438" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kaikan phrase - datenshi kourin (japan) [slpm-86438]" sha1="6c8432980c1d07a0d45b05644e61927d083c78e4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kainthev" supported="no">
- <description>Kain the Vampire (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00743" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kain the vampire (japan) [slps-00743]" sha1="a3457b66b3ae6425e4e8659c814f99e8e7142d1e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kaisokut" supported="no">
- <description>Kaisoku Tenshi - The Rapid Angel (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01553" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kaisoku tenshi - the rapid angel (japan) [slps-01553]" sha1="f9293f331ebd729f246efc3dd89eef44f525cbe3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kaitohra" supported="no">
- <description>Kaitohranma Miyabi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01825" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kaitohranma miyabi (japan) [slps-01825]" sha1="338892199096a66683f09884024af92d940f325c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kakugono" supported="no">
- <description>Kakugo no Susume (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00799" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kakugo no susume (japan) [slps-00799]" sha1="b8fa25a5e4037ad562154282ea7c19782f5fa908"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kamenrid" supported="no">
- <description>Kamen Rider (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01570" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kamen rider (japan) [slps-01570]" sha1="672c55b47a5dd777ccb45bec412832e9110edca1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kamenrag" supported="no">
- <description>Kamen Rider Agito (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03344" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kamen rider agito (japan) [slps-03344]" sha1="6e29b68b215f5cec21b864a0923e6baaf4815a15"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kamenrku" supported="no">
- <description>Kamen Rider Kuuga (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03090" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kamen rider kuuga (japan) [slps-03090]" sha1="c52152357807716d69dde57c8defe24dbdbffc13"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kamenrry" supported="no">
- <description>Kamen Rider Ryuki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03495" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kamen rider ryuki (japan) [slps-03495]" sha1="2c79cab478390f3da8c729da4deda3364547e23e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kanakoen" supported="no">
- <description>Kanako Enomoto - Junk Brain Diagnosis (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01937" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kanako enomoto - junk brain diagnosis (japan) [slps-01937]" sha1="b3e8e891241fe7b42c6fb64cfbee3cf0a3b9c075"/>
- </diskarea>
- </part>
- </software>
-
- <software name="katohifu" supported="no">
- <description>Kato Hifumi Ku-dan - Shogi Club (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02078" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kato hifumi ku-dan - shogi club (japan) [slps-02078]" sha1="dac946e860135479000f468a1565b51c612b5286"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kattobit" supported="no">
- <description>Kattobi Tune (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01253" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kattobi tune (japan) [slps-01253]" sha1="0a9ac78e2c8f40b3b7659ffddf762b5e5ceb16a8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kazenono" supported="no">
- <description>Kaze no Notam (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00912" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kaze no notam (japan) [slps-00912]" sha1="f5f16d62c8783f2367648339ac2dbc3747beeaa6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="keibaeaf" supported="no">
- <description>Keiba Eito '98 Aki Fuyu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01640" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="keiba eito '98 aki fuyu (japan) [slps-01640]" sha1="f76219f277ea7141689855a5e603b8504ad2b648"/>
- </diskarea>
- </part>
- </software>
-
- <software name="keibaeit" supported="no">
- <description>Keiba Eito '98 Haru (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01372" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="keiba eito '98 haru (japan) [slps-01372]" sha1="d5e80e3d67ff493f36288c9f705ea0dc706638a7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="keibasai" supported="no">
- <description>Keiba Saishou no Housoku '95 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00063" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="keiba saishou no housoku '95 (japan) [slps-00063]" sha1="36c5f54f30b1a8972d34b227fd298ba899c1b8f4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kenkiipp" supported="no">
- <description>Kenki Ippatsu! Crane Master ni Narou! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02831" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kenki ippatsu! crane master ni narou! (japan) [slps-02831]" sha1="50c254b40a133784f10e3610e166d0087f3c9f30"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kerokero" supported="no">
- <description>Kero Kero King (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86621" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kero kero king (japan) [slpm-86621]" sha1="fa3689eb8ee80953db6c1461f3be8b7c968a157d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="khamraij" supported="no">
- <description>Khamrai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02640" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="khamrai (japan) [slps-02640]" sha1="05c1e4d59668a34d35b643e5d117619a8430242e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidoukei" supported="no">
- <description>Kidou Keisatsu Patlabor - Game Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02239" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kidou keisatsu patlabor - game edition (japan) [slps-02239]" sha1="0e0c5538f7dd15bfb62d81fc1825d4e8f8901edc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidousen" supported="no">
- <description>Kidou Senshi Z-Gundam (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80139" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kidou senshi z-gundam (japan) (demo) [slpm-80139]" sha1="6e11f004bde55da45a552c678655fa883d5e7e43"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidsmoon" supported="no">
- <description>Kids Station - Bishoujo Senshi Sailor Moon World - Chibi-Usa to Tanoshii Mainichi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03318" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kids station - bishoujo senshi sailor moon world - chibi-usa to tanoshii mainichi (japan) [slps-03318]" sha1="f1299da2e3e0f17ec9168ca22994aae50b131c60"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kiddigi" supported="no">
- <description>Kids Station - Digimon Park (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03248" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kids station - digimon park (japan) [slps-03248]" sha1="4b815a1e8d1d0a04e1157fc46f3e327dea5643b0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidkamen" supported="no">
- <description>Kids Station - Kamen Rider Heroes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03403" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kids station - kamen rider heroes (japan) [slps-03403]" sha1="08043fade43167d0eed994acab5773fc495d5d6b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidmotto" supported="no">
- <description>Kids Station - Motto! Oja Majo Dorami - MAHO-dou Smile Party (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03247" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kids station - motto! oja majo dorami - maho-dou smile party (japan) [slps-03247]" sha1="5aa2abd47c52de690a55160d5a70122ddba60391"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kidanpn" supported="no">
- <description>Kids Station - Soreike! Anpanman 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03197" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kids station - soreike! anpanman 2 (japan) [slps-03197]" sha1="94a2ecfa790a4bca617a5bae8bd3c35211b5f087"/>
- </diskarea>
- </part>
- </software>
-
- <software name="killerba" supported="no">
- <description>Killer Bass (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02747" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="killer bass (japan) [slps-02747]" sha1="c04be3cb7e28306545c3d30c069e8571e29949c0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kindaich" supported="no">
- <description>Kindaichi Shounen no Jikenbo 3 - Seiryuu Densetsu Satsujin Jiken (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02223, SLPS-02224" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kindaichi shounen no jikenbo 3 - seiryuu densetsu satsujin jiken (japan) (disc 1) [slps-02223]" sha1="3132101edd5a7a420146a3aaad56e350d0e5647d"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kindaichi shounen no jikenbo 3 - seiryuu densetsu satsujin jiken (japan) (disc 2) [slps-02224]" sha1="ff9e997e658e85ee0dc1f506808ef6618465b62a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="kingofbo" supported="no">
- <description>King of Bowling 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01541" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of bowling 2 (japan) [slps-01541]" sha1="d2031ee50fbf3981fc0ab18d64f7c6f73423d216"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kingofbr" supported="no">
- <description>King of Braves Gaogaigar - Blockaded Numbers (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01980" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of braves gaogaigar - blockaded numbers (japan) [slps-01980]" sha1="f632b0044c09e7d867b297d771082a2b453e9776"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kof95" supported="no">
- <description>King of Fighters '95, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00351" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of fighters '95, the (japan) [slps-00351]" sha1="06c30d1581cc1ef06cc62110c67f51c244dbab16"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kof96" supported="no">
- <description>King of Fighters '96, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00834" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of fighters '96, the (japan) [slps-00834]" sha1="c9ed163a412077dbc4e0523a1a6b1a6ca39b5910"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kof98" supported="no">
- <description>King of Fighters '98, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86201" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of fighters '98, the (japan) [slpm-86201]" sha1="145f8a0d2ef9bb17ba9183a565f7a634c59224e3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kof99" supported="no">
- <description>King of Fighters '99, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86462" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of fighters '99, the (japan) [slpm-86462]" sha1="5490c9aedf04b38f76f926d232cbc0979c9fe887"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kofkyo" supported="no">
- <description>King of Fighters Kyo, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86095" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="king of fighters kyo, the (japan) [slpm-86095]" sha1="1d123b83301858a6f0a43dd2507a835186aa005f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kisyadeg" supported="no">
- <description>Kisya de Go! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86449" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kisya de go! (japan) [slpm-86449]" sha1="a41979643640716c6d16bec25cb75c913bf60e3c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kitchenp" supported="no">
- <description>Kitchen Panic (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01395" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kitchen panic (japan) [slps-01395]" sha1="d8816d67d78239a82ae088a2c6d1659e20d31349"/>
- </diskarea>
- </part>
- </software>
-
- <software name="knightba" supported="no">
- <description>Knight &amp; Baby (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01531" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="knight &amp; baby (japan) [slps-01531]" sha1="d3de6036059304a87fa1b63329ec614f90934cc0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kochirak" supported="no">
- <description>Kochira Katsushika-ku Kameari Kouen-mae Hashutsujo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00922" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kochira katsushika-ku kameari kouen-mae hashutsujo (japan) [slps-00922]" sha1="ffa9fad60f659f43c1e4668e18ec6b3a4370413b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kohnisho" supported="no">
- <description>Kohni Shogun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02955" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kohni shogun (japan) [slps-02955]" sha1="37f70a98a332feae16368cb16d8ff2f0d0989bc1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kojinkyo" supported="no">
- <description>Kojin Kyouju - La Lecon Particuliere (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01354" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kojin kyouju - la lecon particuliere (japan) [slps-01354]" sha1="8f5035d7a2bc4710963982f141a61a64fc873ad1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="komotchi" supported="no">
- <description>Komotchi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03121" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="komotchi (japan) [slps-03121]" sha1="5098d216001957a59bbb55be0031fc5dd4f57574"/>
- </diskarea>
- </part>
- </software>
-
- <software name="konami80" supported="no">
- <description>Konami 80's Arcade Gallery (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86228" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="konami 80's arcade gallery (japan) [slpm-86228]" sha1="09175bdc00f5fbed0cf002fa2b1decc8bcdc4250"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kmsx1" supported="no">
- <description>Konami Antiques - MSX Collection Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86052" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="konami antiques - msx collection vol.1 (japan) [slpm-86052]" sha1="6323ac42ac1570a13f7a97f30b16eca749f574cf"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kmsx2" supported="no">
- <description>Konami Antiques - MSX Collection Vol.2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86062" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="konami antiques - msx collection vol.2 (japan) [slpm-86062]" sha1="b2826f23ed2624611beab8e32c38328997961396"/>
- </diskarea>
- </part>
- </software>
-
- <software name="korokoro" supported="no">
- <description>Korokoro Postnin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03479" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="korokoro postnin (japan) [slps-03479]" sha1="0a02bfaf4b3a300ec2aa2852b250e2322477c658"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kosodate" supported="no">
- <description>Kosodate Quiz Motto My Angel (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01885" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kosodate quiz motto my angel (japan) [slps-01885]" sha1="195a37c20842f195f654df7382db42474e5cb19a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kotetsur" supported="no">
- <description>Kotetsu Reiki - Steel Dom (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00431" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kotetsu reiki - steel dom (japan) [slps-00431]" sha1="ac7026ab8680cb9428a496dd6794fd745ea81c31"/>
- </diskarea>
- </part>
- </software>
-
- <software name="koudelka" supported="no">
- <description>Koudelka (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80490" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="koudelka (japan) (demo) [slpm-80490]" sha1="65fd6032e0f5bb055b4b6469d13ce649d7b46b74"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kouryuuk" supported="no">
- <description>Kouryuuki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01338" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kouryuuki (japan) [slps-01338]" sha1="86672827c28529318919ac552aca3bba6ea99564"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kowloonj" supported="no">
- <description>Kowloon Jou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03063" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kowloon jou (japan) [slps-03063]" sha1="ad2e94cff2b08ca581ce682a190d8f5ff65aade5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="koyasaia" supported="no">
- <description>Koyasai - A Sherd of Youthful Memories (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01775" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="koyasai - a sherd of youthful memories (japan) [slps-01775]" sha1="83efca563b60a03de80d3f18499a2526943d021d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kukurose" supported="no">
- <description>Kukuro Sea Toro - Eternal Eyes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02385" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kukuro sea toro - eternal eyes (japan) [slps-02385]" sha1="e943e81cd51dac90ca2cf832f1f03a678deba517"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kunoichi" supported="no">
- <description>Kunoichi Torimonocho (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01773" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kunoichi torimonocho (japan) [slps-01773]" sha1="0c638b9e13d75dc0bc0cb22e179a245bc7e504c3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kuronoke" supported="no">
- <description>Kuro no Ken - Blade of the Darkness (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01030" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kuro no ken - blade of the darkness (japan) [slps-01030]" sha1="01ee23f7aa95f02c64db18b63080d4fb08e4da95"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kurumimi" supported="no">
- <description>Kurumi Miracle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00786" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kurumi miracle (japan) [slps-00786]" sha1="5f9da85c96d65865ead5a0593ff1afca6b4bc8a7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kururinp" supported="no">
- <description>Kururin Pa! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00066" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kururin pa! (japan) [slps-00066]" sha1="1828fb138034b7558aefbaf0f055cfa279f7fa38"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kuubosen" supported="no">
- <description>Kuubo Senki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01854" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kuubo senki (japan) [slps-01854]" sha1="0a78928581a5fabbd921d51a9babc8c114628653"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="kyorocha" supported="no">
- <description>Kyorochan no Purikura Daisakusen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01692" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kyorochan no purikura daisakusen (japan) [slps-01692]" sha1="fcb2bb174050d5497c65be6cb256d7c309c3509f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="kyuinjap" supported="no">
- <description>Kyuin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00214" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="kyuin (japan) [slps-00214]" sha1="19da738e65fd53cf8b7bfa71f226492e0c967321"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lagnacur" supported="no">
- <description>Lagnacure (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01009" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lagnacure (japan) [slps-01009]" sha1="f9a5da1bf030c866a464189985d130db3350dd42"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lagnaclg" supported="no">
- <description>Lagnacure Legend (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02832" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lagnacure legend (japan) [slps-02832]" sha1="a336b58efb1d8c7c1f1bc4b7c9629b2b17a0b938"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lakemast" supported="no">
- <description>Lake Masters Pro (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02177" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lake masters pro (japan) [slps-02177]" sha1="19304aefb8ed87390c11bc53fbb1cd39a5a84eac"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lalalapl" supported="no">
- <description>Lalala PlayStation Trial Disk 1998 Summer (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="PAPX-90052" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lalala playstation trial disk 1998 summer (japan) (demo) [papx-90052]" sha1="2d5e3a1f9273b8bc3b3aa22ea5becbeeccddb153"/>
- </diskarea>
- </part>
- </software>
-
- <software name="langriss" supported="no">
- <description>Langrisser I &amp; II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00897" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="langrisser i &amp; ii (japan) [slps-00897]" sha1="99cb0fd5b09766fb84b65588eea76b4f87804faa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="langri45" supported="no">
- <description>Langrisser IV &amp; V Final Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01818, SLPS-01819" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="langrisser iv &amp; v final edition (japan) (disc 1) [slps-01818]" sha1="3625c2aed7e01421dde47ae9ec7172fd1e45259a"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="langrisser iv &amp; v final edition (japan) (disc 2) [slps-01819]" sha1="7c131b650febf54809b44aa04f21469ceb2a44b4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="leadingj" supported="no">
- <description>Leading Jockey Highbred (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00348" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="leading jockey highbred (japan) [slps-00348]" sha1="91ef5d9de179dce0ab589ac418184de47c8e61b2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="legaiade" supported="no">
- <description>Legaia Densetsu (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="PAPX-90055" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="legaia densetsu (japan) (demo) [papx-90055]" sha1="533f2bbeac36101c5f3ce690978395015af83b2a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="legendof" supported="no">
- <description>Legend of Dragoon, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10119, SCPS-10120, SCPS-10121, SCPS-10122" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="legend of dragoon, the (japan) (disc 1) [scps-10119]" sha1="a7be80d5521580dc9a6deb6d3d4248aa80712266"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="legend of dragoon, the (japan) (disc 2) [scps-10120]" sha1="cb2549e12cf1f3ef5a9c6cde29091e340b4d95d3"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="legend of dragoon, the (japan) (disc 3) [scps-10121]" sha1="47d68fdc4e06366360cd62881d5b022e33b4634e"/>
- </diskarea>
- </part>
- <part name="cdrom4" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="legend of dragoon, the (japan) (disc 4) [scps-10122]" sha1="7b63238d1dae7cf0cd64f55a1e57e6e64e1fb089"/>
- </diskarea>
- </part>
- </software>
-
- <software name="liberogr" supported="no">
- <description>Libero Grande 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02950" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="libero grande 2 (japan) [slps-02950]" sha1="94957c3747b26ca98f7365d8760813b1a4220235"/>
- </diskarea>
- </part>
- </software>
-
- <software name="linda3cu" supported="no">
- <description>Linda 3 Cube Again (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10039" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="linda 3 cube again (japan) [scps-10039]" sha1="2fd185c6199d0fce7912de2667afde223cb792ba"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lingrise" supported="no">
- <description>Ling Rise (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01769" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ling rise (japan) [slps-01769]" sha1="983289191dc235551d19803c54f9072e3c8ec120"/>
- </diskarea>
- </part>
- </software>
-
- <software name="littlepl" supported="no">
- <description>Little Princess +1 - Maru Oukoku no Ningyou Hime 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03012, SLPS-03013" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="little princess +1 - maru oukoku no ningyou hime 2 (japan) (disc 1) [slps-03012]" sha1="14fea8b3c6b7c4c0ea1f1236b3d02c76149f1936"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="little princess +1 - maru oukoku no ningyou hime 2 (japan) (disc 2) [slps-03013]" sha1="8ce51256daa3412da5d7e58ab1d39ffef89e7061"/>
- </diskarea>
- </part>
- </software>
-
- <software name="littlepr" supported="no">
- <description>Little Princess - Marl Oukoku no Ningyou Hime 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02376" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="little princess - marl oukoku no ningyou hime 2 (japan) [slps-02376]" sha1="85c6a4eaec5e81beeaacc91d694b8b4d06fd1792"/>
- </diskarea>
- </part>
- </software>
-
- <software name="loderun2" supported="no">
- <description>Lode Runner 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86460" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lode runner 2 (japan) [slpm-86460]" sha1="3596f65c819d537bbded289ee3f6828b1cbc5df2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="loderunx" supported="no">
- <description>Lode Runner Extra (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00641" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lode runner extra (japan) [slps-00641]" sha1="a700628da019d7807b03123056902eb9d103b0da"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lonesold" supported="no">
- <description>Lone Soldier (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00322" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lone soldier (japan) [slps-00322]" sha1="1544553a3bd01a4c084a62d293a600b5648d9355"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lordoffi" supported="no">
- <description>Lord of Fist (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02168" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lord of fist (japan) [slps-02168]" sha1="9ce2a732a01cb44a66d8a9b1a8361e1ac4fd606f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lovedest" supported="no">
- <description>Love &amp; Destroy (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10124" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="love &amp; destroy (japan) [scps-10124]" sha1="f6d1c9be2c4a6c6d8887441b26c96025fda81fcc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lovelove" supported="no">
- <description>Love Love Truck (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02112" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="love love truck (japan) [slps-02112]" sha1="fd098bca2376a4bb6c4225be584f2ed30a3b238f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lsddream" supported="no">
- <description>LSD - Dream Emulator (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01556" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lsd - dream emulator (japan) [slps-01556]" sha1="17c7bd64793abbd1881d325e8612cff545c4e96c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="luciferr" supported="no">
- <description>Lucifer Ring (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01784" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lucifer ring (japan) [slps-01784]" sha1="11711b1d0aaed9b274befe2f7607b5bb9afdfa85"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lunar2et" supported="no">
- <description>Lunar 2 - Eternal Blue (Japan) (Disc 1)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02081, SLPS-02082, SLPS-02083" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunar 2 - eternal blue (japan) (disc 1) [slps-02081]" sha1="8dde7e3bc086a62f5983b33bc749c3980f187c36"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunar 2 - eternal blue (japan) (disc 2) [slps-02082]" sha1="289490d99b55a5d0773bd7fb9493d572cfe86130"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunar 2 - eternal blue (japan) (disc 3) [slps-02083]" sha1="850bb4ef2f84bb4bf4bea333b7b974cdc2b20b9b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lunarwin" supported="no">
- <description>Lunar Wing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86777" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunar wing (japan) [slpm-86777]" sha1="3167a40650f450c469f4d9df6ad7bfae710c80f5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lunatic3" supported="no">
- <description>Lunatic Dawn III (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01749" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunatic dawn iii (japan) [slps-01749]" sha1="2e94fe1d8eaf99f46ecda3d986f229fab1086b7f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lunaticd" supported="no">
- <description>Lunatic Dawn Odyssey (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02420" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lunatic dawn odyssey (japan) [slps-02420]" sha1="53f81eed12c7129979d71f0c095743e53b95ee5e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="lupsalad" supported="no">
- <description>Lup Salad - Lupupu Cube (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00416" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="lup salad - lupupu cube (japan) [slps-00416]" sha1="2077cf3f27c7133fb17c559de364cdd6f4ace26c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="madpanic" supported="no">
- <description>Mad Panic Coaster (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00880" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mad panic coaster (japan) [slps-00880]" sha1="ca52d5839cb80a94ab6ada789ffad2e96cacfd2e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="madstalk" supported="no">
- <description>Mad Stalker - Full Metal Force (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00734" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mad stalker - full metal force (japan) [slps-00734]" sha1="c7fa53477bbd0e71f07b5d3a653540ff54f48185"/>
- </diskarea>
- </part>
- </software>
-
- <software name="maestrom" supported="no">
- <description>Maestro Music, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86585" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="maestro music, the (japan) [slpm-86585]" sha1="a740753083100aa9642a709948f815cd3f74812c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="maesxmas" supported="no">
- <description>Maestro Music, The - Merry Christmas - Append Disc (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86684" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="maestro music, the - merry christmas - append disc (japan) [slpm-86684]" sha1="a4e36613a7091a625e773148355bfb2eab6eb08c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="magicald" supported="no">
- <description>Magical Drop F - Daibouken mo Rakujyanai! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02337" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="magical drop f - daibouken mo rakujyanai! (japan) [slps-02337]" sha1="a7a7e7481de4b60fb9998f76b2121c7f941346ef"/>
- </diskarea>
- </part>
- </software>
-
- <software name="magicalm" supported="no">
- <description>Magical Medical (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86099" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="magical medical (japan) [slpm-86099]" sha1="69ca62527985e05259097327ec80b5116859394d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="magicalt" supported="no">
- <description>Magical Tetris Challenge featuring Mickey Mouse (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01786" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="magical tetris challenge featuring mickey mouse (japan) [slps-01786]" sha1="c69abbd25b1af662cd11452e07a5bf89118afc26"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mahjongy" supported="no">
- <description>Mahjong Yarouze! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86173" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mahjong yarouze! (japan) [slpm-86173]" sha1="d37e86d019ca4c4fa392d52a4fbe33418caa990a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mahoutsu" supported="no">
- <description>Mahoutsukai ni Naru Houhou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01754" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mahoutsukai ni naru houhou (japan) [slps-01754]" sha1="d7642e047fb47e096e2fa9b4f5f465bc5617c598"/>
- </diskarea>
- </part>
- </software>
-
- <software name="majokkod" supported="no">
- <description>Majokko Daisakusen - Little Witching Mischiefs (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01850" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="majokko daisakusen - little witching mischiefs (japan) [slps-01850]" sha1="1a30f8846c572b79d2d4286a7f8c753f58e20a74"/>
- </diskarea>
- </part>
- </software>
-
- <software name="majotach" supported="no">
- <description>Majotachi no Nemuri - Fukkatsusai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01863" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="majotachi no nemuri - fukkatsusai (japan) [slps-01863]" sha1="348806b63549dac097b6b132e05750f5b4c31a36"/>
- </diskarea>
- </part>
- </software>
-
- <software name="makeruna" supported="no">
- <description>Makeruna! Makendo 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00128" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="makeruna! makendo 2 (japan) [slps-00128]" sha1="b89af4e7e54c854e00d5ea49d971095847d5aeb9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="marionet" supported="no">
- <description>Marionette Company (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02058" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marionette company (japan) [slps-02058]" sha1="0abdcfafb696e9e95bdf26414054d9174c2247a2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="marione2" supported="no">
- <description>Marionette Company 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02743" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marionette company 2 (japan) [slps-02743]" sha1="566531e6295f50591ad6f6fd56230b17e16094a3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="marljong" supported="no">
- <description>Marl Jong!! Limited Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03537" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marl jong!! limited edition (japan) [slps-03537]" sha1="aee6d7fb13bde6f98b949c94f2a12f4c3accbfc8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="msh" supported="no">
- <description>Marvel Super Heroes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00763" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marvel super heroes (japan) [slps-00763]" sha1="b13b8c67352324dcad30f2c5b51d519268d9f452"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mshsf" supported="no">
- <description>Marvel Super Heroes vs. Street Fighter - EX Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01915" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marvel super heroes vs. street fighter - ex edition (japan) [slps-01915]" sha1="c98001e3f599a9215c4d3c6423b6ef602702e262"/>
- </diskarea>
- </part>
- </software>
-
- <software name="marvelvs" supported="no">
- <description>Marvel vs. Capcom - Clash of the Super Heroes - EX Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02368" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="marvel vs. capcom - clash of the super heroes - ex edition (japan) [slps-02368]" sha1="7799953e2bed7f468dd3ca29280d34e27fdeb10b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mastersf" supported="no">
- <description>Master's Fighter, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00722" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="master's fighter, the (japan) [slps-00722]" sha1="c56416400c513249c19f0f6273b55d639ec2f2bd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="masumonk" supported="no">
- <description>Masumon Kids - The Another World of The Master of Monsters (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01426" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="masumon kids - the another world of the master of monsters (japan) [slps-01426]" sha1="9201e3ba84f7b2bab7e9eaa8806561b69800ba8b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="matsukat" supported="no">
- <description>Matsukata Hiroki no World Fishing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02041" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="matsukata hiroki no world fishing (japan) [slps-02041]" sha1="15295bca043dae89fad0aa4cf597b288745fa269"/>
- </diskarea>
- </part>
- </software>
-
- <software name="matsumot" supported="no">
- <description>Matsumoto Reiji - Story of Galaxy Express 999 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03220, SLPS-03221" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="matsumoto reiji - story of galaxy express 999 (japan) (disc 1) [slps-03220]" sha1="a8cc2382b4803fc0615c9cbf97167a8532dbdd59"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="matsumoto reiji - story of galaxy express 999 (japan) (disc 2) [slps-03221]" sha1="d25f08cc0005493907f252e991763edb7e5774fa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="maxracer" supported="no">
- <description>Max Racer (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00795" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="max racer (japan) [slps-00795]" sha1="ab4d1ed6379a2a6390bf38ec1d3271221beca91b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mazehero" supported="no">
- <description>Maze Heroes - Meikyuu Densetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03490" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="maze heroes - meikyuu densetsu (japan) [slps-03490]" sha1="76b3ed648e2ecdc466e0f777c0372d619f2a5c1e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="medarotr" supported="no">
- <description>Medarot R (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02414" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="medarot r (japan) [slps-02414]" sha1="8d7b22552b5948259cf1b496910b6910497a11d4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="medaropc" supported="no">
- <description>Medarot R - Parts Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02635" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="medarot r - parts collection (japan) [slps-02635]" sha1="ad3a9df8b2efce6930eb018819fa565daf80b716"/>
- </diskarea>
- </part>
- </software>
-
- <software name="megatudo" supported="no">
- <description>Megatudo 2096 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00435" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="megatudo 2096 (japan) [slps-00435]" sha1="36303ed8e1fe7f01c803d84a3240d7cef7ff9913"/>
- </diskarea>
- </part>
- </software>
-
- <software name="meishare" supported="no">
- <description>Meisha Retsuden - Greatest 70's (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01153" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meisha retsuden - greatest 70's (japan) [slps-01153]" sha1="3d23b92595ad14f8df6051838cc7d8af3feb0438"/>
- </diskarea>
- </part>
- </software>
-
- <software name="meitante" supported="no">
- <description>Meitantei Conan - Saikou no Partner (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03425" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meitantei conan - saikou no partner (japan) [slps-03425]" sha1="025978cc54b06dd4abf8f43c8764d204c7bf1a4b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="meitantt" supported="no">
- <description>Meitantei Conan - Trick Trick Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03548" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meitantei conan - trick trick vol.1 (japan) [slps-03548]" sha1="892532ae34f76a0335b7cac30a718ea1592bb189"/>
- </diskarea>
- </part>
- </software>
-
- <software name="meltylan" supported="no">
- <description>Melty Lancer - The 3rd Planet (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86231, SLPM-86232" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="melty lancer - the 3rd planet (japan) (disc 1) [slpm-86231]" sha1="292e73f883a66d82d84bd63d4a1f5a51f3e6d0eb"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="melty lancer - the 3rd planet (japan) (disc 2) [slpm-86232]" sha1="489b4e3f6addd9ad88d71eb36d8477b8b54d2196"/>
- </diskarea>
- </part>
- </software>
-
- <software name="menkyowo" supported="no">
- <description>Menkyo wo Torou - Get the License (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02685" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="menkyo wo torou - get the license (japan) [slps-02685]" sha1="6849e62c2ca7c923069a310ef2e8331d9e75aaee"/>
- </diskarea>
- </part>
- </software>
-
- <software name="meremano" supported="no">
- <description>Meremanoid (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01664" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meremanoid (japan) [slps-01664]" sha1="2b05b8a895dbe9c2b2a01aee2812d21d5dcaa5ab"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mermaidn" supported="no">
- <description>Mermaid no Kisetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86934, SLPM-86935, SLPM-86936" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mermaid no kisetsu (japan) (disc 1) [slpm-86934]" sha1="19bea61c26cb21afebf0231f93a4b790413cfd83"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mermaid no kisetsu (japan) (disc 2) [slpm-86935]" sha1="7521b0cf8d14839e49044306b35bafbe4d6ad65f"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mermaid no kisetsu (japan) (disc 3) [slpm-86936]" sha1="a1140d534e3533ace09f84f7f8140d38ee207cbe"/>
- </diskarea>
- </part>
- </software>
-
- <software name="metaphli" supported="no">
- <description>Meta-Ph-List Gamma X 2097 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00680, SLPS-00681" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meta-ph-list gamma x 2097 (japan) (disc 1) [slps-00680]" sha1="01bf7582301c4b5a682c91f6ddc117e3301a8fac"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="meta-ph-list gamma x 2097 (japan) (disc 2) [slps-00681]" sha1="c1d4f9fa622870bdc8ee078b44ea74851293e655"/>
- </diskarea>
- </part>
- </software>
-
- <software name="metalang" supported="no">
- <description>Metal Angel 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00867, SLPS-00868" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="metal angel 3 (japan) (disc 1) [slps-00867]" sha1="664acf3c8dfa09f7bbd3496bfabf21aad5573b49"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="metal angel 3 (japan) (disc 2) [slps-00868]" sha1="6be2fde23377119393eb39876aadc0f5b03fef32"/>
- </diskarea>
- </part>
- </software>
-
- <software name="metalfis" supported="no">
- <description>Metal Fist (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01164" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="metal fist (japan) [slps-01164]" sha1="1d4f60de599997e04543d2249f873cb0763d0b07"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mezasese" supported="no">
- <description>Mezase! Senkyuuou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00313" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mezase! senkyuuou (japan) [slps-00313]" sha1="736bc4a0ad6b3315516ceaf5ced58f044a466ca8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="michibhk" supported="no">
- <description>Michinoku Hitou Koi Monogatari - Bishoujo Hanafuda Kikou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00941" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="michinoku hitou koi monogatari - bishoujo hanafuda kikou (japan) [slps-00941]" sha1="028be2d15cf3b85ed9eb68c92e8d7d6f3e3330a4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="michinok" supported="no">
- <description>Michinoku Hitou Koimonogatari Kai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02502" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="michinoku hitou koimonogatari kai (japan) [slps-02502]" sha1="bcb5514958fb0afc003c4f584880c675a9ddf0aa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="minimoni" supported="no">
- <description>Mini Moni - Shaker &amp; Tambourine! Dapyon! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87132" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mini moni - shaker &amp; tambourine! dapyon! (japan) [slpm-87132]" sha1="da020789e94ef440bb46eb4e9c5b61cafc8d2340"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ministep" supported="no">
- <description>Mini Moni - Step Pyon Pyon Pyon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87195" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mini moni - step pyon pyon pyon (japan) [slpm-87195]" sha1="7a04e06316e0604c045f658de315febf65bc035d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="miniyonk" supported="no">
- <description>Mini-Yonku Hakusou Kyoudai - Rettsu &amp; Go!! - WGP Hyper Heat (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01078" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mini-yonku hakusou kyoudai - rettsu &amp; go!! - wgp hyper heat (japan) [slps-01078]" sha1="81fbd10222fcdc35ca2160933c5005e272d788c5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="minnaats" supported="no">
- <description>Minna Atsumare! Igo Kyoushitsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03554" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="minna atsumare! igo kyoushitsu (japan) [slps-03554]" sha1="967f7baeecac40ce03994e39f5a7ad8e458672f1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="misakiag" supported="no">
- <description>Misaki-Aggressive! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01474" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="misaki-aggressive! (japan) [slps-01474]" sha1="9a17567c640c6c5a775dbe183f3e7795c6deda0c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mitouhou" supported="no">
- <description>Mitouhou he no Chousen - Alps-hen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00662" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mitouhou he no chousen - alps-hen (japan) [slps-00662]" sha1="51f496d6fa45671d0507e9e7d58df564158367d0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mizzurna" supported="no">
- <description>Mizzurna Falls (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01783" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mizzurna falls (japan) [slps-01783]" sha1="bb448880cf48fd5a6264cdc2532eec5e2b65c673"/>
- </diskarea>
- </part>
- </software>
-
- <software name="momotade" supported="no">
- <description>Momotarou Densetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01785" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="momotarou densetsu (japan) [slps-01785]" sha1="766aad00ed067d9beeb06437da0769a33f02748b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="momotaro" supported="no">
- <description>Momotarou Matsuri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86888" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="momotarou matsuri (japan) [slpm-86888]" sha1="47db6642534b21e4eb07363205230ffe68a2850a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="moneyido" supported="no">
- <description>Money Idol Exchanger (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00963" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="money idol exchanger (japan) [slps-00963]" sha1="c1a7af9e066c078fc34dcdcb001c8bbf11fe28f2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="monsterc" supported="no">
- <description>Monster Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02245" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="monster collection (japan) [slps-02245]" sha1="c89a282cef8aa778d86cc360b670036349932778"/>
- </diskarea>
- </part>
- </software>
-
- <software name="monsterf" supported="no">
- <description>Monster Farm Battle Card (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02653" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="monster farm battle card (japan) [slps-02653]" sha1="df30d0a84d57cfda6fcf1a70313bdd9a361fe459"/>
- </diskarea>
- </part>
- </software>
-
- <software name="monsterp" supported="no">
- <description>Monster Paradise (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00915" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="monster paradise (japan) [slps-00915]" sha1="898ecfa73c9475577a3e254f8d4408876b7c3f13"/>
- </diskarea>
- </part>
- </software>
-
- <software name="morinoou" supported="no">
- <description>Mori no Oukoku - Kingdom of Forest (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01861" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mori no oukoku - kingdom of forest (japan) [slps-01861]" sha1="84911ebb3e48a8bd55de2135519ab455f921ae4c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mourimot" supported="no">
- <description>Mouri Motonari - Chikai no Sanshi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01285" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mouri motonari - chikai no sanshi (japan) [slps-01285]" sha1="fbd1f566e07787729396a4af538fff0336f1a77b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="mrdrille" supported="no">
- <description>Mr. Driller G (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03336" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mr. driller g (japan) [slps-03336]" sha1="7cc8b14fff4541a0a80d96b886e029e4b07d58a8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="munasawa" supported="no">
- <description>Munasawagi no Yokan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02064" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="munasawagi no yokan (japan) [slps-02064]" sha1="260d16081f2ae2f83c4a3897a264c76ed02e8509"/>
- </diskarea>
- </part>
- </software>
-
- <software name="musclera" supported="no">
- <description>Muscle Ranking - Kinniku Banzuke Vol.2 - Aratanaru Genkai he no Chousen! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86457" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="muscle ranking - kinniku banzuke vol.2 - aratanaru genkai he no chousen! (japan) [slpm-86457]" sha1="e64631e2c00519dbfa176a58295dfc778ba4747c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="myhomedr" supported="no">
- <description>My Home Dream 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02470" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="my home dream 2 (japan) [slps-02470]" sha1="f78a5892b088aaa15532e4889e5699ff8148065e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mysticar" supported="no">
- <description>Mystic Ark - Maboroshi Gekijou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86147" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mystic ark - maboroshi gekijou (japan) [slpm-86147]" sha1="cfe055946c3d8f8c2b33abf2f3e4d965cd0b1707"/>
- </diskarea>
- </part>
- </software>
-
- <software name="mysticdr" supported="no">
- <description>Mystic Dragoons, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02103" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="mystic dragoons, the (japan) [slps-02103]" sha1="af612611a90392214ada366a3343f8293a5cf2ae"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nagelibr" supported="no">
- <description>Nage Libre - Rasen No Soukoku</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="Nage Libre - Rasen No Soukok" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nage libre - rasen no soukoku" sha1="bee8d8e54447d4d67817a9b05093939813824c26"/>
- </diskarea>
- </part>
- </software>
-
- <software name="namjabun" supported="no">
- <description>Namjabu no Daibouken - My Favorite NamjaTown (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86601" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="namjabu no daibouken - my favorite namjatown (japan) [slpm-86601]" sha1="6f438b5e8b63b0f5a605153b5ca99663df95c208"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nanatsun" supported="no">
- <description>Nanatsu no Hikan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00410, SLPS-00411, SLPS-00412" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nanatsu no hikan (japan) (disc 1) [slps-00410]" sha1="8e99eed96113afe8ba70a33f9b2d664b2af02968"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nanatsu no hikan (japan) (disc 2) [slps-00411]" sha1="e99f253f62061d6f5fa0666c66b0f70e17ad5780"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nanatsu no hikan (japan) (disc 3) [slps-00412]" sha1="5d1e454cfab1e7b9b4ed5168b6e4338fdb85fb4d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="naniwano" supported="no">
- <description>Naniwa no Akindo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00768" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="naniwa no akindo (japan) [slps-00768]" sha1="535cdc2e97cab135f2047245179d0ef7b59d9e29"/>
- </diskarea>
- </part>
- </software>
-
- <!-- missing Disc 2? -->
- <software name="natsuiro" supported="no">
- <description>Natsuiro Kenjutsu Komachi [Limited Edition] (Japan) (Disc 1 Only)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02665" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="natsuiro kenjutsu komachi [limited edition] (japan) (disc 1) [slps-02665]" sha1="41255a012b60a20497a4e51e3eebef090c2d2515"/>
- </diskarea>
- </part>
- </software>
-
- <software name="navitjap" supported="no">
- <description>Navit (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01530" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="navit (japan) [slps-01530]" sha1="d0732a187f2e01290005e82eea375f41d7eb7de5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nbapower" supported="no">
- <description>NBA Power Dunkers 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86176" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nba power dunkers 4 (japan) [slpm-86176]" sha1="8c81888b1de9124025349bd446a18675d01e1589"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nemuruma" supported="no">
- <description>Nemuru Mayu - Sleeping Cocoon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02597" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nemuru mayu - sleeping cocoon (japan) [slps-02597]" sha1="665ec0b112682a2ead0c187e9a4d158621db560b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="neorudej" supported="no">
- <description>Neorude (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00823, SLPS-00824" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="neorude (japan) (disc 1) [slps-00823]" sha1="d904574de2aedb75d89d7fcdedfa0d3ca0701580"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="neorude (japan) (disc 2) [slps-00824]" sha1="db628e31b7ea1bcac7420f8d61ff2d633946843e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="neorude2" supported="no">
- <description>Neorude 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01112" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="neorude 2 (japan) [slps-01112]" sha1="ca2c6e484d283418c3397e7f3bd7f29ffc0029ad"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nextking" supported="no">
- <description>Next King - Koi no Sennen Oukoku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00859" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="next king - koi no sennen oukoku (japan) [slps-00859]" sha1="e190511aac038a53eeadfdbbc3751695a6514ea1"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="nexttedx" supported="no">
- <description>Next Tetris, The (Deluxe) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02507" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="next tetris, the (deluxe) (japan) [slps-02507]" sha1="df60a8951e97822388e3da0962e4ff63dbeb92b9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="nexttetr" supported="no">
- <description>Next Tetris, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01774" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="next tetris, the (japan) [slps-01774]" sha1="de077bad7bfa8e50defcd67f9f576fd0f4fcfd9e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nichibut" supported="no">
- <description>Nichibutsu Arcade Classics (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00184" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nichibutsu arcade classics (japan) [slps-00184]" sha1="19151b0aa09efbe8a35c8c3ff8072d056bb89bbb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nightrai" supported="no">
- <description>Night Raid (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87048" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="night raid (japan) [slpm-87048]" sha1="41b8970e96c8095af9973d5ad78bee7b66ee5533"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nijiirod" supported="no">
- <description>Nijiiro Dodgeball - Otometachi no Seishun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87039" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nijiiro dodgeball - otometachi no seishun (japan) [slpm-87039]" sha1="32d2946d528a0253d6619e35cdb914df823db50b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ningyono" supported="no">
- <description>Ningyo no Rakuin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02854" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ningyo no rakuin (japan) [slps-02854]" sha1="28bf977eb6eb2223d6c2923c1e6bb77ca7734727"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ninjajaj" supported="no">
- <description>Ninja Jajamarukun - Onigiri Ninpouchou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00494" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ninja jajamarukun - onigiri ninpouchou (japan) [slps-00494]" sha1="7c6da32b97296cf0cc9534bf64be4166fc965769"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ninkujap" supported="no">
- <description>Ninku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00172" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ninku (japan) [slps-00172]" sha1="9ca24932ae97550a90bebef27c0f42782703c143"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ninpusen" supported="no">
- <description>Ninpu Sentai Harikenger (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03493" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ninpu sentai harikenger (japan) [slps-03493]" sha1="e429905b19293fe7efda76a98dc60754129af7b8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nobunaga" supported="no">
- <description>Nobunaga no Yabou - Reppuuden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86300" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nobunaga no yabou - reppuuden (japan) [slpm-86300]" sha1="9f9c31e266b9f97aa5b5a6af6daba2ba2ff5d222"/>
- </diskarea>
- </part>
- </software>
-
- <software name="noel3mis" supported="no">
- <description>Noel 3 - Mission on the Line (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01895, SLPS-01896, SLPS-01897" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="noel 3 - mission on the line (japan) (disc 1) [slps-01895]" sha1="2628f5244b93e30cbe18cce693836582d54b8e17"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="noel 3 - mission on the line (japan) (disc 2) [slps-01896]" sha1="cfc602cf523adef77de8616e0ea2679edb2de824"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="noel 3 - mission on the line (japan) (disc 3) [slps-01897]" sha1="2f788a46ab3238ce4124a5f833a69c8977de38dc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nottreas" supported="no">
- <description>Not Treasure Hunter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00274" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="not treasure hunter (japan) [slps-00274]" sha1="52c6463a531ffa98b076ce085d15ddc8700090f8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="novastor" supported="no">
- <description>Novastorm (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00314, SLPS-00315" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="novastorm (japan) (disc 1) [slps-00314]" sha1="1c0d901c19d5be418c3a72e877cddc9c2d6c9ae1"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="novastorm (japan) (disc 2) [slps-00315]" sha1="90d373ba0f02143e735cbaf236103cfc2879b350"/>
- </diskarea>
- </part>
- </software>
-
- <software name="nyanyang" supported="no">
- <description>Nya Nyan ga Nyan - Light Fantasy Gaiden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02336" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="nya nyan ga nyan - light fantasy gaiden (japan) [slps-02336]" sha1="bfbf6934023ad8d41e2164ec8cbabdf7a6a61630"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oasisroa" supported="no">
- <description>Oasis Road (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01899" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oasis road (japan) [slps-01899]" sha1="f6bd7eea4c2746807953544a005292232c260151"/>
- </diskarea>
- </part>
- </software>
-
- <software name="odanobun" supported="no">
- <description>Oda Nobunaga Den (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01595" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oda nobunaga den (japan) [slps-01595]" sha1="88a866e855e05f3a9867c24866c1eaa9eeb670c7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="odoodood" supported="no">
- <description>Odo Odo Oddity (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00754" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="odo odo oddity (japan) [slps-00754]" sha1="d0889f75cf357c785db159d1f183fc025293d942"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ojamajod" supported="no">
- <description>Oja Majo Doremi Dokkan! Nijiro Paradise (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03497" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oja majo doremi dokkan! nijiro paradise (japan) [slps-03497]" sha1="fa82af5ce48ed5aa2610588d292d00bbbd3f4c20"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ojousama" supported="no">
- <description>Ojousama Express (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01495, SLPS-01496" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ojousama express (japan) (disc 1) [slps-01495]" sha1="54111c440b8c72966571b7cc96a2a06cd17f28cb"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ojousama express (japan) (disc 2) [slps-01496]" sha1="7ef8ec9af18575e337efc0865b4e35b18226704e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="olympiay" supported="no">
- <description>Olympia Yamasa - Virtua Pachi-Slot II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00714" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="olympia yamasa - virtua pachi-slot ii (japan) [slps-00714]" sha1="1eee0824db17f8f21bf9cf331c97ed8fd30d3cae"/>
- </diskarea>
- </part>
- </software>
-
- <software name="omiaicom" supported="no">
- <description>Omiai Command - BaCouple ni Tsukkomi wo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-86439" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="omiai command - bacouple ni tsukkomi wo (japan) [slps-86439]" sha1="adee3cdc9a081f785334e43d7aeda5dab21f657c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="omisedet" supported="no">
- <description>Omise de Tensyu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01876" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="omise de tensyu (japan) [slps-01876]" sha1="08c5216ee974d716b16e2aaac3c881f3a4a6c13d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="onejapan" supported="no">
- <description>One (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01812" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="one (japan) [slps-01812]" sha1="cfcded599ceba488f2ce19970ee48be405c123ca"/>
- </diskarea>
- </part>
- </software>
-
- <software name="onetwosm" supported="no">
- <description>One Two Smash - Tanoshii Tennis (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02585" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="one two smash - tanoshii tennis (japan) [slps-02585]" sha1="263447c87cd97d500ae60148a4568b5293d9723d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ongakut2" supported="no">
- <description>Ongaku Tsukuru - Kanade-Ru 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00903" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ongaku tsukuru - kanade-ru 2 (japan) [slps-00903]" sha1="de1b1009a369c9b0b14f5f34a33b3c89d7f88d85"/>
- </diskarea>
- </part>
- </software>
-
- <software name="ongakut3" supported="no">
- <description>Ongaku Tsukuru 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03161" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ongaku tsukuru 3 (japan) [slps-03161]" sha1="78cf257c93d46be3bcdfc1402d5f624318688449"/>
- </diskarea>
- </part>
- </software>
-
- <software name="optiontu" supported="no">
- <description>OPTION Tuning Car Battle Spec-R (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02587" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="option tuning car battle spec-r (japan) [slps-02587]" sha1="8a9c31707458b220b11146fe06775368064afe03"/>
- </diskarea>
- </part>
- </software>
-
- <software name="orenoryo" supported="no">
- <description>Ore No Ryouri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10099" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ore no ryouri (japan) [scps-10099]" sha1="fc7041bc76c8d75a5d06ef955c09896e4dc5a047"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oretomba" supported="no">
- <description>Ore! Tomba (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01144" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ore! tomba (japan) [slps-01144]" sha1="d55669905f0c545f81f296ff5f83a47210e0ef4f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oshigoto" supported="no">
- <description>Oshigoto-shiki Jinsei Game - Mezase Shokugyou-oh (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03056" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oshigoto-shiki jinsei game - mezase shokugyou-oh (japan) [slps-03056]" sha1="11d929b90f5803bca9683465a0a9a74d973ae212"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oujisama" supported="no">
- <description>Oujisama Lv.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03412" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oujisama lv.1 (japan) [slps-03412]" sha1="e2e24553cb6ff82d7399af6754ab65c55853478f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oukyuuno" supported="no">
- <description>Oukyuu no Hihou - Tenshon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00438" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oukyuu no hihou - tenshon (japan) [slps-00438]" sha1="6ab854d1f0497882488905745535701a51814a56"/>
- </diskarea>
- </part>
- </software>
-
- <software name="oumagato" supported="no">
- <description>Oumagatoki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03235" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="oumagatoki (japan) [slps-03235]" sha1="95ef43c904cc8b5433eb9eba23ae58740dac1e5f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="outliveb" supported="no">
- <description>Out Live - Be Eliminate Yesterday (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00746" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="out live - be eliminate yesterday (japan) [slps-00746]" sha1="a0f3554634390bc36bc1d0dbc20f8cea2cd51c20"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pacapaca" supported="no">
- <description>Pacapaca Passion (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02122" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pacapaca passion (japan) [slps-02122]" sha1="62eeb5247a76aba850056fb5590e1dd6e91d948e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pacapac2" supported="no">
- <description>Pacapaca Passion 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02720" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pacapaca passion 2 (japan) [slps-02720]" sha1="9d9226b68a2bffcaee2d033a2f3235fafbbee97f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pachipac" supported="no">
- <description>Pachi Pachi Saga (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00288" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi pachi saga (japan) [slps-00288]" sha1="3fcc96fee9a25c7b092270ab439755c613a9f9ee"/>
- </diskarea>
- </part>
- </software>
-
- <software name="psao5" supported="no">
- <description>Pachi-Slot Aruze Oukoku 5 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03280" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot aruze oukoku 5 (japan) [slps-03280]" sha1="810d18795b941acc39f9acb5594e7d5fdcd7a178"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstbk" supported="no">
- <description>Pachi-Slot Teiou - Battle Knight &amp; Atlantis Doom (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03108" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou - battle knight &amp; atlantis doom (japan) [slps-03108]" sha1="f33ca4dcbeb8182f0544631346a1b86cf89d6872"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pststwis" supported="no">
- <description>Pachi-Slot Teiou - Shimauta-30 - Twiste - Nangoku Monogarari-30 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03442" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou - shimauta-30 - twiste - nangoku monogarari-30 (japan) [slps-03442]" sha1="2504dc668a6de0a4e5032fbb50102434cbf1852a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pst2" supported="no">
- <description>Pachi-Slot Teiou 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02217" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou 2 (japan) [slps-02217]" sha1="d1f7386e7cae077118d2cb25fa44487c705e3d7a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pst3" supported="no">
- <description>Pachi-Slot Teiou 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02413" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou 3 (japan) [slps-02413]" sha1="d99d2191e8c0d2059543119748d3b22b21878895"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pst6" supported="no">
- <description>Pachi-Slot Teiou 6 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02657" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou 6 (japan) [slps-02657]" sha1="d0fd0e8884e5a40a17e56766f38548d8c57d244d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pst7" supported="no">
- <description>Pachi-Slot Teiou 7 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02991" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou 7 (japan) [slps-02991]" sha1="d2e69cd5d8ae184a70cdbb43502f79b685b1c801"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstmsm3" supported="no">
- <description>Pachi-Slot Teiou Maker Suishou Manual 3 - I'm Angel - White 2 &amp; Blue 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03130" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou maker suishou manual 3 - i'm angel - white 2 &amp; blue 2 (japan) [slps-03130]" sha1="9f47dfe061f1177ddfdba6f89a972ed0a2e626dc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstmsm5" supported="no">
- <description>Pachi-Slot Teiou Maker Suishou Manual 5 - Race Queen 2 - Tomcat (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03245" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou maker suishou manual 5 - race queen 2 - tomcat (japan) [slps-03245]" sha1="ddb3ec382638fe6bbaa58b53f0e26b7cc682014c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstmsm6" supported="no">
- <description>Pachi-Slot Teiou Maker Suishou Manual 6 - Takarabune (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03329" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou maker suishou manual 6 - takarabune (japan) [slps-03329]" sha1="1f0b453651cfaaaa6de31b690147490035cb2f96"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstmsm7" supported="no">
- <description>Pachi-Slot Teiou Maker Suishou Manual 7 - Trick Monster 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03391" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou maker suishou manual 7 - trick monster 2 (japan) [slps-03391]" sha1="b463cef08ac4f19087ac99ac383a75d68efac9be"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pstmda" supported="no">
- <description>Pachi-Slot Teiou Mini - Dr. A7 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02114" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pachi-slot teiou mini - dr. a7 (japan) [slps-02114]" sha1="ef446bb7d3910255b5fcd88cf31b2fbac11be610"/>
- </diskarea>
- </part>
- </software>
-
- <software name="palmtown" supported="no">
- <description>Palm Town (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01820" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="palm town (japan) [slps-01820]" sha1="3401122a73ffa9845354b0c454a893415c311f8a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="panzerba" supported="no">
- <description>Panzer Bandit (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00899" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="panzer bandit (japan) [slps-00899]" sha1="a5c0eba62632123ba8f205a05b4385f01939fbf9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="panzerfr" supported="no">
- <description>Panzer Front bis. (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03111" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="panzer front bis. (japan) [slps-03111]" sha1="3ddad3db096218462d47605f7af6368ce5d147f4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="paranoia" supported="no">
- <description>Paranoia Scape (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01375" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="paranoia scape (japan) [slps-01375]" sha1="b9bbbc778b1d877f6c32771385e9e9d5ee37e009"/>
- </diskarea>
- </part>
- </software>
-
- <software name="parlorpr" supported="no">
- <description>Parlor! Pro Jr. Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02781" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="parlor! pro jr. collection (japan) [slps-02781]" sha1="a99e3b7698ba9833d3db01117bfff4b7699702dc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="parowars" supported="no">
- <description>Paro Wars (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86016" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="paro wars (japan) [slpm-86016]" sha1="8d90fbb8e166427393484b0561bf10bff29c0410"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pdultram" supported="no">
- <description>PD Ultraman Invader (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00195" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pd ultraman invader (japan) [slps-00195]" sha1="aaf186e452aecac66f3c67113f52cfd5b93ed17c"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pepsiman" supported="no">
- <description>Pepsiman The Running Hero (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01762" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pepsiman the running hero (japan) [slps-01762]" sha1="05059038170ed7837dfe291422458e7a3bf6d806"/>
- </diskarea>
- </part>
- </software>
-
- <software name="perfectf" supported="no">
- <description>Perfect Fishing - Iso Zuri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02410" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="perfect fishing - iso zuri (japan) [slps-02410]" sha1="85d1e8bd667a3dc291e5bf8e4ac4abb2c5696b2c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- missing GFX -->
- <software name="petitcar" supported="no">
- <description>Petit Carat (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01435" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="petit carat (japan) [slps-01435]" sha1="d5a4844ddc86dbc9ac5a3b783a93e5dbf0c1bace"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="picnicex" supported="no">
- <description>Picnic! Excellent (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01345" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="picnic! excellent (japan) [slps-01345]" sha1="0ad2b3c7fcb3ff938959e39249af4cf437b91170"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="pinballf" supported="no">
- <description>Pinball Fantasies Deluxe (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00482" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pinball fantasies deluxe (japan) [slps-00482]" sha1="ff97d2d841827729dd985bed4ec8ce3009247d8a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pitfall3" supported="no">
- <description>Pitfall 3D - Beyond the Jungle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01669" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pitfall 3d - beyond the jungle (japan) [slps-01669]" sha1="40a4238addeb4d795cd29c012681a6d43d4b1e7d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="planetdo" supported="no">
- <description>Planet Dob (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02111" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="planet dob (japan) [slps-02111]" sha1="22fc26a31998261c0bfa87ad4d5205ce531b894e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="planetla" supported="no">
- <description>Planet Laika - Kasei Mokushiroku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86264" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="planet laika - kasei mokushiroku (japan) [slpm-86264]" sha1="a8b5d72d06242cedda71fa362587da79d3d35dcc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pocketdi" supported="no">
- <description>Pocket Digimon World (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02800" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pocket digimon world (japan) [slps-02800]" sha1="325cde2d68bfa5730371dce51d8ca78fde69f5a2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pocketwb" supported="no">
- <description>Pocket Digimon World - Wind Battle Disc (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02992" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pocket digimon world - wind battle disc (japan) [slps-02992]" sha1="a8cb3aff5dd8ac362f915645fa2329933e9b0383"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pocketwc" supported="no">
- <description>Pocket Digimon World Cool &amp; Nature Battle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03146" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pocket digimon world cool &amp; nature battle (japan) [slps-03146]" sha1="63519d85dde68f5232825cf4f0de6d1a365557b4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pocketfi" supported="no">
- <description>Pocket Fighter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01360" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pocket fighter (japan) [slps-01360]" sha1="2d6a18378ffaeafe3b4619c007ab0b3c0deb53aa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pocketmu" supported="no">
- <description>Pocket Muumuu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10076" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pocket muumuu (japan) [scps-10076]" sha1="5e1c4507fe4f363b5b135dfbeb779fad34695ee0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="poitters" supported="no">
- <description>Poitter's Point 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86061" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="poitter's point 2 (japan) [slpm-86061]" sha1="52fba1839b5748d73d5669d19b316276aecce2fb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="policena" supported="no">
- <description>Policenauts - Private Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00228" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="policenauts - private collection (japan) [slps-00228]" sha1="00fde78d90b67ca404ed9e7a08b777c6d34aaec7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="popnmusi" supported="no">
- <description>Pop'n Music - Disney Tunes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86670" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pop'n music - disney tunes (japan) [slpm-86670]" sha1="3145a249f9f46a8e17c19602ed0c20d80c264488"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="popnpopj" supported="no">
- <description>Pop'n Pop (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01636" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pop'n pop (japan) [slps-01636]" sha1="315964f03b1d9866a0a785fd475357f2af5443ab"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="popntank" supported="no">
- <description>Pop'n Tanks! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86146" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pop'n tanks! (japan) [slpm-86146]" sha1="8c595e77213df35882ada74390f7c80c397dad92"/>
- </diskarea>
- </part>
- </software>
-
- <software name="potestas" supported="no">
- <description>Potestas (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00324" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="potestas (japan) [slps-00324]" sha1="15e3cb60041e26e90fa07ea9fc42e9d3d35b85b0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="powersho" supported="no">
- <description>Power Shovel ni Norou!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86629" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="power shovel ni norou!! (japan) [slpm-86629]" sha1="df87356e9a69fdd1983e8caa52e8342fb7525b46"/>
- </diskarea>
- </part>
- </software>
-
- <software name="powersta" supported="no">
- <description>Power Stakes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86032" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="power stakes (japan) [slpm-86032]" sha1="34223145bab13b70bdf178d46fe092901287b5bf"/>
- </diskarea>
- </part>
- </software>
-
- <software name="powersg1" supported="no">
- <description>Power Stakes Grade 1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86050" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="power stakes grade 1 (japan) [slpm-86050]" sha1="7b9bb7d1c7167f2b5a043b0e420b4ef4d55e9044"/>
- </diskarea>
- </part>
- </software>
-
- <software name="princess" supported="no">
- <description>Princess Maker - Go! Go! Princess (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01505" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="princess maker - go! go! princess (japan) [slps-01505]" sha1="4faa6469f107df8afa4c583e5b60ede728491fa1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="prismcou" supported="no">
- <description>Prism Court (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01226" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="prism court (japan) [slps-01226]" sha1="551190dcfc4fab8e9980dd1a5bde9aac426f8ad8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="prisoner" supported="no">
- <description>Prisoner (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02387" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="prisoner (japan) [slps-02387]" sha1="4362c4ba4af8f6084b31fbb2b6c82b96ec1b0fdd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="promahpl" supported="no">
- <description>Pro Mahjong Kiwame Plus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00402" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pro mahjong kiwame plus (japan) [slps-00402]" sha1="833b3c487357415790d3d1d1e347d446e889ec74"/>
- </diskarea>
- </part>
- </software>
-
- <software name="promahjo" supported="no">
- <description>Pro Mahjong Kiwame Tengensenhen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02347" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pro mahjong kiwame tengensenhen (japan) [slps-02347]" sha1="acba9c80f641afcdb3dcba1d9a313194f36119f1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="prowrest" supported="no">
- <description>Pro Wrestling Sengokuden - Hyper Tag Match (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01006" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pro wrestling sengokuden - hyper tag match (japan) [slps-01006]" sha1="8b5a7132e5727ed8d3e0b6ec044ee393c9fd2310"/>
- </diskarea>
- </part>
- </software>
-
- <software name="prologic" supported="no">
- <description>Pro-Logic Mah-Jong Hai-Shin (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86018" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pro-logic mah-jong hai-shin (japan) [slpm-86018]" sha1="a48d783cceecbb30c106cbc623badfa169b1d603"/>
- </diskarea>
- </part>
- </software>
-
- <software name="pukunpaj" supported="no">
- <description>Pukunpa - Joshi Kousei no Houkago... (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00409" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="pukunpa - joshi kousei no houkago... (japan) [slps-00409]" sha1="6ccb3d1f93ec9d1afe7c56ba39836f2c330fdad0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="puyopubx" supported="no">
- <description>Puyo Puyo Box (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03114" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="puyo puyo box (japan) [slps-03114]" sha1="7c586b5b087d06e3e63231872f9ba748456eb564"/>
- </diskarea>
- </part>
- </software>
-
- <software name="puypuyoo" supported="no">
- <description>Puyo Puyoon - Car-Kun to Issho (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02412" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="puyo puyoon - car-kun to issho (japan) [slps-02412]" sha1="a2c87ae6a724a2d66bffe82dbcfd4b634f752606"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="puzzlear" supported="no">
- <description>Puzzle Arena Toshinden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00879" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="puzzle arena toshinden (japan) [slps-00879]" sha1="0b36965bc326b75a1cf8de3d48204311e158a86d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="pbobl3dx" supported="no">
- <description>Puzzle Bobble 3 DX (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01065" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="puzzle bobble 3 dx (japan) [slps-01065]" sha1="0e1f2eccbea8b5f61bda4da1bb9cc5b3595ffd58"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="pbobl4" supported="no">
- <description>Puzzle Bobble 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01492" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="puzzle bobble 4 (japan) [slps-01492]" sha1="0b529111386fe5a0f888615a7290834e7b1c70f8"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, must skip fmv before it begins or black screen -->
- <software name="qix2000j" supported="no">
- <description>Qix 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86659" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="qix 2000 (japan) [slpm-86659]" sha1="159f0b9ecd96f0e7e05db60dde48a2d0b0db536b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="quantumg" supported="no">
- <description>Quantum Gate I - Akumu no Joshou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00399" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="quantum gate i - akumu no joshou (japan) [slps-00399]" sha1="d1ee6a80aadef1910200e0c8c2183a01a7bf8b97"/>
- </diskarea>
- </part>
- </software>
-
- <software name="quizchar" supported="no">
- <description>Quiz Charaokedon! Toei Tokusatsu Hero Part 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02310" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="quiz charaokedon! toei tokusatsu hero part 2 (japan) [slps-02310]" sha1="bd241dcb69cf4a52f6a3cb4e070ce918fcd11304"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="quizdara" supported="no">
- <description>Quiz Darake no Jinsei Game - Un to Atama de Daifugou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02282" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="quiz darake no jinsei game - un to atama de daifugou (japan) [slps-02282]" sha1="be640fb0fa119194f4001f32f2229e9ff4c0ac17"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hang starting new game -->
- <software name="quizmill" supported="no">
- <description>Quiz Millionaire (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03364" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="quiz millionaire (japan) [slps-03364]" sha1="07e171e65ddd08bd1c2e621a7b49318c5ce82574"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="quovadis" supported="no">
- <description>Quo Vadis - Iberukatsu Seneki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00733" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="quo vadis - iberukatsu seneki (japan) [slps-00733]" sha1="81c7dc80bcf196fe49bf0cc56f62d24f501bdc66"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="racedriv" supported="no">
- <description>Race Drivin' a Go! Go! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00167" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="race drivin' a go! go! (japan) [slps-00167]" sha1="e689874565e244d6e3fd4507ce3e2ff1b8c0f9a8"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="rakugaki" supported="no">
- <description>Rakugaki Showtime (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86272" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rakugaki showtime (japan) [slpm-86272]" sha1="04d8d0608d92f3821ba379c624f8cd06bb5a79c1"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="rallydea" supported="no">
- <description>Rally de Africa (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01601" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rally de africa (japan) [slps-01601]" sha1="145436794bac3b21bcbcfdce681ad0cd5e093b0e"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="rallydee" supported="no">
- <description>Rally de Europe (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02679" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rally de europe (japan) [slps-02679]" sha1="eba2ac192b85858f4323fc1da8f942baa270b158"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after some movies -->
- <software name="ramichan" supported="no">
- <description>Ramichan no Odeo Surogoku - Keio Yugekitai Gaiden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01546" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ramichan no odeo surogoku - keio yugekitai gaiden (japan) [slps-01546]" sha1="cb41badff194bc38a6c8b50c7cc18f42e6980eb6"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ranma12b" supported="no">
- <description>Ranma 1-2 - Battle Renaissance (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00522" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ranma 1-2 - battle renaissance (japan) [slps-00522]" sha1="20f113d01ee14681008b1df3fde72e7d02ffb69d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="raytrace" supported="no">
- <description>Ray Tracers (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00098" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ray tracers (japan) [slps-00098]" sha1="b034a03a6014e6a88b3f80bf47684bf7dc8f5451"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hangs at company logo -->
- <software name="raymanja" supported="no">
- <description>Rayman (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00026" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rayman (japan) [slps-00026]" sha1="acc0a8820b81fb55134868021a6facc3def1eb1a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="readymai" supported="no">
- <description>Ready Maid (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87157" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ready maid (japan) [slpm-87157]" sha1="d7119602cb04b7bec9916e7a83d867eb1d8e11a7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="rbffsdm" supported="no">
- <description>Real Bout Garou Densetsu Special - Dominated Mind (Limited Edition) (Japan) (Disc 1)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86090, SLPM-86091" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="real bout garou densetsu special - dominated mind (limited edition) (japan) (disc 1) [slpm-86090]" sha1="b3022a230179baf4ae09995585bd771f373b5d6a"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="real bout garou densetsu special - dominated mind (limited edition) (japan) (disc 2 [slpm-86091]" sha1="a0f645f96cdef8b378103bca91666ff0c8f48b1c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="realrobo" supported="no">
- <description>Real Robots - Final Attack (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01125" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="real robots - final attack (japan) [slps-01125]" sha1="b69c334a0f2e34a22bb8bcf0026225ec50b3f8ad"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="reciproh" supported="no">
- <description>Recipro Heat 5000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00744" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="recipro heat 5000 (japan) [slps-00744]" sha1="fefbbfc58109e705421f6912158e6cc3b5504556"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, needs gun -->
- <software name="rsbhdemo" supported="no">
- <description>Rescue Shot Bubibo &amp; BioHazard - Gun Survivor (Demo) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80522" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rescue shot bubibo &amp; biohazard - gun survivor (demo) (japan) [slpm-80522]" sha1="9946efc6489976165af873bc447d9da4d12b5208"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen, MESS crash -->
- <software name="retzork" supported="no">
- <description>Return to Zork (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00192, SLPS-00193" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="return to zork (japan) (disc 1) [slps-00192]" sha1="74ebcf052f66a98470cea717dbe2a6bbe3bc4337"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="return to zork (japan) (disc 2) [slps-00193]" sha1="7a7e51b7ac01802e364410b7260ea7c6675913ef"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ridegear" supported="no">
- <description>Ridegear Guybrave II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01643, SLPS-01644" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ridegear guybrave ii (japan) (disc 1) [slps-01643]" sha1="554b19a4799a9806e164067bce49dfc311b1f499"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ridegear guybrave ii (japan) (disc 2) [slps-01644]" sha1="83924e0d69d24af147104dd136a2f32ab22e6ea0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="rikujoub" supported="no">
- <description>Rikujou Boueitai Maochan (Deluxe Pack) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87198" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rikujou boueitai maochan (deluxe pack) (japan) [slpm-87198]" sha1="5131c697eed0e9fb0a7d34672593ef7bae2905b6"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after company logos -->
- <software name="riotstar" supported="no">
- <description>Riot Stars (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00829" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="riot stars (japan) [slps-00829]" sha1="10639f8fa097059521eb297ffb2092c04fa99e8b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- company logos shown, broken into incorrect parts, then hang -->
- <software name="riseofro" supported="no">
- <description>Rise of Robots 2 - Resurection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00259" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rise of robots 2 - resurection (japan) [slps-00259]" sha1="071c454377fcec4acc8d1d59b05642171ff2416b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="risingza" supported="no">
- <description>Rising Zan - The Samurai Gunman (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01691" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="rising zan - the samurai gunman (japan) [slps-01691]" sha1="b66481789dc9c1227bcad847a324ebcee8265194"/>
- </diskarea>
- </part>
- </software>
-
- <software name="robinllo" supported="no">
- <description>Robin Lloyd no Bouken (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02501" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="robin lloyd no bouken (japan) [slps-02501]" sha1="f52ef91c80f615411ceb4a9391161465f160a40b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="robotxro" supported="no">
- <description>Robot X Robot (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02231" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="robot x robot (japan) [slps-02231]" sha1="fd0813351a8bbcf57cecb2e3f5481d88592140fe"/>
- </diskarea>
- </part>
- </software>
-
- <software name="roommate" supported="no">
- <description>Roommate - Inoue Ryoko (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02140" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="roommate - inoue ryoko (japan) [slps-02140]" sha1="1a5f95aedef108713b195bc276aea241244209f0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="runningh" supported="no">
- <description>Running High (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00751" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="running high (japan) [slps-00751]" sha1="721424847c4083aae3d105b61cf34f4ee907c623"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sakkyoku" supported="no">
- <description>Sakkyoku Surundamon - Dance Remix-hen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02808" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sakkyoku surundamon - dance remix-hen (japan) [slps-02808]" sha1="671b2ed0e19d7bb5d516cba69402c18b5c689792"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sakumash" supported="no">
- <description>Sakuma-shiki Jinsei Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01740" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sakuma-shiki jinsei game (japan) [slps-01740]" sha1="ea064012438a2cfa5168b63a375c40c1b7f80469"/>
- </diskarea>
- </part>
- </software>
-
- <software name="salaryma" supported="no">
- <description>Salary Man Champ - Tatakau Salary Man (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86820" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="salary man champ - tatakau salary man (japan) [slpm-86820]" sha1="59d80e3150e799fab7faa3a80d44f5b677ef4299"/>
- </diskarea>
- </part>
- </software>
-
- <software name="salarytg" supported="no">
- <description>Salary Man Kintaro - The Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02806" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="salary man kintaro - the game (japan) [slps-02806]" sha1="12f5b2be01e365a15140ddf3e86914341a1858c1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="salarysm" supported="no">
- <description>Salary Man Settai Mahjong (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03175" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="salary man settai mahjong (japan) [slps-03175]" sha1="d1a816b9a4d3870dff5f913e8cb8b79f227b05e0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="samuraid" supported="no">
- <description>Samurai Deeper Kyo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03505" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="samurai deeper kyo (japan) [slps-03505]" sha1="185c7e43debaafe2fdab8df034c644e0accfc898"/>
- </diskarea>
- </part>
- </software>
-
- <software name="samurais" supported="no">
- <description>Samurai Spirits - Kenkaku Yubinan Pack (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00647" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="samurai spirits - kenkaku yubinan pack (japan) [slps-00647]" sha1="1d3730e14e0ae4b415146a5f1a8c519309dad6b2"/>
- </diskarea>
- </part>
- </software>
-
- <!-- odd gfx problems -->
- <software name="samsho3" supported="no">
- <description>Samurai Spirits - Zankurou Musouken (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-91024" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="samurai spirits - zankurou musouken (japan) [slps-91024]" sha1="a9ebabc60703122cab0ba80ec852d514225329ee"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangokus" supported="no">
- <description>Sangokushi Eiketsuden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00309" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi eiketsuden (japan) [slps-00309]" sha1="0bcbb00e7b1bcd6496b24aed7134fc27b655c1c1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangoku2" supported="no">
- <description>Sangokushi II (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01596" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi ii (japan) [slps-01596]" sha1="f89180a8fa1f2b5e53dcc7635e444b138fd5ac06"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangoku3" supported="no">
- <description>Sangokushi III (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86747" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi iii (japan) [slpm-86747]" sha1="d5265763b96baa7ff93c2131393a3ce8c0cdb9e0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangokou" supported="no">
- <description>Sangokushi Koumeiden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00688" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi koumeiden (japan) [slps-00688]" sha1="2719dea19adbb7f9adf3ed4325cc7254bd09c1d4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangokrt" supported="no">
- <description>Sangokushi Returns (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00474" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi returns (japan) [slps-00474]" sha1="b097ce9990964595f5678706cc0e089454f80cd0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangoku5" supported="no">
- <description>Sangokushi V (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-45128" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi v (japan) [scps-45128]" sha1="144daa29a613a7135dd936a010e8dec5e3006135"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sangoku6" supported="no">
- <description>Sangokushi VI (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86129" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sangokushi vi (japan) [slpm-86129]" sha1="23b826011009ebd2634b5e5aa993763336f4aa36"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sanyopac" supported="no">
- <description>Sanyo Pachinko Paradise 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02389" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sanyo pachinko paradise 2 (japan) [slps-02389]" sha1="f45e57f064fb6006a26ba10bccb56d4179dcb31a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sarugety" supported="no">
- <description>Saru! Get You! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10091" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="saru! get you! (japan) [scps-10091]" sha1="c956fd585b246e72e204f4710d2b60245228d560"/>
- </diskarea>
- </part>
- </software>
-
- <software name="satellit" supported="no">
- <description>Satelli TV (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01203" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="satelli tv (japan) [slps-01203]" sha1="6ce56f4ae07dbeac9b4d8d36abd6e4dea98773e6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="satomino" supported="no">
- <description>Satomi no Nazo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00613" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="satomi no nazo (japan) [slps-00613]" sha1="340540cee7fba9a291b1412936ebd1d8e440edbc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="schrodin" supported="no">
- <description>Schrodinger no Neko - Die Katze von Schrodinger (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00780" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="schrodinger no neko - die katze von schrodinger (japan) [slps-00780]" sha1="f5b024ce306d6bdfd105b748a7f426bd3410c882"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sdgkvm" supported="no">
- <description>SD Gundam Eiyuuden - Daikessen!! Knight vs. Musha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03145" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam eiyuuden - daikessen!! knight vs. musha (japan) [slps-03145]" sha1="cc3d301227705403184526be508f317f32e81d99"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sdgggf" supported="no">
- <description>SD Gundam G-Generation F (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02900, SLPS-02901, SLPS-02902" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation f (japan) (disc 1) [slps-02900]" sha1="c61bcabf5ecf6f1839d4bf71aad06ef3752adac4"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation f (japan) (disc 2) [slps-02901]" sha1="bd27f0a7c96abb0a29ec5d933544a14d758fe61c"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation f (japan) (disc 3) [slps-02902]" sha1="f7a4ce705705efff1592bf79071967bc8da9c16d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sdgggfif" supported="no">
- <description>SD Gundam G-Generation F if (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03195" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation f if (japan) [slps-03195]" sha1="f06a704368b5737f235e410ccbbe625154d58713"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sdggg0" supported="no">
- <description>SD Gundam G-Generation Zero (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02200, SLPS-02201, SLPS-02202" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation zero (japan) (disc 1) [slps-02200]" sha1="af8c4d230b978098a04df4e79c3cb281607af9ac"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation zero (japan) (disc 2) [slps-02201]" sha1="9620d42218ce548ab9112bd5950ce64632508af2"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sd gundam g-generation zero (japan) (disc 3) [slps-02202]" sha1="4d3d12ded0db872a31a68b900b6cbcc8fc48bedc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="seabassf" supported="no">
- <description>Seabass Fishing 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00992" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="seabass fishing 2 (japan) [slps-00992]" sha1="24f985287b9a89558a6f7b58c57e77bc8362f847"/>
- </diskarea>
- </part>
- </software>
-
- <software name="seikaino" supported="no">
- <description>Seikai no Monshou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02323" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="seikai no monshou (japan) [slps-02323]" sha1="a890b200b007ee8f07e3c2406b46d6e1be550fdd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="seireish" supported="no">
- <description>Seirei Shoukan - Princess of Darkness (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01271" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="seirei shoukan - princess of darkness (japan) [slps-01271]" sha1="aaacf235d5f4861924fc0a1eee091c22a645ad05"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sengokum" supported="no">
- <description>Sengoku Mugen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03151" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sengoku mugen (japan) [slps-03151]" sha1="e3f9da3774a333fa7e126b08fe24fe9ed5166653"/>
- </diskarea>
- </part>
- </software>
-
- <software name="senkaita" supported="no">
- <description>Senkai Taisen - TV Animation Senkaiden Houshin Engi yori (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02736" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="senkai taisen - tv animation senkaiden houshin engi yori (japan) [slps-02736]" sha1="3d9acf2e37be62e7bcea78a5df4044bd1bbcb368"/>
- </diskarea>
- </part>
- </software>
-
- <software name="senryaku" supported="no">
- <description>Senryaku Shidan - Tora! Tora! Tora! Rikusen-hen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02631" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="senryaku shidan - tora! tora! tora! rikusen-hen (japan) [slps-02631]" sha1="b21f96633430f8f4887080955960ba6d1e994bce"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sentimen" supported="no">
- <description>Sentimental Graffiti (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03184" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sentimental graffiti (japan) [slps-03184]" sha1="b16876b282d68d89e3b0210b944677316fbccf7e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sentouko" supported="no">
- <description>Sentou Kokka Kai Improved (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10034" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sentou kokka kai improved (japan) [scps-10034]" sha1="b314a08f75e5d0a73d4962a4536bc68bbeebec9b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shachoue" supported="no">
- <description>Shachou Eiyuuden - The Eagle Shooting Heroes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-45510" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shachou eiyuuden - the eagle shooting heroes (japan) [scps-45510]" sha1="0107f61538181306765a0ae257ac497dde413c62"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shibasu1" supported="no">
- <description>Shibasu 1-2-3 Destiny! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01893" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shibasu 1-2-3 destiny! (japan) [slps-01893]" sha1="0f69dbc9c68cbda6e0204fd4a959cb5a5759b2c9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinmaso" supported="no">
- <description>Shin Masoukishin - Panzer Warfare (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02319" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shin masoukishin - panzer warfare (japan) [slps-02319]" sha1="face75ad9f7643523e3b94e991007cc3982b25b1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinmega" supported="no">
- <description>Shin Megami Tensei (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03170" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shin megami tensei (japan) [slps-03170]" sha1="6b8c3a93057987f1cecf4410edbf4877026d0bf4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinsdse" supported="no">
- <description>Shin SD Sengokuden Kidou Musha Taisen [Limited Edition] (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00576" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shin sd sengokuden kidou musha taisen [limited edition] (japan) [slps-00576]" sha1="774c830459226474392a48a7ecfcbbc7c7123479"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="shinthem" supported="no">
- <description>Shin Theme Park (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00810" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shin theme park (japan) [slps-00810]" sha1="b7c52c25a43c2c1e658c7ba8305ba671ecd68b18"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinriga" supported="no">
- <description>Shinri Game, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00169" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shinri game, the (japan) [slps-00169]" sha1="736124dd1903801574580bcf8900329896268f9a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinseid" supported="no">
- <description>Shinseiden Megaseed Fukkatsu-hen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00925" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shinseiden megaseed fukkatsu-hen (japan) [slps-00925]" sha1="caa46538029b348cfeb60d89172588f1a8211fd7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shinsets" supported="no">
- <description>Shinsetsu Samurai Spirits - Bushido Retsuden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00814" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shinsetsu samurai spirits - bushido retsuden (japan) [slps-00814]" sha1="a6ae2237edc2b5c2882d02eac1a02dd75f571280"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shiritsu" supported="no">
- <description>Shiritsu Justice Gakuen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01240, SLPS-01241" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shiritsu justice gakuen (japan) (disc 1) [slps-01240]" sha1="5b85e3f794686f118f6bec1fa53706b2b7883d6f"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shiritsu justice gakuen (japan) (disc 2) [slps-01241]" sha1="b1c7488b5b2555c5ccc9a6188384b3914dd6684b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shirits2" supported="no">
- <description>Shiritsu Justice Gakuen - Nekketsu Seishun Nikki 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02120" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shiritsu justice gakuen - nekketsu seishun nikki 2 (japan) [slps-02120]" sha1="b0e20091fe7819131c4b5005e8bea2ed25e89530"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shoryusa" supported="no">
- <description>Shoryu Sangokuengi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00253" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shoryu sangokuengi (japan) [slps-00253]" sha1="cdf56ffa2d1ad94b59c0e811d6c9242c36c023d1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="shuranom" supported="no">
- <description>Shura no Mon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01202" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="shura no mon (japan) [slps-01202]" sha1="edb8845c29d5b6215331278fd7f8fee13377200f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="sidebysi" supported="no">
- <description>Side by Side Special 2000 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86344" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="side by side special 2000 (japan) [slpm-86344]" sha1="54852d8dc86435e0cde03fdc86272d84e14d5a01"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sidepock" supported="no">
- <description>Side Pocket 3 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01079" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="side pocket 3 (japan) [slps-01079]" sha1="976e2bed236c1314ecf4a845dfa0aec13b727f9a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sidewind" supported="no">
- <description>Sidewinder (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00156" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sidewinder (japan) [slps-00156]" sha1="d630bc459afd405f9800999fe258ff44eef2b845"/>
- </diskarea>
- </part>
- </software>
-
- <software name="silentmo" supported="no">
- <description>Silent Mobius - Genei no Datenshi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01803" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="silent mobius - genei no datenshi (japan) [slps-01803]" sha1="b0541155d1368e9c7af9e830ae3d2ba31a909768"/>
- </diskarea>
- </part>
- </software>
-
- <software name="silhouet" supported="no">
- <description>Silhouette Mirage - Reprogrammed Hope (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01449" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="silhouette mirage - reprogrammed hope (japan) [slps-01449]" sha1="342862b848ce565b9303fdf5fe1b3a5378fb5ccf"/>
- </diskarea>
- </part>
- </software>
-
- <software name="silhstor" supported="no">
- <description>Silhouette Stories (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00374" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="silhouette stories (japan) [slps-00374]" sha1="d03411f8bbdbdd4e432d1f6ae5b34c83ddb61edb"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_01" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.01 - Norikae Annai - 2000 Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02842" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.01 - norikae annai - 2000 edition (japan) [slps-02842]" sha1="7d687614dcd0e766b3cc3927f0f7bb2dd1ae31e8"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_03" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.03 - Seimei Handan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02841" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.03 - seimei handan (japan) [slps-02841]" sha1="6ad6e232c726cc509adb400f4bf346aff4cea366"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_04" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.04 - Ryouri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02839" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.04 - ryouri (japan) [slps-02839]" sha1="be9b68e8ad5e298dd24947a81dfabfb854e44bea"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_05" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.05 - Kusuri no Jiten - Pill Book 2001 Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86706" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.05 - kusuri no jiten - pill book 2001 edition (japan) [slpm-86706]" sha1="1764a3c234f19c667b43a7ce61c51e77d222d07d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_06" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.06 - Cocktail no Recipe (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86707" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.06 - cocktail no recipe (japan) [slpm-86707]" sha1="183103f11fc2a6ca0a9a7310f1383878de78a333"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_07" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.07 - Tanoshiku Manabu Unten Menkyo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86797" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.07 - tanoshiku manabu unten menkyo (japan) [slpm-86797]" sha1="5a4b23e8fa342f273825fd9c5a13e1c4d2e0abef"/>
- </diskarea>
- </part>
- </software>
-
- <!-- MESS crash after company logos -->
- <software name="s15j_08" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.08 - 1-Jikan de Wakaru Kabushiki Toushi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86708" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.08 - 1-jikan de wakaru kabushiki toushi (japan) [slpm-86708]" sha1="d9b4e923b73634b003f12b9869b5242af3f1bd24"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_09" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.09 - Watashi Style no Aromatherapy (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86843" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.09 - watashi style no aromatherapy (japan) [slpm-86843]" sha1="37036741ee56e48e16cf567cae0c4c0e003229e7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_10" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.10 - Tarot Uranai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86913" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.10 - tarot uranai (japan) [slpm-86913]" sha1="257b0ed8f2593781ee66626ac897db51d453046f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_11" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.11 - Katei de Dekiru Tsubo Shiatsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86968" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.11 - katei de dekiru tsubo shiatsu (japan) [slpm-86968]" sha1="6328c634cd08e9fef0d3a3f39ca4a288e660c1e9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_12" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.12 - Katei no Igaku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86969" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.12 - katei no igaku (japan) [slpm-86969]" sha1="d4c4346037a3b7317d3dc3bfcd233486448726c8"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_13" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.13 - Shinri Game - Soreike X Kokoroji (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87016" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.13 - shinri game - soreike x kokoroji (japan) [slpm-87016]" sha1="df17968fe11512969371134507ce2761a4058ca9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_14" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.14 - Kurashi no Manner (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87022" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.14 - kurashi no manner (japan) [slpm-87022]" sha1="ba4898ad361712824c151e44760fbb59aea7d6dc"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_15" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.15 - Inu no Kaikata (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87051" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.15 - inu no kaikata (japan) [slpm-87051]" sha1="23ebe1330276ac13baedf2b836fa3470159c17c4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="s15j_16" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.16 - Neko no Kaikata (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87052" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.16 - neko no kaikata (japan) [slpm-87052]" sha1="61007f37e265be4c1af18c17dc16184495027a27"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_17" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.17 - Planetarium (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87049" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.17 - planetarium (japan) [slpm-87049]" sha1="9e0a59f78c76d52b171edb77658d6e88e8a996f5"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="s15j_18" supported="no">
- <description>Simple 1500 Jitsuyou Series Vol.18 - Kanji Quiz - Kanji Kentei Ni Challenge (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-3186" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 jitsuyou series vol.18 - kanji quiz - kanji kentei ni challenge (japan) [slps-3186]" sha1="a8ad5f5ac74436bf7ebbad9faa20f4f04d1320e4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_h01" supported="no">
- <description>Simple 1500 Series Hello Kitty Vol.01 - Hello Kitty Bowling (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86866" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series hello kitty vol.01 - hello kitty bowling (japan) [slpm-86866]" sha1="068ee3640ea9e62f5503aa9abe59a020bdc3a747"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_h02" supported="no">
- <description>Simple 1500 Series Hello Kitty Vol.02 - Hello Kitty Illust Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86867" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series hello kitty vol.02 - hello kitty illust puzzle (japan) [slpm-86867]" sha1="9ffa7056cf064d4bc5debdfa6c4a25270907741d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_h03" supported="no">
- <description>Simple 1500 Series Hello Kitty Vol.03 - Hello Kitty Block Kuzushi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86911" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series hello kitty vol.03 - hello kitty block kuzushi (japan) [slpm-86911]" sha1="4f4ae32382e2116e1d92a5469a631d9fbe746b09"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_h04" supported="no">
- <description>Simple 1500 Series Hello Kitty Vol.04 - Trump (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86910" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series hello kitty vol.04 - trump (japan) [slpm-86910]" sha1="a5620c70e68043426979a515dde7fd1812fa5ce0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_37" supported="no">
- <description>Simple 1500 Series Vol.037 - The Illustration Puzzle &amp; Slide Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02958" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.037 - the illustration puzzle &amp; slide puzzle (japan) [slps-02958]" sha1="e6056849c9e1fabed610523308bfba92806eed50"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_51" supported="no">
- <description>Simple 1500 Series Vol.051 - The Jigsaw Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86700" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.051 - the jigsaw puzzle (japan) [slpm-86700]" sha1="b799b1f7705e15282c682c6efa309578efd7dafd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_63" supported="no">
- <description>Simple 1500 Series Vol.063 - The Gun Shooting 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86816" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.063 - the gun shooting 2 (japan) [slpm-86816]" sha1="9a67109a97dc43e1a367c4a61ff2ed61a8438aaf"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_67" supported="no">
- <description>Simple 1500 Series Vol.067 - The Soccer - Dynamite Soccer 1500 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86864" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.067 - the soccer - dynamite soccer 1500 (japan) [slpm-86864]" sha1="acf2ab78bac9ec558c0096770bc51d833372aec7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_71" supported="no">
- <description>Simple 1500 Series Vol.071 - The Renai Simulation 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86870" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.071 - the renai simulation 2 (japan) [slpm-86870]" sha1="7c93c89c62cb53137bbc18a7fc28175f5661c550"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_72" supported="no">
- <description>Simple 1500 Series Vol.072 - The Beach Volley (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86871" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.072 - the beach volley (japan) [slpm-86871]" sha1="e89403acea8931b5e31eacf1221159c2fbfc6689"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_73" supported="no">
- <description>Simple 1500 Series Vol.073 - The Invader - Space Invaders 1500 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86900" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.073 - the invader - space invaders 1500 (japan) [slpm-86900]" sha1="9e605f0d5c5b88b7319f6fc214f9fdd924604eaa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_76" supported="no">
- <description>Simple 1500 Series Vol.076 - The Dodge Ball (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86914" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.076 - the dodge ball (japan) [slpm-86914]" sha1="117e86012837a31d23d8379d3dcc39c17c14a8ce"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_83" supported="no">
- <description>Simple 1500 Series Vol.083 - The Wake Board - Burstrick Wake Boarding (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86998" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.083 - the wake board - burstrick wake boarding (japan) [slpm-86998]" sha1="3215b3dbf9811503958f56710ee61a60a9effa18"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_85" supported="no">
- <description>Simple 1500 Series Vol.085 - The Sengoku Bushou - Tenka Touitsu no Yabou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87008" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.085 - the sengoku bushou - tenka touitsu no yabou (japan) [slpm-87008]" sha1="44042c965393c429adb19a0c51753e4ff6b621ab"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_88" supported="no">
- <description>Simple 1500 Series Vol.088 - The Gal Mahjong (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87023" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.088 - the gal mahjong (japan) [slpm-87023]" sha1="1301d1f4f971513c0606c37062795a7e36f59f80"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_89" supported="no">
- <description>Simple 1500 Series Vol.089 - The Power Shovel Ni Norou!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87035" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.089 - the power shovel ni norou!! (japan) [slpm-87035]" sha1="3857cddf2ac433999a3afa9f048c11de08718663"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_90" supported="no">
- <description>Simple 1500 Series Vol.090 - The Sensha (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87044" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.090 - the sensha (japan) [slpm-87044]" sha1="13a15efb7c927f92d55d3f450b2d8ed33ee434a0"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_93" supported="no">
- <description>Simple 1500 Series Vol.093 - The Puzzle Bobble - Puzzle Bobble 4 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87057" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.093 - the puzzle bobble - puzzle bobble 4 (japan) [slpm-87057]" sha1="626c1ca3fe8519e26b03990a332464afc6352b98"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_97" supported="no">
- <description>Simple 1500 Series Vol.097 - The Squash (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87088" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.097 - the squash (japan) [slpm-87088]" sha1="c87f29e61eccb1073b205e39ac8eb489e28eb244"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_99" supported="no">
- <description>Simple 1500 Series Vol.099 - The Kendo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87140" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.099 - the kendo (japan) [slpm-87140]" sha1="fa46825372d647f6cbea9dac3cf8239c0473dca1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_101" supported="no">
- <description>Simple 1500 Series Vol.101 - The Sentou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87142" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.101 - the sentou (japan) [slpm-87142]" sha1="f1a6e22ba475e1765ee4d370440fa1d5d540ad7e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_102" supported="no">
- <description>Simple 1500 Series Vol.102 - The Densha Untenshi - Densha de Go! Nagoya Tetsudo-hen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87144" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.102 - the densha untenshi - densha de go! nagoya tetsudo-hen (japan) [slpm-87144]" sha1="84e78ee96499e8d022086e17230e06ec94eac532"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_103" supported="no">
- <description>Simple 1500 Series Vol.103 - The Ganso Densha Untenshi - Densha de Go! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87212" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.103 - the ganso densha untenshi - densha de go! (japan) [slpm-87212]" sha1="c632825bca27acc68d0353b6e63fd568453c3c13"/>
- </diskarea>
- </part>
- </software>
-
- <software name="s15_104" supported="no">
- <description>Simple 1500 Series Vol.104 - The Pink Panther (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87215" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple 1500 series vol.104 - the pink panther (japan) [slpm-87215]" sha1="21ebdd30abd139787a2a91864247d53367471af7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_02" supported="no">
- <description>Simple Characters 2000 Series Vol.02 - Afro Ken - The Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03307" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.02 - afro ken - the puzzle (japan) [slps-03307]" sha1="5b89aac27f6435972c512abe6b949d9bae591d19"/>
- </diskarea>
- </part>
- </software>
- <!-- dupe
- <software name="sc2k_02" supported="no">
- <description>Simple Characters 2000 Series Vol.02 - Afroken - The Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03307" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.02 - afroken - the puzzle (japan) [slps-03307]" sha1="5b89aac27f6435972c512abe6b949d9bae591d19"/>
- </diskarea>
- </part>
- </software>
- -->
- <software name="sc2k_03" supported="no">
- <description>Simple Characters 2000 Series Vol.03 - Kamen Rider - The Bike Race (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03308" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.03 - kamen rider - the bike race (japan) [slps-03308]" sha1="09f7bee24d2e62226188ee253d66311cd3930755"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_04" supported="no">
- <description>Simple Characters 2000 Series Vol.04 - Jarin-Ko Chie - The Hanafuda (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03350" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.04 - jarin-ko chie - the hanafuda (japan) [slps-03350]" sha1="3ab45ace22612d7b058712b85decbaec92aee3a9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_05" supported="no">
- <description>Simple Characters 2000 Series Vol.05 - HighSchool Kimengumi - The Table Hockey (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03362" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.05 - highschool kimengumi - the table hockey (japan) [slps-03362]" sha1="081b6b6af2f9520f82462138a0814ec3e968ffcd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_06" supported="no">
- <description>Simple Characters 2000 Series Vol.06 - Dokonjou Gaeru - The Mahjong (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03363" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.06 - dokonjou gaeru - the mahjong (japan) [slps-03363]" sha1="7c9f31089759c533f18d7247fbfc38439f110efa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_07" supported="no">
- <description>Simple Characters 2000 Series Vol.07 - Ikkyuusan - The Quiz (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03418" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.07 - ikkyuusan - the quiz (japan) [slps-03418]" sha1="78fc86f52b837d6ffda37c2ef7b1511f4dd5f4ee"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_09" supported="no">
- <description>Simple Characters 2000 Series Vol.09 - Tsuri Kichi Sanpei - The Tsuri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03445" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.09 - tsuri kichi sanpei - the tsuri (japan) [slps-03445]" sha1="6140e4135144100105def4ab819f8c79845aa7cb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_10" supported="no">
- <description>Simple Characters 2000 Series Vol.10 - Sakigake!! Otojo Juku - The Dodgeball (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03457" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.10 - sakigake!! otojo juku - the dodgeball (japan) [slps-03457]" sha1="aba175045b3b7335d32f323de56da192989e4a78"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_12" supported="no">
- <description>Simple Characters 2000 Series Vol.12 - Kidou Butouden G Gundam - The Battle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03471" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.12 - kidou butouden g gundam - the battle (japan) [slps-03471]" sha1="a3589804d3e1b173707fffd8cc65c487cd44c2f2"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_13" supported="no">
- <description>Simple Characters 2000 Series Vol.13 - Shin Kidou Senki Gundam W - The Battle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03472" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.13 - shin kidou senki gundam w - the battle (japan) [slps-03472]" sha1="19ea8e4db0e284ceec0f115b4a3d0cc1bbf8e075"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_14" supported="no">
- <description>Simple Characters 2000 Series Vol.14 - Nantettantei Idol - The Jigsaw Puzzle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03473" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.14 - nantettantei idol - the jigsaw puzzle (japan) [slps-03473]" sha1="88df5a6bcfec2f18e58e1db40aa2219bf466dd9d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_15" supported="no">
- <description>Simple Characters 2000 Series Vol.15 - Cyborg 009 - The Block Kuzushi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03474" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.15 - cyborg 009 - the block kuzushi (japan) [slps-03474]" sha1="d48c69f83a2358e448baf7c28462b81da0ce33f9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sc2k_16" supported="no">
- <description>Simple Characters 2000 Series Vol.16 - Ganba no Bouken - The Puzzle Action (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03546" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simple characters 2000 series vol.16 - ganba no bouken - the puzzle action (japan) [slps-03546]" sha1="8eb1403814a64316effc9cc7fc7ed49e6f1581d6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="simulati" supported="no">
- <description>Simulation Zoo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00458" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="simulation zoo (japan) [slps-00458]" sha1="b2257e7682cb0515b92ee5a618bdb21a0930a84f"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sisterpr" supported="no">
- <description>Sister Princess - Pure Stories (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03360" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sister princess - pure stories (japan) [slps-03360]" sha1="5a45ff6eb51e089947f1d89a72dedebce02e5694"/>
- </diskarea>
- </part>
- </software>
-
- <software name="slaphapp" supported="no">
- <description>Slap Happy Rhythm Busters (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02789" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="slap happy rhythm busters (japan) [slps-02789]" sha1="6d764085ec119eaf98d62b102887bc7731828776"/>
- </diskarea>
- </part>
- </software>
-
- <software name="snatcher" supported="no">
- <description>Snatcher (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00154" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="snatcher (japan) [slps-00154]" sha1="3658d481ad2c82eb1b181a62903e0cd41e14282a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="snobowki" supported="no">
- <description>Snobow Kids Plus (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01823" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="snobow kids plus (japan) [slps-01823]" sha1="f699ed094d42899e75cf6da4a68b5c40dd4466a6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sonataja" supported="no">
- <description>Sonata (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01843, SLPS-01844" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sonata (japan) (disc 1) [slps-01843]" sha1="9c046b03ca824b6ca5a8cf1797a46388c7632e81"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sonata (japan) (disc 2) [slps-01844]" sha1="ef96cb8cd19208529c7e46272c8d38c969bce4f7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sotsugyo" supported="no">
- <description>Sotsugyou Crossworld (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00273" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sotsugyou crossworld (japan) [slps-00273]" sha1="4ae309caf42216d5d23f05209654075558e31666"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sougakut" supported="no">
- <description>Sougaku Toshi - Osaka (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01722, SLPS-01723" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sougaku toshi - osaka (japan) (disc 1) [slps-01722]" sha1="0cdd0b3cde351b107e2fe2403816a2699054c027"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sougaku toshi - osaka (japan) (disc 2) [slps-01723]" sha1="0f180621cf4f7f90e5092d0e3515889347c181d1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="soukyugu" supported="no">
- <description>Soukyu Gurentai - Oubushustugeki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01172" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="soukyu gurentai - oubushustugeki (japan) [slps-01172]" sha1="1cafb639f014519cc391ed077c848ba7121dea9a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="soundqub" supported="no">
- <description>Sound Qube (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01309" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sound qube (japan) [slps-01309]" sha1="54139ab64577aec717ca75daa26d87b67887a673"/>
- </diskarea>
- </part>
- </software>
-
- <software name="spaceinv" supported="no">
- <description>Space Invaders X (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86419" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="space invaders x (japan) [slpm-86419]" sha1="521ecefa318a2cd5efbe71be5aad4d4a46594224"/>
- </diskarea>
- </part>
- </software>
-
- <software name="spectral" supported="no">
- <description>Spectral Blade (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02526" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="spectral blade (japan) [slps-02526]" sha1="b256155ceaf81d1bee60d670db34c08b2acfe0fb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="speedkin" supported="no">
- <description>Speed King - Neo Kobe 2045 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86013" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="speed king - neo kobe 2045 (japan) [slpm-86013]" sha1="7fd280eb54eabff2f159f42bfafd24701bc81056"/>
- </diskarea>
- </part>
- </software>
-
- <software name="speedpow" supported="no">
- <description>Speed Power Gunbike (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01066" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="speed power gunbike (japan) [slps-01066]" sha1="0a1ad4f52d87a1c30313e913a44c7d581f28b865"/>
- </diskarea>
- </part>
- </software>
-
- <software name="spiderma" supported="no">
- <description>Spider-Man (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86739" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="spider-man (japan) [slpm-86739]" sha1="b7a4e58f7227fa42ec4fec619bdbea420c124d25"/>
- </diskarea>
- </part>
- </software>
-
- <software name="squaresp" supported="no">
- <description>Square's Preview 5 (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-45417" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="square's preview 5 (japan) (demo) [scps-45417]" sha1="2e84ab79573ce07bb78480a9d75d601e14d07895"/>
- </diskarea>
- </part>
- </software>
-
- <software name="squareso" supported="no">
- <description>Squaresoft Memory Card Data CD (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80556" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="squaresoft memory card data cd (japan) [slpm-80556]" sha1="686d4e4519b92817c7ac16514a8d007305d801b1"/>
- </diskarea>
- </part>
- </software>
-
- <software name="stahlfed" supported="no">
- <description>Stahlfeder (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00162" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="stahlfeder (japan) [slps-00162]" sha1="2d92a233844ca16db279dea284c402dd1d704339"/>
- </diskarea>
- </part>
- </software>
-
- <software name="startlin" supported="no">
- <description>Startling Odyssey 1 - Blue Evolution (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02043" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="startling odyssey 1 - blue evolution (japan) [slps-02043]" sha1="e6a06b84e6fe2f96a3e88c96d0d01682d8448afb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="streetfi" supported="no">
- <description>Street Fighter Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00800, SLPS-00801" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="street fighter collection (japan) (disc 1) [slps-00800]" sha1="ea52804ec5329bca3553b29c516d970a27ddf43a"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="street fighter collection (japan) (disc 2) [slps-00801]" sha1="a60763b96dbd28ad1e7d6dbfac9873c331ad3d4e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="suchiepa" supported="no">
- <description>Suchie-Pai Adventure - Doki Doki Nightmare (Japan) (Disc 2 Only)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01265" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="suchie-pai adventure - doki doki nightmare (japan) (disc 2) [slps-01265]" sha1="614ddc9470fd85ec2f4528c4c5cc631e4d85a4b9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="suikoenb" supported="no">
- <description>Suiko Enbu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00137" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="suiko enbu (japan) [slps-00137]" sha1="01abfc99825b5b771f3014b40255c27f3cef7253"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft1" supported="no">
- <description>Sunsoft Classics Vol.1 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03135" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.1 - memorial series (japan) [slps-03135]" sha1="7941be28f20339a3b410c2e511df441a931e29f6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft2" supported="no">
- <description>Sunsoft Classics Vol.2 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03181" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.2 - memorial series (japan) [slps-03181]" sha1="94c75b1a62d230fcd2246223676c217da225df80"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft3" supported="no">
- <description>Sunsoft Classics Vol.3 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03366" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.3 - memorial series (japan) [slps-03366]" sha1="b1eb2c7bf69da7d2b58ae11ca93f67fe6e9b668b"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft4" supported="no">
- <description>Sunsoft Classics Vol.4 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03382" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.4 - memorial series (japan) [slps-03382]" sha1="87c6e6d0a3e6d944c4fe8b400871fb1e1faac94e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft5" supported="no">
- <description>Sunsoft Classics Vol.5 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03397" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.5 - memorial series (japan) [slps-03397]" sha1="ded2c276c7bf230b5b438aac2d36497498ff7454"/>
- </diskarea>
- </part>
- </software>
-
- <software name="sunsoft6" supported="no">
- <description>Sunsoft Classics Vol.6 - Memorial Series (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03486" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="sunsoft classics vol.6 - memorial series (japan) [slps-03486]" sha1="16102bce87b4ab5d5f232a4f84c65d3e0f2856ff"/>
- </diskarea>
- </part>
- </software>
-
- <software name="superadv" supported="no">
- <description>Super Adventure RockMan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01051, SLPS-01052, SLPS-01053" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="super adventure rockman (japan) (disc 1) [slps-01051]" sha1="3747af46229c2e4005d4233f7604bebb45de2026"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="super adventure rockman (japan) (disc 2) [slps-01052]" sha1="1ed555110043293b72fa5c808d172ae12959013d"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="super adventure rockman (japan) (disc 3) [slps-01053]" sha1="b47ca919a4bce5d09b1cd8a5b460bd17eca674c7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="superfoo" supported="no">
- <description>Super Football Champ (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00569" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="super football champ (japan) [slps-00569]" sha1="8321edd698000208d34ae0153e070a5d2afa7cfe"/>
- </diskarea>
- </part>
- </software>
-
- <software name="superliv" supported="no">
- <description>Super Live Stadium (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86019" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="super live stadium (japan) [slpm-86019]" sha1="1815099658e9c747223f5324cb4e03b4bb5fb567"/>
- </diskarea>
- </part>
- </software>
-
- <software name="superlit" supported="no">
- <description>SuperLite 1500 Extra Series Vol.02 - Nankuro (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02067" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="superlite 1500 extra series vol.02 - nankuro (japan) [slps-02067]" sha1="8f17ac2169a351af67437fd79cfd66a13e51062e"/>
- </diskarea>
- </part>
- </software>
-
- <software name="susumeka" supported="no">
- <description>Susume! Kaizoku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01737" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="susume! kaizoku (japan) [slps-01737]" sha1="3230f9a74272d8c28b1bdf7e7ed94c4cb1e559d9"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tkarahaj" supported="no">
- <description>T kara Hajimaru Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01350" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="t kara hajimaru monogatari (japan) [slps-01350]" sha1="62f3fb91d8735a050522a6d6892f94dcf3470bfd"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tactical" supported="no">
- <description>Tactical Armor Custom Gasaraki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02181" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tactical armor custom gasaraki (japan) [slps-02181]" sha1="c62206480954f410af8cf963705b599b98744569"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tacticso" supported="no">
- <description>Tactics Ogre - Let Us Cling Together (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00767" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tactics ogre - let us cling together (japan) [slps-00767]" sha1="be48a97dca0f47a5ca436342344eb34aa0925a46"/>
- </diskarea>
- </part>
- </software>
-
- <software name="taihoshi" supported="no">
- <description>Taiho Shichauzo! - You're Under Arrest (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86782, SLPM-86783" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="taiho shichauzo! - you're under arrest (japan) (disc 1) [slpm-86782]" sha1="52c7ba04a50123449916de373ab1e75801245953"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="taiho shichauzo! - you're under arrest (japan) (disc 2) [slpm-86783]" sha1="f3f685c91c178af15fbd6af06d7bb0536292d4e8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="talesoff" supported="no">
- <description>Tales of Fandom Vol.1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03375" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tales of fandom vol.1 (japan) [slps-03375]" sha1="4b7fc5e3f3e3acdfec1d1c18b1e2dbda2a7fc7a4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tamamayu" supported="no">
- <description>Tamamayu Monogatari - Dennou Bijutsukan (Japan) (Demo)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80325" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tamamayu monogatari - dennou bijutsukan (japan) (demo) [slpm-80325]" sha1="ba2860a3de3dcc915609b536eaa6c9e317aedae8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tanteiea" supported="no">
- <description>Tantei Jinguuji Saburo - Early Collection (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02157" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tantei jinguuji saburo - early collection (japan) [slps-02157]" sha1="9a3984724537af32ebe4e91afa2b38325fe02533"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tanteimr" supported="no">
- <description>Tantei Jinguuji Saburo - Mikan no Report (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03016" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tantei jinguuji saburo - mikan no report (japan) [slps-03016]" sha1="3abf06ccd76daa88471ca415e809eec54ee11740"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tanteitk" supported="no">
- <description>Tantei Jinguuji Saburo - Tomoshibi ga Kienu Ma ni (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02427" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tantei jinguuji saburo - tomoshibi ga kienu ma ni (japan) [slps-02427]" sha1="b77cc7494c1a564a2ea6afccc63d8a9e5e1b0dfa"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tanteiyo" supported="no">
- <description>Tantei Jinguuji Saburo - Yume no Owari ni (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01356" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tantei jinguuji saburo - yume no owari ni (japan) [slps-01356]" sha1="92db418fb7c64179b076ca2e415aba42d998e8da"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tatsunok" supported="no">
- <description>Tatsunoko Fight (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02939" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tatsunoko fight (japan) [slps-02939]" sha1="5ce97e8c100798d37b39219eba106cfa0e8ce8da"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tenmadej" supported="no">
- <description>Ten Made Jack (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86368" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ten made jack (japan) [slpm-86368]" sha1="3b918ce26b5ce1658f6535875f1ba19d695e85dc"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tenantwa" supported="no">
- <description>Tenant Wars (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01243" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tenant wars (japan) [slps-01243]" sha1="e055a01256300ed2a843e05da92840816b3340cb"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tenchimu" supported="no">
- <description>Tenchi Muyou! Toukou Muyou - No Need for School (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00451, SLPS-00452" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tenchi muyou! toukou muyou - no need for school (japan) (disc 1) [slps-00451]" sha1="ce26c41f4c3530868b9ad2eb282b64d49773be7c"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tenchi muyou! toukou muyou - no need for school (japan) (disc 2) [slps-00452]" sha1="31ef34a273db00b6955df05ce766a37ffc408932"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tenchiwo" supported="no">
- <description>Tenchi wo Kurau II - Sekiheki no Tatakai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00203" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tenchi wo kurau ii - sekiheki no tatakai (japan) [slps-00203]" sha1="35ab6fe2966da10cd9f4d9dff74c6bf1abe3ba04"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tennisar" supported="no">
- <description>Tennis Arena (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01303" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tennis arena (japan) [slps-01303]" sha1="007a0aad20a7fd6de327bab3e3e0d679bf832093"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tensenny" supported="no">
- <description>Tensen-Nyannyan - Gekijou-ban (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01278" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tensen-nyannyan - gekijou-ban (japan) [slps-01278]" sha1="5b4d545081c3ee6a108315b9a804416bf705dbe6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tenshino" supported="no">
- <description>Tenshi no Shippo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03531" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tenshi no shippo (japan) [slps-03531]" sha1="6fd0947fed81785cd9fdf429e08a298d0e88e8e8"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tetrisxj" supported="no">
- <description>Tetris X (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00321" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tetris x (japan) [slps-00321]" sha1="b5289060f613817e145370f6a1d77b06d2c87e3a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tfxjapan" supported="no">
- <description>TFX (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00511" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tfx (japan) [slps-00511]" sha1="00d81663c232a2e6f767b543208fbc8924d80eb7"/>
- </diskarea>
- </part>
- </software>
-
- <software name="thatsqtj" supported="no">
- <description>That's QT (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86340" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="that's qt (japan) [slpm-86340]" sha1="cbea61dc3cc2cc3b7b7c960e6b55d5f5597b36d3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="themehos" supported="no">
- <description>Theme Hospital (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01405" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="theme hospital (japan) [slps-01405]" sha1="26346c3ecc6e43b96ff7f6189d579888a18d93d4"/>
- </diskarea>
- </part>
- </software>
-
- <software name="thunderf" supported="no">
- <description>Thunderforce V - Perfect System (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01406" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="thunderforce v - perfect system (japan) [slps-01406]" sha1="1cc78bfcbfd699b8031b7725b77e19b4dc081bc6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="timegaln" supported="no">
- <description>Time Gal &amp; Ninja Hayate (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00383, SLPS-00384" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="time gal &amp; ninja hayate (japan) (disc 1) [slps-00383]" sha1="0846c12ff9c3240af2604ef9657248b0c490045e"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="time gal &amp; ninja hayate (japan) (disc 2) [slps-00384]" sha1="5f63f8c1e4b8532e2beb6b862b6dc8a38bc4da2a"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tinybull" supported="no">
- <description>Tiny Bullets (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10130" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tiny bullets (japan) [scps-10130]" sha1="91cd397f1e69ac44f7349a083c10b5d17f62199d"/>
- </diskarea>
- </part>
- </software>
-
- <software name="toheartj" supported="no">
- <description>To Heart (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01919, SLPS-01920" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="to heart (japan) (disc 1) [slps-01919]" sha1="117f512de1fb58a5a85819e568834d6f28e66497"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="to heart (japan) (disc 2) [slps-01920]" sha1="5d289a2823d6d4830cfa6183268bae78ad6e47a6"/>
- </diskarea>
- </part>
- </software>
-
- <software name="toaplans" supported="no">
- <description>Toaplan Shooting Battle 1 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00436" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="toaplan shooting battle 1 (japan) [slps-00436]" sha1="91fde43e231e970eed2cc836194a61ef94036c5c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- OK, some problems with sky gfx -->
- <software name="tocatour" supported="no">
- <description>Toca Touring Car Championship (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01410" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="toca touring car championship (japan) [slps-01410]" sha1="5b5e6cd3127d97290b2e50fc85271a63e32167e9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="tkpzldm" supported="no">
- <description>Tokimeki Memorial - Taisen Puzzle-Dama (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86005" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial - taisen puzzle-dama (japan) [slpm-86005]" sha1="af0cf5a4891dacdf2b8a9fc4c423a4cebd0478f3"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2ev1" supported="no">
- <description>Tokimeki Memorial 2 Emotional Voice System (Vol.1 - Kotoko-Miyuki-Kaedeko) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80527" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 emotional voice system (vol.1 - kotoko-miyuki-kaedeko) (japan) [slpm-80527]" sha1="86e134b8fc35cdb95bbe973db00d26d5e9685fa5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2ev2" supported="no">
- <description>Tokimeki Memorial 2 Emotional Voice System (Vol.2 - Homura-Akane-Kaori) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80544" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 emotional voice system (vol.2 - homura-akane-kaori) (japan) [slpm-80544]" sha1="a14c4bd793988821bc164c28cb07aa7c5b777c70"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2ev3" supported="no">
- <description>Tokimeki Memorial 2 Emotional Voice System (Vol.3 - Miho-Mei-Sumire) (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80550" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 emotional voice system (vol.3 - miho-mei-sumire) (japan) [slpm-80550]" sha1="f1da5b225d32d08e35d762f0e473dc12212190e5"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2s1" supported="no">
- <description>Tokimeki Memorial 2 Substories Vol.1 - Dancing Summer Vacation (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86549, SLPM-86550" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.1 - dancing summer vacation (japan) (disc 1) [slpm-86549]" sha1="2e3a1cf926d541d319726780e333e4452bcad6d2"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.1 - dancing summer vacation (japan) (disc 2) [slpm-86550]" sha1="c9f5764527f7ee886b271d58e11ae1762dae9487"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2s2" supported="no">
- <description>Tokimeki Memorial 2 Substories Vol.2 - Leaping School Festival (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86775, SLPM-86776" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.2 - leaping school festival (japan) (disc 1) [slpm-86775]" sha1="c12cec1dabaa0454a3e2fc2501a8ca776663f8ca"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.2 - leaping school festival (japan) (disc 2) [slpm-86776]" sha1="6dfa967ea7538df052214f1f4fa97a7e72b8a789"/>
- </diskarea>
- </part>
- </software>
-
- <software name="tm2s3" supported="no">
- <description>Tokimeki Memorial 2 SubStories Vol.3 - Memories Ringing on (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86881, SLPM-86882" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.3 - memories ringing on (japan) (disc 1) [slpm-86881]" sha1="020b0b0508873a7971696d280f674ea584f878ee"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial 2 substories vol.3 - memories ringing on (japan) (disc 2) [slpm-86882]" sha1="9ce4fb1e8eb408029999db6fc3e21fb9a5c4a599"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tmds1" supported="no">
- <description>Tokimeki Memorial Drama Series Vol.1 - Nijiiro no Seishun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86360" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokimeki memorial drama series vol.1 - nijiiro no seishun (japan) [slpm-86360]" sha1="98eb42b63522767eabc51b18831784a314a2a289"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tokyomaj" supported="no">
- <description>Tokyo Majin Gakuen Gehouchou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03333, SLPS-03334, SLPS-03335" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokyo majin gakuen gehouchou (japan) (disc 1) [slps-03333]" sha1="6abfc70fa77b71b0ace831241c39f0d7e75c70de"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokyo majin gakuen gehouchou (japan) (disc 2) [slps-03334]" sha1="e4fcb898d1c8543e7619fb1b3be7fe6a1c58f611"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tokyo majin gakuen gehouchou (japan) (disc 3) [slps-03335]" sha1="37ed2ab4ddce491aebdc47f5b27a0a0c9045f50a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="tomba" supported="no">
- <description>Tomba! The Wild Adventures (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02350" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tomba! the wild adventures (japan) [slps-02350]" sha1="acfece1679d0479dc2b09f8c79e85b824b62148f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tomikato" supported="no">
- <description>Tomikatown wo Tukurou! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01935" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tomikatown wo tukurou! (japan) [slps-01935]" sha1="4cd45ac3419e28c253439181621af08117533742"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hangs on now loading -->
- <software name="topoloja" supported="no">
- <description>ToPoLo (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00620" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="topolo (japan) [slps-00620]" sha1="db3965252975965ce3a2f2c88bfcf9831d60bb3d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after company logos -->
- <software name="toshcard" supported="no">
- <description>Toshinden Card Quest (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01113" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="toshinden card quest (japan) [slps-01113]" sha1="f59b5c3d0b26e36f10a87101212a0fbe449881c4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="tougemax" supported="no">
- <description>Touge Max G (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02361" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="touge max g (japan) [slps-02361]" sha1="107723f2625e1ffeeec506095e2debeb8f9a4f40"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="toukiden" supported="no">
- <description>Touki Denshou - Angel Eyes (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01168" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="touki denshou - angel eyes (japan) [slps-01168]" sha1="d44412b55ced4509c52600ce3f03f351273c80b2"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="toyotane" supported="no">
- <description>Toyota Netz Racing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-80429" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="toyota netz racing (japan) [slpm-80429]" sha1="a632ef86af6215d1102b77ecd6c7d3c2b2ac7888"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="toysdrea" supported="no">
- <description>Toys Dream (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01704" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="toys dream (japan) [slps-01704]" sha1="e223f13764ba9c8ecc374e2cece8a8134ac3beab"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="tripuzzj" supported="no">
- <description>Tripuzz (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-0911" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tripuzz (japan) [slps-0911]" sha1="ee7b2282597dde183796d7a1b50994565e047f4d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="trumpshi" supported="no">
- <description>Trump Shiyouyo! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01440" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="trump shiyouyo! (japan) [slps-01440]" sha1="721747d0cb09bfd034c98e77e4d0e9fdb423b2bc"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tsuntsu2" supported="no">
- <description>Tsun-tsun-gumi 2 - Moji Moji Bakkun (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01694" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tsun-tsun-gumi 2 - moji moji bakkun (japan) [slps-01694]" sha1="d9cfa2e7eb453fa8cc7e71a8a3744458b9c75f65"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tsuntsu3" supported="no">
- <description>Tsun-tsun-gumi 3 - Kanji Vader (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01839" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tsun-tsun-gumi 3 - kanji vader (japan) [slps-01839]" sha1="14d4b2e789471d48bfd1531fa2261794fc3c8a49"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="tsuribak" supported="no">
- <description>Tsuri Baka Nisshi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00440" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tsuri baka nisshi (japan) [slps-00440]" sha1="12220f9d5f69445a5325f10574288662ef9fe805"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="tvanimat" supported="no">
- <description>TV Animation X - Unmei no Tatakai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03459" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="tv animation x - unmei no tatakai (japan) [slps-03459]" sha1="777e5789108e7323d1772e107004a125edbe1793"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="twingodd" supported="no">
- <description>Twin Goddesses (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00018" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="twin goddesses (japan) [slps-00018]" sha1="b0e161e5401e7934a9bfca6cd146a707a55873b7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="twinbeet" supported="no">
- <description>Twinbee Taisen Puzzle-Dama (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00015" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="twinbee taisen puzzle-dama (japan) [slps-00015]" sha1="09624887099039a7ba4a8c48b3054c0a31aa1593"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="twinbeer" supported="no">
- <description>TwinBee-RPG (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86077" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="twinbee-rpg (japan) [slpm-86077]" sha1="2bc808a37c379e9d0bbc8f6ce360e3ba5d4ccbc4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="twinssto" supported="no">
- <description>Twins Story (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02126" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="twins story (japan) [slps-02126]" sha1="b47aff290d6b8f15d91f917c7cad7ebe3b6bbce2"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="twotenka" supported="no">
- <description>Two-Tenkaku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00131" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="two-tenkaku (japan) [slps-00131]" sha1="67d1665bc4c4b88d079092e8b6935306c01cc55f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ufoadayi" supported="no">
- <description>UFO - A Day in the Life (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02032" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ufo - a day in the life (japan) [slps-02032]" sha1="763494b165a8e724bf01f22cb450d25533374a46"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen, bad sounds -->
- <software name="ugetsuki" supported="no">
- <description>Ugetsu Kitan (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00391" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ugetsu kitan (japan) [slps-00391]" sha1="4f99481fc271e54d29f3b43c5ffa811f0370883d"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ukiukits" supported="no">
- <description>Ukiuki Tsuri Tengoku - Uogami Densetsu wo Oe (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02579" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ukiuki tsuri tengoku - uogami densetsu wo oe (japan) [slps-02579]" sha1="fc253e72f9ed9c42cca4d3cfe6f3f37eee1fef40"/>
- </diskarea>
- </part>
- </software>
-
- <!-- stuck on sony logo -->
- <software name="ultimaun" supported="no">
- <description>Ultima Underworld - The Stygian Abyss (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00742" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ultima underworld - the stygian abyss (japan) [slps-00742]" sha1="34b52b3204ffc05ec09d7500c6a49534904c325b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ultraman" supported="no">
- <description>Ultraman Tiga &amp; Dyna Fighting Evolution - New Generations (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01455" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ultraman tiga &amp; dyna fighting evolution - new generations (japan) [slps-01455]" sha1="85e0ada07cca5242f0944c64761f5d0b8cc5947a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ultramze" supported="no">
- <description>Ultraman Zearth (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00652" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ultraman zearth (japan) [slps-00652]" sha1="131e8857b824f15e726a33f697a5228bbeca53d4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after company logos -->
- <software name="uminonus" supported="no">
- <description>Umi no Nushi Tsuri (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02172" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="umi no nushi tsuri (japan) [slps-02172]" sha1="2d2b713bec150fb6ad77f00925f9fc6255e70993"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="umiharak" supported="no">
- <description>Umihara Kawase Shun - Second Edition (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02549" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="umihara kawase shun - second edition (japan) [slps-02549]" sha1="b7b3f8b5a7d70604bbbda8992cb5294bcae062c0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="ungrawal" supported="no">
- <description>Ungra Walker (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87055" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="ungra walker (japan) [slpm-87055]" sha1="b9be7e6b3c343920f22975ff4aded3fe64479913"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="urawazam" supported="no">
- <description>Urawaza Mahjong - Korette Tenhoutte Yatsukai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02807" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="urawaza mahjong - korette tenhoutte yatsukai (japan) [slps-02807]" sha1="0ec0b1ae7178923708b9bd0dd7b528b04e3e5929"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="vtennis2" supported="no">
- <description>V-Tennis 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS 00469" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="v-tennis 2 (japan) [slps 00469]" sha1="8cc1c98882e5666f0c0b679b092c05a10f21d824"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, every other fmv frame broken -->
- <software name="vampirek" supported="no">
- <description>Vampire - Kyuuketsuki Densetsu (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01932" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="vampire - kyuuketsuki densetsu (japan) [slps-01932]" sha1="4554535c9450aaca9b665bc4e107df02d019c180"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="vehiclec" supported="no">
- <description>Vehicle Cavalier (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00232" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="vehicle cavalier (japan) [slps-00232]" sha1="4785edf8784024c8610939bbd5456183b1ac97b0"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="victorys" supported="no">
- <description>Victory Spike (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00372" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="victory spike (japan) [slps-00372]" sha1="73ba7739855c0aa622273817195c5b18c2e24e1b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after copyrights -->
- <software name="victoryz" supported="no">
- <description>Victory Zone (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10002" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="victory zone (japan) [scps-10002]" sha1="3b3af19ff840d8e8457f5fcbae12df442df7dab7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after memory card message -->
- <software name="virtualh" supported="no">
- <description>Virtual Hiyru no Ken (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00338" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="virtual hiyru no ken (japan) [slps-00338]" sha1="e8107cdfa679018f7a2e42d8899818cf84d5cc24"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="virtualk" supported="no">
- <description>Virtual Kyotei '98 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01396" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="virtual kyotei '98 (japan) [slps-01396]" sha1="cd86798900c9152952a09b2429c73d5fb946f56b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="virtualp" supported="no">
- <description>Virtual Pro Wrestling (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00449" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="virtual pro wrestling (japan) [slps-00449]" sha1="773aa0321fdcf427c1467a6fba4819a8790edf43"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="virus" supported="no">
- <description>Virus - The Battle Field (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02008" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="virus - the battle field (japan) [slps-02008]" sha1="10b26082cca27a2a38d7d3f9fd9ec67a4ba1226c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="visionof" supported="no">
- <description>Vision Of Escaflowne, The (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01014" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="vision of escaflowne, the (japan) [slps-01014]" sha1="e2aff66939883e90d6f48e4f6815138ad58e0f8c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hangs loading afte initial fmv -->
- <software name="volfossj" supported="no">
- <description>Volfoss (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03140" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="volfoss (japan) [slps-03140]" sha1="93622ab30cde9a2215eeacfea3f71a14bb04a724"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wagamama" supported="no">
- <description>Wagamama Fairy Mirumo de Pon! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87220" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wagamama fairy mirumo de pon! (japan) [slpm-87220]" sha1="39794de6fc2e007219d38ea8577762d15d16be68"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wangantr" supported="no">
- <description>Wangan Trial (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01213, SLPS-01214" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wangan trial (japan) (disc 1) [slps-01213]" sha1="532dacb1045f276d259660eb58a1052fe0aa2b07"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wangan trial (japan) (disc 2) [slps-01214]" sha1="8cf216a6e15f17d38af8d3d62c1950133568edfa"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="warerami" supported="no">
- <description>Warera Mitsurin Tankentai!! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02658" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="warera mitsurin tankentai!! (japan) [slps-02658]" sha1="d5f11cc233a598923ff7cf6bf55d2ab938fb8870"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="watersum" supported="no">
- <description>Water Summer (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87085" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="water summer (japan) [slpm-87085]" sha1="92205ee1de05e2fa068f4c32754538a542882e1c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="weddingp" supported="no">
- <description>Wedding Peach - Doki Doki Oironaoshi Fashion Daisakuse (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00368" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wedding peach - doki doki oironaoshi fashion daisakuse (japan) [slps-00368]" sha1="ab00ab5a48ff26034ae75b279919c9d62036bcee"/>
- </diskarea>
- </part>
- </software>
-
- <!-- stuck on sony logo -->
- <software name="welcomeh" supported="no">
- <description>Welcome House</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="Welcome Hous" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="welcome house" sha1="0aa66eca197e87d56c0cc30c45dbdb311883d3d9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="weltorve" supported="no">
- <description>Weltorv Estleia (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01887" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="weltorv estleia (japan) [slps-01887]" sha1="bd9ffb9138d7b99988c3ed5a67ab4f16d0b60c67"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="whitedia" supported="no">
- <description>White Diamond (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02352" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="white diamond (japan) [slps-02352]" sha1="f3336e373dafd32fe3ea405893cca15e68789407"/>
- </diskarea>
- </part>
- </software>
-
- <!-- hangs / gets stuck on loading screen playing bad sound -->
- <software name="wingover" supported="no">
- <description>Wing Over (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00598" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wing over (japan) [slps-00598]" sha1="578d7820c4f176726b41b8fe7019d53df236ec6f"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wizardsh" supported="no">
- <description>Wizard's Harmony R (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01716" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wizard's harmony r (japan) [slps-01716]" sha1="409ddf7102f7cbf3bc2468a09c506313985bd79a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wolffang" supported="no">
- <description>Wolf Fang (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00254" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wolf fang (japan) [slps-00254]" sha1="f35457fbd7c5bb9cdc971001fff132699426fd98"/>
- </diskarea>
- </part>
- </software>
-
- <!-- some games work -->
- <software name="wonder3a" supported="no">
- <description>Wonder 3 Arcade Gears (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00927" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wonder 3 arcade gears (japan) [slps-00927]" sha1="2754dd2ee06bdd37de6050d0762718487cb4b7f7"/>
- </diskarea>
- </part>
- </software>
-
- <!-- crash MESS -->
- <software name="wonderbc" supported="no">
- <description>Wonder B-Cruise - Dogiborn Daisakusen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02322" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wonder b-cruise - dogiborn daisakusen (japan) [slps-02322]" sha1="88fbc9e59b900caacdb2169d35454b70297e0fc1"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wondertr" supported="no">
- <description>Wonder Tracker (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SCPS-10072" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wonder tracker (japan) [scps-10072]" sha1="2ea9a9a1cc29c92947ddfc1e496aa9e4d28a9155"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="worldlea" supported="no">
- <description>World League Soccer - Challenge Nippon! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02687" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="world league soccer - challenge nippon! (japan) [slps-02687]" sha1="9a28fa97a3490527d9fc709866b458897ea0abd9"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="worldnev" supported="no">
- <description>World Neverland - Olerud Oukoku Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01037" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="world neverland - olerud oukoku monogatari (japan) [slps-01037]" sha1="e7f6c77d0aed49e4909d2942ab59177f8297d52e"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="worldpro" supported="no">
- <description>World Pro Tennis '98 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01379" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="world pro tennis '98 (japan) [slps-01379]" sha1="4d5e591c02a98a0e4067d078abac82a5343cf458"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="wwfwrest" supported="no">
- <description>WWF Wrestlemania - The Arcade Game (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00223" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="wwf wrestlemania - the arcade game (japan) [slps-00223]" sha1="11a8a3a895e76bca5523f9a127a1e7b012c49d14"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="xracingj" supported="no">
- <description>X-Racing (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01063" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="x-racing (japan) [slps-01063]" sha1="1d686cab07068d1897d757a69cb1cec857260abd"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, but invisible player sprite -->
- <software name="x2noreli" supported="no">
- <description>X2 - No Relief (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00766" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="x2 - no relief (japan) [slps-00766]" sha1="495db338a5be78c74186739a33d8d5a7fbb1abdd"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yakiniku" supported="no">
- <description>Yakiniku Bugyou (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03209" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yakiniku bugyou (japan) [slps-03209]" sha1="8859de7ec162f6ab25786dcc02bf222d17900561"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yakitori" supported="no">
- <description>Yakitori Musume - Sugo Ude Hanjouki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03435" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yakitori musume - sugo ude hanjouki (japan) [slps-03435]" sha1="4806aa844259fab12488cebb41a0cfbf9cbd1bab"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yamagaau" supported="no">
- <description>Yamagata Digital Museum - Autumn (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01662" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yamagata digital museum - autumn (japan) [slps-01662]" sha1="99d972e45e140ed56fd5c5b9cba2421899a45261"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yamagasp" supported="no">
- <description>Yamagata Digital Museum - Spring (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01581" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yamagata digital museum - spring (japan) [slps-01581]" sha1="5f00aab4d66eced05a9d81f1927d34717b651e8a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yamagasu" supported="no">
- <description>Yamagata Digital Museum - Summer (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01661" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yamagata digital museum - summer (japan) [slps-01661]" sha1="4fd117c6078edd960b263a2f8106b0ff4c271978"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yamagawi" supported="no">
- <description>Yamagata Digital Museum - Winter (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01663" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yamagata digital museum - winter (japan) [slps-01663]" sha1="f1dcdaed4ef1299a4239e3baccb77b462657a746"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yasoukyo" supported="no">
- <description>Yasoukyoku 2 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03213" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yasoukyoku 2 (japan) [slps-03213]" sha1="2469c7c6d8d69835aae534b91c59b03aa4d2dd96"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="yoshimot" supported="no">
- <description>Yoshimoto Muchicco Daikessen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02308" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yoshimoto muchicco daikessen (japan) [slps-02308]" sha1="28282bbd8f340f34fe724391ab4d54db4223dbea"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="youkaiha" supported="no">
- <description>Youkai Hanaasobi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86857" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="youkai hanaasobi (japan) [slpm-86857]" sha1="5eec9e69a748f3a959126a17489add6a8690ec10"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="yugiohmo" supported="no">
- <description>Yu-Gi-Oh! Monster Capsule Breed &amp; Battle (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86096" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yu-gi-oh! monster capsule breed &amp; battle (japan) [slpm-86096]" sha1="fcf30c3e44a5072adbac0dc89b7c705001e2d694"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="yukinkob" supported="no">
- <description>Yukinko Burning (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-87013" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yukinko burning (japan) [slpm-87013]" sha1="89f2e1a1b4f1e11d60606f7ddf7f1bd123938bd4"/>
- </diskarea>
- </part>
- </software>
-
- <!-- white screen after initial menus -->
- <software name="yumenots" supported="no">
- <description>Yume no Tsubasa (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02954" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yume no tsubasa (japan) [slps-02954]" sha1="6d938d31998fa072fb1e24cfcfe5b5b2e2dbee13"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="yumeiroi" supported="no">
- <description>Yume-Iroiro (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01401" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yume-iroiro (japan) [slps-01401]" sha1="5681b39e06a23944bea244f7edacae3337bd1274"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="yuugenga" supported="no">
- <description>Yuugen Gaisha Chikyuu Boueitai - Earth Defenders Corporation (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02024" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yuugen gaisha chikyuu boueitai - earth defenders corporation (japan) [slps-02024]" sha1="34f2ae1cd241e5bfe494ee3f1d8545e00d303010"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, bad fmv every other frame -->
- <software name="yuukyuun" supported="no">
- <description>Yuukyuu no Eden - The Eternal Eden (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01928" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yuukyuu no eden - the eternal eden (japan) [slps-01928]" sha1="9ee5df0a79719b8c0a6fbd0c4094d5872f5b5efb"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok, hang on loading screen after first menu -->
- <software name="yuuyamid" supported="no">
- <description>Yuuyami Doori Tankentai (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02274" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="yuuyami doori tankentai (japan) [slps-02274]" sha1="0095182e3afff14f46754bef192427930b252152"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="zapsnowb" supported="no">
- <description>Zap! Snowboarding Trix '98 (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00909" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zap! snowboarding trix '98 (japan) [slps-00909]" sha1="ef10c209ea83250aec690bdfeae0fb3182888099"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="zeiramzo" supported="no">
- <description>Zeiramzone (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00575" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zeiramzone (japan) [slps-00575]" sha1="34415b4c79871300147eac45b11aa82b75af2fe2"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after company logos -->
- <software name="zeitgeis" supported="no">
- <description>Zeitgeist (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00034" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zeitgeist (japan) [slps-00034]" sha1="e748638065f2b3e5fc706465ca28b195bf139f0c"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="zennippo" supported="no">
- <description>Zen-Nippon Joshi Pro Wrestling - Joou Densetsu Yume no Taikousen (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01475" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zen-nippon joshi pro wrestling - joou densetsu yume no taikousen (japan) [slps-01475]" sha1="c7f0dff7003e36f248a8315d891f641d81ea04bb"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen -->
- <software name="zennipok" supported="no">
- <description>Zen-Nippon Pro-Wrestling - Ouja no Kon (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01849" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zen-nippon pro-wrestling - ouja no kon (japan) [slps-01849]" sha1="78822a4e3c9c9eac043e8c875f9ab05014d71f67"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zero4cha" supported="no">
- <description>Zero 4 Champ Doozy-J (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00755" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zero 4 champ doozy-j (japan) [slps-00755]" sha1="e559ec8882efe4b0aecc13dbcdb9d1cfed9c0830"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zigzagba" supported="no">
- <description>Zig Zag Ball (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01483" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zig zag ball (japan) [slps-01483]" sha1="fe8508753bea27862d6bdf1ab3e977563c8c83fc"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zipangut" supported="no">
- <description>Zipangutou - Unmei wa Saikoro ga Kimeru! (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02260" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zipangutou - unmei wa saikoro ga kimeru! (japan) [slps-02260]" sha1="f699ad7fc3fef9ce9d7078e7f20cb88b81fc498a"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after logos -->
- <software name="zoidsbat" supported="no">
- <description>Zoids - Battle Card Game - Seihou Tairiku Senki (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03255" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoids - battle card game - seihou tairiku senki (japan) [slps-03255]" sha1="68ebbc8ecda14028067d1ac0597011d106393396"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zoidstei" supported="no">
- <description>Zoids - Teikoku vs. Kyouwakoku - Meka Seitai no Idenshi (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-02982" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoids - teikoku vs. kyouwakoku - meka seitai no idenshi (japan) [slps-02982]" sha1="052fc27f0a6fe17f7d0f70709941dbbdd8a7f53b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zoids2" supported="no">
- <description>Zoids 2 - Heric Kyouwakoku vs. Guylos Teikoku (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-03389" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoids 2 - heric kyouwakoku vs. guylos teikoku (japan) [slps-03389]" sha1="3f51b392295f14ceeedb81b8bb2464c2e29fc6ed"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zokuhats" supported="no">
- <description>Zoku Hatsukoi Monogatari (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-01326, SLPS-01327, SLPS-01328, SLPS-01329" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom1" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoku hatsukoi monogatari (japan) (disc 1) [slps-01326]" sha1="56f4bbd6dfc139e12aac326f0e6e713d94b58ab4"/>
- </diskarea>
- </part>
- <part name="cdrom2" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoku hatsukoi monogatari (japan) (disc 2) [slps-01327]" sha1="086d132d1b6231e0bf558ac67831cb73769e96cd"/>
- </diskarea>
- </part>
- <part name="cdrom3" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoku hatsukoi monogatari (japan) (disc 3) [slps-01328]" sha1="af2449dadfc6982ff395a20af188d5d4e7904abd"/>
- </diskarea>
- </part>
- <part name="cdrom4" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zoku hatsukoi monogatari (japan) (disc 4) [slps-01329]" sha1="daa38f1858d31f0f8faad5ac6cc9f06f731f6cff"/>
- </diskarea>
- </part>
- </software>
-
- <!-- black screen after company logos -->
- <software name="zorkithe" supported="no">
- <description>Zork I - The Great Underground Empire (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00271" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zork i - the great underground empire (japan) [slps-00271]" sha1="010b72e2b4cfd970fa47d919e70c172f5765aa8b"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK -->
- <software name="zuttoiss" supported="no">
- <description>Zutto Issho With Me Everytime (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPM-86523" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zutto issho with me everytime (japan) [slpm-86523]" sha1="c6b9f923f17efa3cc53bbc74491c047aca1b39bf"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot OK, but controls stop working -->
- <software name="zxedlege" supported="no">
- <description>Zxe-D - Legend of Plasmalite (Japan)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <info name="serial" value="SLPS-00424" />
- <sharedfeat name="compatibility" value="NTSC-J"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="zxe-d - legend of plasmalite (japan) [slps-00424]" sha1="9f7037eb869807b53848d418e94d74c9088d2473"/>
- </diskarea>
- </part>
- </software>
-
- <!-- Non-redump PAL (Europe) -->
-
- <!-- corrupt text -->
- <software name="firebugs" supported="partial">
- <description>Firebugs (Europe)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <!-- <info name="serial" value="" /> -->
- <sharedfeat name="compatibility" value="PAL-E"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="firebugs (e)" sha1="763f232c64d2fa7091c3c6f8eed13686f636da49"/>
- </diskarea>
- </part>
- </software>
-
- <!-- boot ok -->
- <software name="terracon" supported="yes">
- <description>Terracon (Europe)</description>
- <year>199?</year>
- <publisher>&lt;unknown&gt;</publisher>
- <!-- <info name="serial" value="" /> -->
- <sharedfeat name="compatibility" value="PAL-E"/>
- <part name="cdrom" interface="psx_cdrom">
- <diskarea name="cdrom">
- <disk name="terracon_pal" sha1="06f1e225c8e214cb7717d5a131a0c6ed9f53a42b"/>
- </diskarea>
- </part>
- </software>
+
+ <!-- Images below are 'low-grade' ie not dumped to any specific standard, or verified to be of any specific quality, they could have bad gaps or audio tracks etc. -->
+ <!-- They should be replaced with better quality images once said images are available (and verified to be the same versions) -->
+
+ <!-- JAPAN sets -->
+
+ <software name="007tomor" supported="no">
+ <description>007 - Tomorrow Never Dies (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02604" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="007 - tomorrow never dies (japan) [slps-02604]" sha1="966f52044cad485c3adab30e27683fc5f2e78c89"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="1on1sing" supported="no">
+ <description>1-on-1 - Single Basketball (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01706" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="1-on-1 - single basketball (japan) [slps-01706]" sha1="e87d2970e8d294de150333ee92e750f0b3f379e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="10101wil" supported="no">
+ <description>10101 - Will the Starship (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01054" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="10101 - will the starship (japan) [slps-01054]" sha1="aa8abc4feb8a5681119091da60e25fa4a39fbfd5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="19ji03pu" supported="no">
+ <description>19 ji 03 pun Ueno Hatsu Yakou Ressha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01865" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="19 ji 03 pun ueno hatsu yakou ressha (japan) [slps-01865]" sha1="7d6446e2dd0338b00692b1f8d173d2afa17a4678"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="20seikis" supported="no">
+ <description>20 Seiki Striker Retsuden - The 20th Century's Strikers (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02348" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="20 seiki striker retsuden - the 20th century's strikers (japan) [slps-02348]" sha1="155f85591fcc513b87f763cf44707f82b1523413"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="70srobot" supported="no">
+ <description>70's Robot Anime - Geppy-X - The Super Boosted Armor (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01995, SLPS-01996, SLPS-01997, SLPS-01998" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 1) [slps-01995]" sha1="3ce403180784ea6bf30ef69b2a98a3c736d4f619"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 2) [slps-01996]" sha1="199065798579bbb0293da2dc7af736b7c12785eb"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 3) [slps-01997]" sha1="d752e0886e0ed73158ec0b7b2883e7ffc72270c7"/>
+ </diskarea>
+ </part>
+ <part name="cdrom4" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="70's robot anime - geppy-x - the super boosted armor (japan) (disc 4) [slps-01998]" sha1="99aae75d5392ea36ff1789a74a7ed9bc2fdfbe18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aresshad" supported="no">
+ <description>A Ressha de Ikou Z Mezase - Tairiku Oudan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02050" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="a ressha de ikou z mezase - tairiku oudan (japan) [slps-02050]" sha1="7e32607b6d3808ed3082f242ca9658c6d2390646"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="a5aressh" supported="no">
+ <description>A5 - A Ressha de Ikou 5 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-91124" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="a5 - a ressha de ikou 5 (japan) [slps-91124]" sha1="18e3e66b5737c02ee9b0b3b75cb991e7b5ce0af2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="abeagogo" supported="no">
+ <description>Abe a Go Go (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01118" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="abe a go go (japan) [slps-01118]" sha1="e8769e75c151a73ff4b43c6aa00b05663a5a5c77"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="acidjapa" supported="no">
+ <description>Acid (Japan) (SLPS-02119)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="Acid (Japan) (SLPS-02119" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="acid (japan) (slps-02119)" sha1="7a9be5ec10cd928a5dcad61ba200c8908abc8ba4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aconcagu" supported="no">
+ <description>Aconcagua (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10131, SCPS-10132" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aconcagua (japan) (disc 1) [scps-10131]" sha1="04b6f23a8e3731d5326680813f4df4e4685bf294"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aconcagua (japan) (disc 2) [scps-10132]" sha1="fd3aa83644bd035b383e304de5b9810928bb6659"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="actionpu" supported="no">
+ <description>Action Puzzle - Prism Land (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02586" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="action puzzle - prism land (japan) [slps-02586]" sha1="ec7faeb4f79bdccb440e1ee04799849250980158"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="adlibouj" supported="no">
+ <description>Ad Lib Ouji... to Fuyukai na Nakamatachi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03510" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ad lib ouji... to fuyukai na nakamatachi (japan) [slps-03510]" sha1="76c198db22196a82014fd7deea1dc49b5a0a6c14"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="advanrac" supported="no">
+ <description>Advan Racing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01689" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="advan racing (japan) [slps-01689]" sha1="ffb12aad0606c6bb52c917ee5f900ffb080379e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="avg2" supported="no">
+ <description>Advanced V.G. 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87226" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="advanced v.g. 2 (japan) [slpm-87226]" sha1="49f78ed7c114f7f460989df3fe35552c332522de"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="avg" supported="no">
+ <description>Advanced Variable Geo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00208" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="advanced variable geo (japan) [slps-00208]" sha1="bc05188941f552f85c7127be67747584dd14a32a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="afraidge" supported="no">
+ <description>Afraid Gear (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00995" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="afraid gear (japan) [slps-00995]" sha1="3dc6aaf200c8499775525cd5526192a92661c1a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="afraidga" supported="no">
+ <description>Afraid Gear Another (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86834" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="afraid gear another (japan) [slpm-86834]" sha1="63de3ea4878b9504126abe5376f5873f826ac22e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="agentarm" supported="no">
+ <description>Agent Armstrong (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01073" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="agent armstrong (japan) [slps-01073]" sha1="f3de15194878d54e51f79644e79ebff33e6c5811"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="airgrave" supported="no">
+ <description>Airgrave (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00559" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="airgrave (japan) [slps-00559]" sha1="6890bed92bd4f199e68611e409e5d0e96ad4ed5f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="airsthej" supported="no">
+ <description>Airs, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01916" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="airs, the (japan) [slps-01916]" sha1="cf4d1c53bf785d9e44c3ec18045ae7e37e09d3b8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aitakute" supported="no">
+ <description>Aitakute... Your Smiles in My Heart (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86254, SLPM-86255, SLPM-86256, SLPM-86257" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aitakute... your smiles in my heart (japan) (disc 1) [slpm-86254]" sha1="9f71ccf49ca8ffd5389c2668e781ec99a56baf99"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aitakute... your smiles in my heart (japan) (disc 2) [slpm-86255]" sha1="90e54cb6326859f9d9c251ea10dfb01b4a9d3ae2"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aitakute... your smiles in my heart (japan) (disc 3) [slpm-86256]" sha1="085751a79716b3ff04cc9d34fc12e990a7f06645"/>
+ </diskarea>
+ </part>
+ <part name="cdrom4" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aitakute... your smiles in my heart (japan) (disc 4) [slpm-86257]" sha1="55fe21dcf22321acbb7f9fb53b75a54bee5ec367"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aizouban" supported="no">
+ <description>Aizouban Houshinengi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86209" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aizouban houshinengi (japan) [slpm-86209]" sha1="2b55f060f67e7e17062f93751379d1a83d285844"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="alabamaj" supported="no">
+ <description>Alabama (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02961" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alabama (japan) [slps-02961]" sha1="9b930eb42cbd094febb3e3a6ab27f5761f00ce82"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aliceinc" supported="no">
+ <description>Alice in Cyberland (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00636" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alice in cyberland (japan) [slps-00636]" sha1="69f365f86e99b6c86069433343ad1c5169ee69ab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="alivejap" supported="no">
+ <description>Alive (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01527, SLPS-01528, SLPS-01529" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alive (japan) (disc 1) [slps-01527]" sha1="0118f568691d56e37ca279351b73caab2cc6bc8b"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alive (japan) (disc 2) [slps-01528]" sha1="426d3cebb2af600348c97a511b3e516c34d0cdf0"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alive (japan) (disc 3) [slps-01529]" sha1="24f53f08e4458793c675aec99ac99e03eb282c80"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="alundra2" supported="no">
+ <description>Alundra 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10115" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="alundra 2 (japan) [scps-10115]" sha1="ce58f2c42c5268d17d7bef57543895c3e1d5a278"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ancientr" supported="no">
+ <description>Ancient Roman - Power of Dark Side (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01108, SLPS-01109" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ancient roman - power of dark side (japan) (disc 1) [slps-01108]" sha1="857ba7243e56e76b55532fa27cb96d6abcf3895a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ancient roman - power of dark side (japan) (disc 2) [slps-01109]" sha1="638fcfdb8818affbe4997d13b0a408d8b7387a18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="angelbla" supported="no">
+ <description>Angel Blade - Neo Tokyo Guardians (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00894" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angel blade - neo tokyo guardians (japan) [slps-00894]" sha1="71b446c8422f3c7b7230046d1ee216cb494ba85b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="angelgra" supported="no">
+ <description>Angel Graffiti - Anata he no Profile (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00163" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angel graffiti - anata he no profile (japan) [slps-00163]" sha1="60204c7ca4d57492dfbc869dea54e78830919b03"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="anglduet" supported="no">
+ <description>Angelique Duet (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01337" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angelique duet (japan) [slps-01337]" sha1="f7c6ba898feaae4bd1ac0924cfd67becd622c1a9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="anglspec" supported="no">
+ <description>Angelique Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00320" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angelique special (japan) [slps-00320]" sha1="25bad1d2f28e613e7f2374e4b620871945ebf490"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="anglspe2" supported="no">
+ <description>Angelique Special 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00805" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angelique special 2 (japan) [slps-00805]" sha1="76a0b8b00327f26a9a62553bec5641acf6dd64e1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="angltnr" supported="no">
+ <description>Angelique Tenkuu no Requiem (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86165" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="angelique tenkuu no requiem (japan) [slpm-86165]" sha1="cbd6d9d980cb7034a75a09879ad5fe20ac042d06"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="anglomoi" supported="no">
+ <description>Anglomois '99 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86278" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="anglomois '99 (japan) [slpm-86278]" sha1="d37495cee02788e63d918a0b9d83e1abb5dc637e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="annanjar" supported="no">
+ <description>Annanjarin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01424" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="annanjarin (japan) [slps-01424]" sha1="6b0aebf40fa6e1c5c6f369716f79de7b79a056df"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="anotherm" supported="no">
+ <description>Another Memories (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01431" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="another memories (japan) [slps-01431]" sha1="1ee85e7165652eca1b2696a87b89786585d13f2f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aonoroku" supported="no">
+ <description>Ao no Rokugou - Antarctica (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02940, SLPS-02941" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ao no rokugou - antarctica (japan) (disc 1) [slps-02940]" sha1="933eb30c86e95ece267c247baa6b34b461885282"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ao no rokugou - antarctica (japan) (disc 2) [slps-02941]" sha1="6a642f3d2c4b4c87b54c4dc9ec1ddcf0ab9c0eb6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aozorato" supported="no">
+ <description>Ao Zora to Nakama Tachi - Yume no Bouken (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03564" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ao zora to nakama tachi - yume no bouken (japan) [slps-03564]" sha1="d73e416b2789c5ba5ee8e8440e4220bbf335955b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aokiooka" supported="no">
+ <description>Aoki Ookami to Shiroki Mezika - Genchou Hishi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01579" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aoki ookami to shiroki mezika - genchou hishi (japan) [slps-01579]" sha1="274eb22e29bf8be1ed6a67b3c1e4383770dd49e4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aquapara" supported="no">
+ <description>Aqua Paradise (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03095" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aqua paradise (japan) [slps-03095]" sha1="60be08d7929404e4516bb696a5ab87451e699d2c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aquanaut" supported="no">
+ <description>Aquanaut no Kyuujitsu 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02141" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aquanaut no kyuujitsu 2 (japan) [slps-02141]" sha1="77bf830bc052c930fa35afe470a9b9aab236ee29"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aquarian" supported="no">
+ <description>Aquarian Age - Tokyo Wars (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02731" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aquarian age - tokyo wars (japan) [slps-02731]" sha1="3603f5e0dd0260952c173852b7d8fc96cc65ea4c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cclimbr" supported="no">
+ <description>Arcade Hits - Crazy Climber (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87067" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arcade hits - crazy climber (japan) [slpm-87067]" sha1="052df147ddf72d2936a6fe3a615d9c4df37a237e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="frisktom" supported="no">
+ <description>Arcade Hits - Frisky Tom (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87118" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arcade hits - frisky tom (japan) [slpm-87118]" sha1="2cddf03e24a7d6f3597920dc15fc1f5a5a74ced7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="arkanase" supported="no">
+ <description>Arkana Senki Ludo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01438" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arkana senki ludo (japan) [slps-01438]" sha1="21c9fed0f58e1a3d30a4806a857688d23479c2f4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="arkanoid" supported="no">
+ <description>Arkanoid R 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86262" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arkanoid r 2000 (japan) [slpm-86262]" sha1="e3c77a5c7438beab3c5d6692eaddb60d840f34ca"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="armedcor" supported="no">
+ <description>Armed Core (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80118" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="armed core (japan) (demo) [slpm-80118]" sha1="dc782860a842fb3f21a91fdd4a60cfc5badd8f86"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="armedfig" supported="no">
+ <description>Armed Fighter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01598" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="armed fighter (japan) [slps-01598]" sha1="9af77275f184a012f463d0254232e1c8b22a773c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="armoredt" supported="no">
+ <description>Armored Trooper Votoms - Lightning Slash (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01961" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="armored trooper votoms - lightning slash (japan) [slps-01961]" sha1="8154e0b49593423cdbc1ffc773bb7f78b717e694"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="artcamio" supported="no">
+ <description>Art Camion - Geijutsuden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87186" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="art camion - geijutsuden (japan) [slpm-87186]" sha1="5182f3ebf97d3c1a47bddb7adcf9cb22dc884823"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="artcamia" supported="no">
+ <description>Art Camion - Geijutsuden (Japan) (alt)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02405" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="art camion - geijutsuden (japan) [slps-02405]" sha1="00fdad90e6b821c082207cfb75e30a3be8173cce"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="arthurto" supported="no">
+ <description>Arthur to Astaroth no Nazo Makaimura - Incredible Toons (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00363" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arthur to astaroth no nazo makaimura - incredible toons (japan) [slps-00363]" sha1="5929585b5a3127642fc2e43a696ab4034658d19f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="arubarea" supported="no">
+ <description>Arubarea no Otome - Uruwashi no Seikishitachi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01578" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="arubarea no otome - uruwashi no seikishitachi (japan) [slps-01578]" sha1="cae3c71afe8ca63d5c6052bcfd2641f2a48e94e2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="astronok" supported="no">
+ <description>Astronoka (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86088, SLPM-86089" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="astronoka (japan) (disc 1) [slpm-86088]" sha1="20206006189f7edc280794ee3504e1e892933e6d"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="astronoka (japan) (disc 2) [slpm-86089]" sha1="1e97e557009fd8d0560fd043982ca3e1bc7810e6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="a120bfe" supported="no">
+ <description>Asuka 120% Burning Festival Excellent (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00849" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="asuka 120% burning festival excellent (japan) [slps-00849]" sha1="5c60e0bb779058f9693e698eff84076280d51a28"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="a120bff" supported="no">
+ <description>Asuka 120% Burning Festival Final (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02074" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="asuka 120% burning festival final (japan) [slps-02074]" sha1="552e1ca801d1cf1ea4442b49e3e128d1882afd5e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="a120sbf" supported="no">
+ <description>Asuka 120% Special Burning Festival (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00231" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="asuka 120% special burning festival (japan) [slps-00231]" sha1="9b74899e6c0467c52d8d58813df117c5c748ecaa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="asuncias" supported="no">
+ <description>Asuncia - Strategic Fantasy Role Playing Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03075" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="asuncia - strategic fantasy role playing game (japan) [slps-03075]" sha1="b0afb7815a01f207dd3917ca2a047b024872a039"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="athenaaw" supported="no">
+ <description>Athena - Awakening from the Ordinary Life (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86185, SLPM-86186, SLPM-86187" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="athena - awakening from the ordinary life (japan) (disc 1) [slpm-86185]" sha1="7e498017d7b43dd588a1e07f60432d472b43e15f"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="athena - awakening from the ordinary life (japan) (disc 2) [slpm-86186]" sha1="7f6fed977df70fc187c2204621aee09531de2fd0"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="athena - awakening from the ordinary life (japan) (disc 3) [slpm-86187]" sha1="32f081b19471ef5d391adefe31f6d0e29c853712"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="aurabatt" supported="no">
+ <description>Aura Battler Dunbine (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02390" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="aura battler dunbine (japan) [slps-02390]" sha1="9680a82e974614aaa8dea6bfaa6416cca431379d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ayakashi" supported="no">
+ <description>Ayakashi Ninden Kunoichiban (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00946, SLPS-00947" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ayakashi ninden kunoichiban (japan) (disc 1) [slps-00946]" sha1="0e88efffdfda79d8f54cecf396a1dc7ae7e31595"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ayakashi ninden kunoichiban (japan) (disc 2) [slps-00947]" sha1="af66464919855d4f5591bc0d9c25975fd1fad9bc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="azitojap" supported="no">
+ <description>Azito (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00683" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="azito (japan) [slps-00683]" sha1="36ebbcf1bab5725c7213f16c86cac45a261d7ce2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="azito3ja" supported="no">
+ <description>Azito 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02496" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="azito 3 (japan) [slps-02496]" sha1="79867f64a806cb0a813e2bb0b7faf06d2b438c9e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="azumanga" supported="no">
+ <description>Azumanga Donjara Daiou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03424" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="azumanga donjara daiou (japan) [slps-03424]" sha1="a40dc624e456df391db71ea9bd05460de0ee0ff3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bluelege" supported="no">
+ <description>b.l.u.e. - Legend of Water (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01459" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="b.l.u.e. - legend of water (japan) [slps-01459]" sha1="e6bf35d13f3076c98e8b1f6886e6f5fbb13ed3f1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="backgain" supported="no">
+ <description>Back Gain Act-2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01446, SLPS-01447, SLPS-01448" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="back gain act-2 (japan) (disc 1) [slps-01446]" sha1="662d5641759604e6b4e0a85755f1b0d7b772bf81"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="back gain act-2 (japan) (disc 2) [slps-01447]" sha1="127632c77e2133d3fab634af827b81c7019df5cc"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="back gain act-2 (japan) (disc 3) [slps-01448]" sha1="b4a736524a570846451557cdd18d68ff04482b5a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="bakumats" supported="no">
+ <description>Bakumatsu Roman - Gekka no Kenshi (The Last Blade) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86118" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bakumatsu roman - gekka no kenshi (the last blade) (japan) [slpm-86118]" sha1="4f6485d2f5015a64cb3ac217b1c31e82261f698e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bakurets" supported="no">
+ <description>Bakuretsu Akindo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00236" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bakuretsu akindo (japan) [slps-00236]" sha1="96dd2e9c9cd252b771ce6e23a7438647cbce8d0f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bhuntmj" supported="no">
+ <description>Bakuretsu Hunter - Mahjong Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00541" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bakuretsu hunter - mahjong special (japan) [slps-00541]" sha1="d3b150ca2412f09f8e49147afea1ebf76628ffa4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- MESS crash-->
+ <software name="bakuryuu" supported="no">
+ <description>Bakuryuu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02429" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bakuryuu (japan) [slps-02429]" sha1="7cc656450abd7ae7f68b3c8dac527db8d20d544b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- OK - setloc out of range: 00:00:00 -->
+ <software name="baminkid">
+ <description>Bamin Kids (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00558" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bamin kids (japan) [slps-00558]" sha1="06ce600fb75a1bb0c54cc228658162fa81f42dd9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="barbapap" supported="no">
+ <description>Barbapapa - The Mumins (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03301" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="barbapapa - the mumins (japan) [slps-03301]" sha1="231bc3441d832bedfa65eeb6840222907e8b9848"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="bardyshj" supported="no">
+ <description>Bardysh (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02187" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bardysh (japan) [slps-02187]" sha1="cf3cc2acf03f682a22cbe4d702528855fbb8e4a6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="baroquej" supported="no">
+ <description>Baroque (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86341" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="baroque (japan) [slpm-86341]" sha1="8c204d5de69a497e0c11ab15f67032084172d101"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="baroques" supported="no">
+ <description>Baroque Syndrome (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86540" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="baroque syndrome (japan) [slpm-86540]" sha1="a3547d5ad686cf54dea936abcc79fc4fca323a4c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="baseball" supported="no">
+ <description>Baseball Simulation - ID Pro Yakyuu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86650" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="baseball simulation - id pro yakyuu (japan) [slpm-86650]" sha1="f550caade3c3184b311f9539855760e1ad43e7fc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bassfish" supported="no">
+ <description>Bass Fisherman (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01304" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bass fisherman (japan) [slps-01304]" sha1="b5fb491ef676f80e1f677b89360345718d6dde4b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="battlema" supported="no">
+ <description>Battle Master (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86519" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="battle master (japan) [slpm-86519]" sha1="71556b5f283d4007141191fe2a91c98b5b57da78"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="battlesu" supported="no">
+ <description>Battle Sugoroku - The Hunter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86400" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="battle sugoroku - the hunter (japan) [slpm-86400]" sha1="329c9355ea3ea2998763c0ec561011c9ef1aee8a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- logos, then black screen -->
+ <software name="bealphar" supported="no">
+ <description>Bealphareth (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10138" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bealphareth (japan) [scps-10138]" sha1="0312a3c2ac4156044d3f45b1ba088bf89b15df0e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="beatplan" supported="no">
+ <description>Beat Planet Music (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-18013" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beat planet music (japan) [scps-18013]" sha1="f95ab2679e7ac8fd85f03857ea13df9dc3a4120d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bm3mm" supported="no">
+ <description>Beatmania - Append 3rd Mix Mini (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86156" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - append 3rd mix mini (japan) [slpm-86156]" sha1="ac8739cf548a987e91a2702e0ee5bd52cb3567cc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bm5" supported="no">
+ <description>Beatmania - Append 5th Mix - Time to Get Down (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86322" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - append 5th mix - time to get down (japan) [slpm-86322]" sha1="b1f6257dc7f22a7437b99f69da444864a7d2ced8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bmclub" supported="no">
+ <description>Beatmania - Append Club Mix (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86692" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - append club mix (japan) [slpm-86692]" sha1="618c5624f0175a4cad25b4b8594d0e5aacc0d875"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bmbest" supported="no">
+ <description>Beatmania - Best Hits (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86596" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - best hits (japan) [slpm-86596]" sha1="559cf473f725377967b28f46374e67332b517fab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bmdct" supported="no">
+ <description>Beatmania - featuring Dreams Come True (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86597" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - featuring dreams come true (japan) [slpm-86597]" sha1="57381b8f1bb0027c55b4cb82c40fba973497b5c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bmgot2" supported="no">
+ <description>Beatmania - Gottamix 2</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="Beatmania - Gottamix " />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - gottamix 2" sha1="1e638490f662e27c46f79d539ced9d77c66a03a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bmtokyo" supported="no">
+ <description>Beatmania - The Sound of Tokyo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86769" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania - the sound of tokyo (japan) [slpm-86769]" sha1="a434cc5171a8dfe47b050869a480f5b2931d21b6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bm6core" supported="no">
+ <description>Beatmania 6th Mix + Core Remix (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87012" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beatmania 6th mix + core remix (japan) [slpm-87012]" sha1="25ce362998aec37c0c3a056b9f5121a7500f81ac"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="beavisbu" supported="no">
+ <description>Beavis &amp; Butthead - Virtual Aho Shoukougun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01219" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="beavis &amp; butthead - virtual aho shoukougun (japan) [slps-01219]" sha1="d71e22fa3a48c5233f7cbeaa050b0aecf4e82f0e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bishibas" supported="no">
+ <description>Bishi Bashi Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86825" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bishi bashi special (japan) [slpm-86825]" sha1="f1b1133e262d12b42e8a5e798d2c19b9c4ce42e4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bishiba2" supported="no">
+ <description>Bishi Bashi Special 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86267" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bishi bashi special 2 (japan) [slpm-86267]" sha1="1c950b4676d137898f1e97cce67f1684609b99fd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bishiba3" supported="no">
+ <description>Bishi Bashi Special 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86539" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bishi bashi special 3 (japan) [slpm-86539]" sha1="cf147dd484af9454e9bd5d1774f21c7d6c858e55"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bishoujo" supported="no">
+ <description>Bishoujo Senshi Sailor Moon Super S - Shin Shuyaku Soudatsusen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00260" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bishoujo senshi sailor moon super s - shin shuyaku soudatsusen (japan) [slps-00260]" sha1="efccba5e3038d573f9c1ad87dabfa00672f55ff9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blackmat" supported="no">
+ <description>Black Matrix 00 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03571, SLPS-03572" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="black matrix 00 (japan) (disc 1) [slps-03571]" sha1="83c9ff5820d237a78aac0114f73a07d7ad87752e"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="black matrix 00 (japan) (disc 2) [slps-03572]" sha1="2e573f24a22c64a992d52e566ff6cc916012d98a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blackmx" supported="no">
+ <description>Black Matrix Cross (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02962, SLPS-02963" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="black matrix cross (japan) (disc 1) [slps-02962]" sha1="ce7d3c846253d063d3d925e84313171257fab477"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="black matrix cross (japan) (disc 2) [slps-02963]" sha1="49de6b3535e669f3c12afe97e07f305b2a5bf342"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blackjac" supported="no">
+ <description>Blackjack vs. Matsuda Jun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01983" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blackjack vs. matsuda jun (japan) [slps-01983]" sha1="18101f4c708e69f20b046eddb2f85adfb5372b0a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bladeart" supported="no">
+ <description>Blade Arts (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86602" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blade arts (japan) [slpm-86602]" sha1="37a8288b2ba0302a4e430f6a729194fc84353d68"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blademak" supported="no">
+ <description>Blademaker (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01795" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blademaker (japan) [slps-01795]" sha1="e0fd2be655346e01a7124de993e0b577d9fb6488"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blammach" supported="no">
+ <description>Blam! Machinehead (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00798" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blam! machinehead (japan) [slps-00798]" sha1="d437c29a088689d63bbcba44cf37f4e34db6b838"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blazebeq" supported="no">
+ <description>Blaze &amp; Blade - Eternal Quest (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01209" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blaze &amp; blade - eternal quest (japan) [slps-01209]" sha1="3e17a7db3231688187d9072d680359f008b1fa40"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blazebla" supported="no">
+ <description>Blaze &amp; Blade Busters (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01576" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blaze &amp; blade busters (japan) [slps-01576]" sha1="a689d9a7f5a65bed62c57a3816d73ada27476119"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blendxbr" supported="no">
+ <description>Blend X Brand (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02818" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blend x brand (japan) [slps-02818]" sha1="f4ef9b25dc30de6f475e9ffe1a84a6347dfdc3b2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="blockku2">
+ <description>Block Kuzushi 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02578" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="block kuzushi 2 (japan) [slps-02578]" sha1="99fefa95a845277e6ade3b4814c1c497018a18dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="blockkuz" supported="no">
+ <description>Block Kuzushi Kowashite Help! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03042" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="block kuzushi kowashite help! (japan) [slps-03042]" sha1="5f76b744b0c6a5e1050426f962b51bcc47226ce7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bloodfac" supported="no">
+ <description>Blood Factory (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00235" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blood factory (japan) [slps-00235]" sha1="0ce6f2cfd5d321d77b8fcb0ac776d33cea00102e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bluebrea" supported="no">
+ <description>Blue Breaker Burst - Egao no Asu ni (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01580" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blue breaker burst - egao no asu ni (japan) [slps-01580]" sha1="c1d42e0238b529d1c100c2dd57c0f20d0c428851"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="blueknig" supported="no">
+ <description>Blue Knight Bersaga Story - Soukou Kihei Votoms Gaiden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00982" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blue knight bersaga story - soukou kihei votoms gaiden (japan) [slps-00982]" sha1="153e70b5160b1d4387f0997589f99014f41102d7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bluemarl" supported="no">
+ <description>Blue Marlin, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02752" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="blue marlin, the (japan) [slps-02752]" sha1="ecf70699d173e754d70aaf247c4af3c6abeded0b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bokuhako" supported="no">
+ <description>Boku ha Koukuu Kanseikan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02514" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="boku ha koukuu kanseikan (japan) [slps-02514]" sha1="4bd1ad337dcfbafc4c7b3d7179f28ae2240f364a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bokunoch" supported="no">
+ <description>Boku no Choro-Q (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87024" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="boku no choro-q (japan) [slpm-87024]" sha1="ff3cbcfd88c680f23067688dc8672d132fc65f90"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bokujyou" supported="no">
+ <description>Bokujyou Keieiteki Board Game Umapoly (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86403" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bokujyou keieiteki board game umapoly (japan) [slpm-86403]" sha1="4964b22c21102deb1fb5acefc43db3a31e364b1c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="bonogura" supported="no">
+ <description>Bonogurashi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00333" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bonogurashi (japan) [slps-00333]" sha1="a25e059bceea356817ae327dabafa39fe1e1ac1e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="boundary" supported="no">
+ <description>Boundary Gate (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00907" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="boundary gate (japan) [slps-00907]" sha1="1932e5e0f8480c491d52e2a987020db17f74eb96"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bravepro" supported="no">
+ <description>Brave Prove (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01316" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="brave prove (japan) [slps-01316]" sha1="ece90034625f920f5d45ecb13c8f7e2fc91dca53"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bravesag" supported="no">
+ <description>Brave Saga - Shin Sedai Robot Senki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01756" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="brave saga - shin sedai robot senki (japan) [slps-01756]" sha1="5d6d10c54b65a98324fc137147b0efe71fc0cf91"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="bravesa2" supported="no">
+ <description>Brave Saga 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02580, SLPS-02581" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="brave saga 2 (japan) (disc 1) [slps-02580]" sha1="257177184b98b8970a7ef3397f14aef0b05d5bc4"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="brave saga 2 (japan) (disc 2) [slps-02581]" sha1="f20acc35f3e9d8398bfd25890defe27b3e7e993d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="braveswo" supported="no">
+ <description>Brave Sword (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02889" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="brave sword (japan) [slps-02889]" sha1="f90125c394e4455bf9627d34b3921b3fc3f3977f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="breakvol" supported="no">
+ <description>Break Volley (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02375" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="break volley (japan) [slps-02375]" sha1="beffc3c5bb391da3bfd18afcb83333368f6f98e6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="breathof" supported="no">
+ <description>Breath of Fire III (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00990" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="breath of fire iii (japan) [slps-00990]" sha1="84c2f9faddb4e250b023bf35304fc05a5dc9e9c7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="buckleup" supported="no">
+ <description>Buckle Up! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01105" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="buckle up! (japan) [slps-01105]" sha1="ab733b71a18341a1977134463cea2a8f856aa17c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- stuck on sony logo -->
+ <software name="bugijapa" supported="no">
+ <description>Bugi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86133" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="bugi (japan) [slpm-86133]" sha1="41c9eb992a1e17ef3dd4f71ea3798116998f1aba"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="burnoutj" supported="no">
+ <description>Burn Out (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86598" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="burn out (japan) [slpm-86598]" sha1="68c7ccd8dbb306c15e4380405ef73491877f126b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="burningr" supported="no">
+ <description>Burning Road (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00518" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="burning road (japan) [slps-00518]" sha1="bcf72f6b9fa45d1fcaba460cc1296cb28fe6aa7c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="buttsubu" supported="no">
+ <description>Buttsubushi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03162" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="buttsubushi (japan) [slps-03162]" sha1="036b80cbfa0688740e04860b898b1365546d76f6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="c1circui" supported="no">
+ <description>C1-Circuit (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00279" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="c1-circuit (japan) [slps-00279]" sha1="cf9b8cc03dbcf9ba9678296bae1c72ea82cff4a6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="calcoloj" supported="no">
+ <description>Calcolo! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01071" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="calcolo! (japan) [slps-01071]" sha1="26a2f748579d6d05d27322bf60d8facd027f8696"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="captainc" supported="no">
+ <description>Captain Commando (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01567" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="captain commando (japan) [slps-01567]" sha1="1c3f651509f450b363eb7926bf845fb1b916016d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="captaint" supported="no">
+ <description>Captain Tsubasa - Aratanaru Densetsu Joshou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87060" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="captain tsubasa - aratanaru densetsu joshou (japan) [slpm-87060]" sha1="78dc4071dda0032011318f9790003c70d724213d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="captainj" supported="no">
+ <description>Captain Tsubasa J - Get In The Tomorrow (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00310" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="captain tsubasa j - get in the tomorrow (japan) [slps-00310]" sha1="781d584d0f76621bf3ce7a91646c430e500b1dff"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="carnageh" supported="no">
+ <description>Carnage Heart - Easy Zapping (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00919" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="carnage heart - easy zapping (japan) [slps-00919]" sha1="04ecdf46298da87b9c67b1066a85f7880da55209"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="caromsho" supported="no">
+ <description>Carom Shot 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01486" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="carom shot 2 (japan) [slps-01486]" sha1="64d4804d54ef55ef1c16b3881686fb9f740eac69"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cartonku" supported="no">
+ <description>Carton-kun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02935" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="carton-kun (japan) [slps-02935]" sha1="15500069bfc1409019655f22be2d9c59ececf747"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chaoscon" supported="no">
+ <description>Chaos Control (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00168" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chaos control (japan) [slps-00168]" sha1="2c3865c08064333e82a06426e33669f03506beeb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chiisana" supported="no">
+ <description>Chiisana Kyojin Microman (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01926" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chiisana kyojin microman (japan) [slps-01926]" sha1="94ae563a1e9e6052f482b5e8f5732033ec012732"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chiisaer" supported="no">
+ <description>Chiisana Oukoku Erutoria (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02750" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chiisana oukoku erutoria (japan) [slps-02750]" sha1="31db137cd1e99a35fa470a9e8d48848b49de701f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chikichi" supported="no">
+ <description>Chiki Chiki Machine Mou Race - Wacky Races (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86845" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chiki chiki machine mou race - wacky races (japan) [slpm-86845]" sha1="ba899647735af9c2207d0f57a70cae1123404e31"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chippoke" supported="no">
+ <description>Chippoke Ralph no Daibouken - The Adventure of Little Ralph (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01853" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chippoke ralph no daibouken - the adventure of little ralph (japan) [slps-01853]" sha1="44dae43745a50b108140a94e312f46af262ca8e3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chocolat" supported="no">
+ <description>Chocolate Kiss (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03400" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chocolate kiss (japan) [slps-03400]" sha1="4fc15c8f74a53fd567e1f528e2e17e448e81b282"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="choroqja" supported="no">
+ <description>Choro-Q (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00242" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="choro-q (japan) [slps-00242]" sha1="f0fecf75754d364c2fc8d69bc9d215af50e4faa9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="choroqwo" supported="no">
+ <description>Choro-Q Wonderful! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02205" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="choro-q wonderful! (japan) [slps-02205]" sha1="daf3e93d1f331b0692b319184838183f6400d86e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chouhats" supported="no">
+ <description>Chou Hatsumei Boy Kanipan - Hirameki Wonderland (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86299" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chou hatsumei boy kanipan - hirameki wonderland (japan) [slpm-86299]" sha1="a26f621ec1661e8de27061430c6cb303dbce208f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="chouanik" supported="no">
+ <description>Chou-Aniki - Kyuukyoku Muteki Ginga Saikyou Otoko (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00183" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chou-aniki - kyuukyoku muteki ginga saikyou otoko (japan) [slps-00183]" sha1="c4e85e418fc8f87c7995e5a2da46598255bb2ed2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="choukous" supported="no">
+ <description>Chou-Kousoku Gran Doll (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00935" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="chou-kousoku gran doll (japan) [slps-00935]" sha1="8b23f667284b2a9efac321030b82319d871aa9c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="choujing" supported="no">
+ <description>Choujin Gakuen Gowcaizer (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00527" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="choujin gakuen gowcaizer (japan) [slps-00527]" sha1="526e004cb1431242055c088248c2e1124e8fa37a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cielgris" supported="no">
+ <description>Cielgris Fantasm - Noir Yeux Noire - Kuroi Hitomi no Noir (Noir's Dark Eyes) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01450" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cielgris fantasm - noir yeux noire - kuroi hitomi no noir (noir's dark eyes) (japan) [slps-01450]" sha1="6d4226bdafbb63e5a7f2d2d805019acf9af6b372"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- OK, gfx alignment problems -->
+ <software name="circuitb" supported="no">
+ <description>Circuit Beat (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00311" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="circuit beat (japan) [slps-00311]" sha1="c09f689d3e3001fd3f8e32d285a98f3605784591"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="cleopatr" supported="no">
+ <description>Cleopatra's Fortune (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03187" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cleopatra's fortune (japan) [slps-03187]" sha1="f7fa75cb6df73ffa0a26a6d891439108682e2bf0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="clickman" supported="no">
+ <description>Click Manga - Click Nohi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02354" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="click manga - click nohi (japan) [slps-02354]" sha1="f303722f78586f19408fe93ec039112717427fd3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="clickdr1" supported="no">
+ <description>Click Manga - Dynamic Robot Taisen 1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02131" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="click manga - dynamic robot taisen 1 (japan) [slps-02131]" sha1="6eab5a68fe8c5d544a5508c83ec922ddf1d4c8ca"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="clickdr2" supported="no">
+ <description>Click Manga - Dynamic Robot Taisen 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02407" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="click manga - dynamic robot taisen 2 (japan) [slps-02407]" sha1="33bfcad8d3b445e5ca4a4f2cb8d99c3253129186"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="clocktow" supported="no">
+ <description>Clock Tower - Ghost Head (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01290" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="clock tower - ghost head (japan) [slps-01290]" sha1="28f77a9178f9d23a7090f242ce47310c112108bb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="clockto2" supported="no">
+ <description>Clock Tower 2 (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80063" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="clock tower 2 (japan) (demo) [slpm-80063]" sha1="147b3347ccaf5c0c009a2b67f216a5e3dc0365b3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="colorful" supported="no">
+ <description>Colorful Logic 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03239" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="colorful logic 3 (japan) [slps-03239]" sha1="6f5bf60a4b92c5b1b2529a905f04d0f72cbe34ce"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cpom" supported="no">
+ <description>Community Pom (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00817" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="community pom (japan) [slps-00817]" sha1="dac36486af6cabd532b8a1a9200d98cff19b5f13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cpomowd" supported="no">
+ <description>Community Pom - Omoide wo Dakishimete (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02116" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="community pom - omoide wo dakishimete (japan) [slps-02116]" sha1="2d2948ea4691e8db832ccc1e2dcf50149f1a1671"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="convenis" supported="no">
+ <description>Conveni Special, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01301" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="conveni special, the (japan) [slps-01301]" sha1="9fd08cf1038824941ccd4e34343aff7612253503"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cookingf" supported="no">
+ <description>Cooking Fighter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01382" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cooking fighter (japan) [slps-01382]" sha1="119bf656a5fdd5993552f3ca93f676b80cf297cd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cosmicra" supported="no">
+ <description>Cosmic Race (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00009" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cosmic race (japan) [slps-00009]" sha1="4a223a3a9f4ddd371be0ea4578f5a6cb75e4f162"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cosmowar" supported="no">
+ <description>Cosmowarrior Zero (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86484" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cosmowarrior zero (japan) [slpm-86484]" sha1="5815ebcf89edf93a11b54e6e761f4ad6775d47e7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="cotton10" supported="no">
+ <description>Cotton 100% (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87211" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cotton 100% (japan) [slpm-87211]" sha1="9875be77df81d4dd10d5c7aff0b549a2050328fb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="crazycli" supported="no">
+ <description>Crazy Climber 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02582" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="crazy climber 2000 (japan) [slps-02582]" sha1="df5edab83e97a5b05c72f7844d4ae1357a2b7085"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="creature" supported="no">
+ <description>Creature Shock (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00120, SLPS-00121" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="creature shock (japan) (disc 1) [slps-00120]" sha1="c8a578c0edb4a8bdd62b98f4e82c92db35b3b953"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="creature shock (japan) (disc 2) [slps-00121]" sha1="e75be88c09e1dd886142ecab17d92fbc9b7fd898"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="crimecra" supported="no">
+ <description>Crime Crackers 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10037" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="crime crackers 2 (japan) [scps-10037]" sha1="c369f8dfd4a636ad2f30d5dfa74c362c15fa29a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- missing GFX? -->
+ <software name="crocadve" supported="no">
+ <description>Croc Adventure (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86310" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="croc adventure (japan) [slpm-86310]" sha1="3b750c67fab7a1ec9347cb03bdd29d0fb7c5b219"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="crosstan" supported="no">
+ <description>Cross Tantei Monogatari 1 (Cross Detective Story) - Kouhen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86639" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cross tantei monogatari 1 (cross detective story) - kouhen (japan) [slpm-86639]" sha1="cc5b223e1cae8f2db662d98e84be9dc5b8151f54"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="crwcount" supported="no">
+ <description>CRW - Counter Revolution War (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00220" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="crw - counter revolution war (japan) [slps-00220]" sha1="e32536a5c6437a2809650818a0ebe1096b6c8f67"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cuonpaja" supported="no">
+ <description>Cu-On-Pa (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01026" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cu-on-pa (japan) [slps-01026]" sha1="ee702defa8bed1f1ad0dc9413c54422ba0c506dd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cyberdai" supported="no">
+ <description>Cyber Daisenryaku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86580" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cyber daisenryaku (japan) [slpm-86580]" sha1="83fb179ee3df250ec82c343ad432500dea2de4a8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cyberwar" supported="no">
+ <description>Cyber War (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00055, SLPS-00056, SLPS-00057" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cyber war (japan) (disc 1) [slps-00055]" sha1="3b72659c1708f375aae3db9cec137e7dd850d7b9"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cyber war (japan) (disc 2) [slps-00056]" sha1="1ce7560afbe9c62aaf02e484bec93b65744266b5"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cyber war (japan) (disc 3) [slps-00057]" sha1="78c35f4c5b3eb2e1b57d244731eeaea58b2f55bb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="cybernet" supported="no">
+ <description>Cybernetic Empire (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01912, SLPS-01913" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cybernetic empire (japan) (disc 1) [slps-01912]" sha1="f9695801ba6bc74aa8b2727e4231d0cc81e411fd"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="cybernetic empire (japan) (disc 2) [slps-01913]" sha1="25af91779f8f7e83f372c200e312ea1922a978a7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="daibouke" supported="no">
+ <description>Daibouken Deluxe - Harukanaru Umi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00813" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="daibouken deluxe - harukanaru umi (japan) [slps-00813]" sha1="88c6e84f50a86f52510fe0977e355b03237bb75c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="daikouka" supported="no">
+ <description>Daikoukai Jidai Gaiden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01021" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="daikoukai jidai gaiden (japan) [slps-01021]" sha1="615bed5ee8317806c76f8f9adafde11497ecf9e4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="daikouk2" supported="no">
+ <description>Daikoukai Jidai II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00656" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="daikoukai jidai ii (japan) [slps-00656]" sha1="20d1a8d7170db9f399e5fb1608c71bd60140494e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dakar97j" supported="no">
+ <description>Dakar '97 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00634" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dakar '97 (japan) [slps-00634]" sha1="686a334ea7219ea23b279b1ba7e79d405ea431b6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ddr2rac" supported="no">
+ <description>Dance Dance Revolution - 2nd Remix Append Club Version Vol.2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86399" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dance dance revolution - 2nd remix append club version vol.2 (japan) [slpm-86399]" sha1="64678708ee1f94d3ac691368f04d0437dc8b6104"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ddr5" supported="no">
+ <description>Dance Dance Revolution - 5th Mix (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86897" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dance dance revolution - 5th mix (japan) [slpm-86897]" sha1="d5bb00f46a1f6abba97db33ae1b481f6f31db5a6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ddrbest" supported="no">
+ <description>Dance Dance Revolution - Best Hits (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86693" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dance dance revolution - best hits (japan) [slpm-86693]" sha1="9aa2b2f04e7d46da015def495e6016f70e26da29"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ddrextra" supported="no">
+ <description>Dance Dance Revolution - Extra Mix (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86831" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dance dance revolution - extra mix (japan) [slpm-86831]" sha1="4e8b980a1f2a0bb5152613be8a66fd9d7e78fd4a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dancing2" supported="no">
+ <description>Dancing Blade - Katteni Momotenshi II Tears Of Eden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86210, SLPM-86211, SLPM-86212" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 1) [slpm-86210]" sha1="c16a0775340953a9f6cf02eaded510a22a7b7c34"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 2) [slpm-86211]" sha1="7905b3c7425b0ebeea5e524f6a7c3a602616aa4a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi ii tears of eden (japan) (disc 3) [slpm-86212]" sha1="469a16ed320c6ef1e1d43f700f9aefa69d7e4653"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dancingb" supported="no">
+ <description>Dancing Blade - Katteni Momotenshi! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86100, SLPM-86101, SLPM-86102" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi! (japan) (disc 1) [slpm-86100]" sha1="56154bf21d90180c4a8498d93f4c3bcaa50a5a8b"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi! (japan) (disc 2) [slpm-86101]" sha1="6b94f4da43f7a01a7e4196c70dc951663b5f68f0"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing blade - katteni momotenshi! (japan) (disc 3) [slpm-86102]" sha1="e7a484e51ac7fc9496d08d0bde65c57d9ec4c399"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dsdct" supported="no">
+ <description>Dancing Stage Featuring Dreams Come True (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86505" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing stage featuring dreams come true (japan) [slpm-86505]" sha1="1ef4b2304d6d3f54e42059b47d66f96c303377b9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dstkd" supported="no">
+ <description>Dancing Stage Featuring True Kiss Destination (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86411" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dancing stage featuring true kiss destination (japan) [slpm-86411]" sha1="929356ea77f0b1b6dfe0e2c37091fb92e0e88868"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="danganja" supported="no">
+ <description>Dangan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02609" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dangan (japan) [slps-02609]" sha1="3ef4e1a859907333c0d3a421bc8c0b58970c4be2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="darkhunt" supported="no">
+ <description>Dark Hunter (Ge) - Youma no Mori (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00789" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dark hunter (ge) - youma no mori (japan) [slps-00789]" sha1="1be6a0785df02d9c2e6a5af4af20394b3ae336b9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="darktale" supported="no">
+ <description>Dark Tales from the Lost Soul (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02316" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dark tales from the lost soul (japan) [slps-02316]" sha1="3c6da56004f088df7fcccfb934fbea198dfa8f54"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="darkseed" supported="no">
+ <description>Darkseed II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00938" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="darkseed ii (japan) [slps-00938]" sha1="9f64263d63331bdeef8706a670683556669dd18d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="deadlysk" supported="no">
+ <description>Deadly Skies (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01036" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="deadly skies (japan) [slps-01036]" sha1="fd98db17a6eb40541e4a889efa2fd8b1a6311f01"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="deathwin" supported="no">
+ <description>Death Wing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00489" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="death wing (japan) [slps-00489]" sha1="9271c5df8547a41b1db9791f5d315a9c447f7899"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="defeatli" supported="no">
+ <description>Defeat Lightning (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00853" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="defeat lightning (japan) [slps-00853]" sha1="08dca46966cbe41fb613ff3a95cd4c22ec104343"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="denpasho" supported="no">
+ <description>Denpa Shounenteki Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01287" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="denpa shounenteki game (japan) [slps-01287]" sha1="94826f721647805980a359d736951f79352864f6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="densetsu" supported="no">
+ <description>Densetsu Kemono no Ana - Monster Complete World Ver.2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02297" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="densetsu kemono no ana - monster complete world ver.2 (japan) [slps-02297]" sha1="f70a5bcca4ae22194d3af5681c1e3e5ec30ffe45"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="denshada" supported="no">
+ <description>Densha Daisuki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01753" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="densha daisuki (japan) [slps-01753]" sha1="d14eedb739f1af1a29233f689524e7c5c3973b05"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="denshade" supported="no">
+ <description>Densha de Go! Nagoya Railroad - Let's Go By Train (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86424" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="densha de go! nagoya railroad - let's go by train (japan) [slpm-86424]" sha1="84e8ee5d760fa12429b4457cbb53affe785f21d4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="derbyjoc" supported="no">
+ <description>Derby Jockey 2001 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03131" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="derby jockey 2001 (japan) [slps-03131]" sha1="722a1c8ab5911cc2a58499d810f3ee6fe3f2fef4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="descentj" supported="no">
+ <description>Descent (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00212" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="descent (japan) [slps-00212]" sha1="6fb528f7577b3cc2cc6198ceb966061817e42f6b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- missing FMVs, crash MESS -->
+ <software name="destruct" supported="no">
+ <description>Destruction Derby 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SIPS-60012" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="destruction derby 2 (japan) [sips-60012]" sha1="cc2b854fd7f61e20a51d2e4ac45321e726e38a98"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="devicere" supported="no">
+ <description>Devicereign (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01889" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="devicereign (japan) [slps-01889]" sha1="8d245d6f6d5c42022a09c19331badc8afae94f1a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dezaekid" supported="no">
+ <description>Dezaemon Kids! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01503, SLPS-01504" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dezaemon kids! (japan) (disc 1) [slps-01503]" sha1="318ff9d74c47c2291986e426709b95f6e3709a60"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dezaemon kids! (japan) (disc 2) [slps-01504]" sha1="5d48db16e3e4313abac5a862bfef01c782133375"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dezaemon" supported="no">
+ <description>Dezaemon Plus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00335" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dezaemon plus (japan) [slps-00335]" sha1="adba383bf93562e6966fa2d1161befb7f9bcb00d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="digicall" supported="no">
+ <description>Digical League (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86038" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="digical league (japan) [slpm-86038]" sha1="e0f6b89e7dfe24c3545dc725b687ed3b28c69c66"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="digimont" supported="no">
+ <description>Digimon Tamers - Battle Evolution (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03357" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="digimon tamers - battle evolution (japan) [slps-03357]" sha1="58160837f3311868c46d25da8eafb29ad5b7413d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="digimonw" supported="no">
+ <description>Digimon World (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01797" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="digimon world (japan) [slps-01797]" sha1="b0b1b2b678bb0be38a57854a4ec55af90cab9589"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="docchime" supported="no">
+ <description>Docchi Mecha! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10129" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="docchi mecha! (japan) [scps-10129]" sha1="069ed3aeedb16150e1e161eb8c36fff51b3408c8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dodgedeb" supported="no">
+ <description>Dodge de Ball! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01362" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dodge de ball! (japan) [slps-01362]" sha1="c2d5573bd647b403b59a6511f647ebafc46519fe"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dogmaste" supported="no">
+ <description>Dog Master, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87175" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dog master, the (japan) [slpm-87175]" sha1="a681038a652d1368f5e70bbfebc6b3d39cd3e668"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dokidoki" supported="no">
+ <description>Doki Doki Shutter Chance (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01038" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="doki doki shutter chance (japan) [slps-01038]" sha1="6423abfb5ae19227976ff6d6c50a882b9828138b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dokomade" supported="no">
+ <description>Dokomademo Aoku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03388" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dokomademo aoku (japan) [slps-03388]" sha1="f7d2a4763ebe84d4402fa95215969e5c90c320f9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dolphins" supported="no">
+ <description>Dolphin's Dream (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86122" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dolphin's dream (japan) [slpm-86122]" sha1="d532c495777e9cebf2f3881625b264acfbe45f27"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="dominoku" supported="no">
+ <description>Domino-Kun wo Tomenaide - No One Can Stop Mr. Domino (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01095" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="domino-kun wo tomenaide - no one can stop mr. domino (japan) [slps-01095]" sha1="2efe5613db907a0848ada4fdd5109c056cc8983e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="donpachi" supported="no">
+ <description>DonPachi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00548" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="donpachi (japan) [slps-00548]" sha1="05b8c7f5d2357990ef165bcf45962d47c3627758"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="doraemon" supported="no">
+ <description>Doraemon - Nobita to Fukkatsu no Hoshi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00233" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="doraemon - nobita to fukkatsu no hoshi (japan) [slps-00233]" sha1="9a3a496926efd2b873efa080816f9f81868270b7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="doraemo2" supported="no">
+ <description>Doraemon 2 - SOS! Otogi no Kuni (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00628" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="doraemon 2 - sos! otogi no kuni (japan) [slps-00628]" sha1="98ecccb1cdb9f8fd2d68709490ceef69490cc433"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="doubledr" supported="no">
+ <description>Double Dragon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00191" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="double dragon (japan) [slps-00191]" sha1="95ef07c180e5332e333a99a05a1662f1ef7996c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="doukyuu2" supported="no">
+ <description>Doukyuusei 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00691" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="doukyuusei 2 (japan) [slps-00691]" sha1="5533ea6cf45e2ddbc255ad833bfe7c0b1de0f4b8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="doukyuus" supported="no">
+ <description>Doukyuusei Mahjong (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00673" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="doukyuusei mahjong (japan) [slps-00673]" sha1="16897ff930b7f89eb4c649af8f09773f8eb52372"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="drslumpj" supported="no">
+ <description>Dr. Slump (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01934" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dr. slump (japan) [slps-01934]" sha1="393b0902239070361868d53fbe959930071c8a51"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dragonba" supported="no">
+ <description>Dragon Ball Z - Ultimate Battle 22 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00073" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon ball z - ultimate battle 22 (japan) [slps-00073]" sha1="b5ad77f87e2a5bf995902218f43eaf73699b9c1d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="dragondr" supported="no">
+ <description>Dragon Drive (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03470" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon drive (japan) [slps-03470]" sha1="a7330d5a7edf8f77e12709ada67524de016dace7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dragonk4" supported="no">
+ <description>Dragon Knight 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00664" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon knight 4 (japan) [slps-00664]" sha1="d2776331e090d1cbc62cea8eb6b0beedbb7589af"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dragonkn" supported="no">
+ <description>Dragon Knights Glorious (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02391" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon knights glorious (japan) [slps-02391]" sha1="db0e8d1768ead58236f28e0b8ddc26041359b540"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dragonmo" supported="no">
+ <description>Dragon Money (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02037" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon money (japan) [slps-02037]" sha1="b285f2c567f4214329588e0fd97c37156f0734e9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dragonva" supported="no">
+ <description>Dragon Valor (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02190, SLPS-02191" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon valor (japan) (disc 1) [slps-02190]" sha1="af478e8f767856ff9286a6db52694f363677f5d6"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dragon valor (japan) (disc 2) [slps-02191]" sha1="c09ef5d0bef40442abe18880adbd6ab71472675b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="drugstor" supported="no">
+ <description>Drug Store, The - Matsumoto Kiyoshi de Okaimono! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01516" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="drug store, the - matsumoto kiyoshi de okaimono! (japan) [slps-01516]" sha1="34ce0e5cf400106ff1c59bb9cbd0fe08228e4517"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="druidyam" supported="no">
+ <description>Druid - Yami he no Tsuisekisha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01246" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="druid - yami he no tsuisekisha (japan) [slps-01246]" sha1="303eb3f5313055a299407e26c79d053841f9e7b3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dxjinse4" supported="no">
+ <description>DX Jinsei Game IV - The Game of Life (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86963" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dx jinsei game iv - the game of life (japan) [slpm-86963]" sha1="f71046cb9f084fad7c3137563cdf3daeb60214c9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dxjinse5" supported="no">
+ <description>DX Jinsei Game V - The Game of Life (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87187" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dx jinsei game v - the game of life (japan) [slpm-87187]" sha1="e117854d5e65a93a98ed346093610d6ca1dd9b43"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dxmonopo" supported="no">
+ <description>DX Monopoly (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02943" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dx monopoly (japan) [slps-02943]" sha1="ef3f6cf9ea3400fb8d4ac82e0b6fa29a2792f826"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dxokuman" supported="no">
+ <description>DX Okuman Chouja Game II - The Money Battle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01586" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dx okuman chouja game ii - the money battle (japan) [slps-01586]" sha1="5be0b7ed489edb4d3ea3551636ef91b76e9d5f9a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dxshacho" supported="no">
+ <description>DX Shachou Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02105" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dx shachou game (japan) [slps-02105]" sha1="af1520e87ac2b2ec9ab726718872ebf741f6690d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dboxing" supported="no">
+ <description>Dynamite Boxing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01387" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dynamite boxing (japan) [slps-01387]" sha1="7d3f4b2baecf59cba5c145ac9a370ff49916da36"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="dsoc02" supported="no">
+ <description>Dynamite Soccer 2002 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03436" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dynamite soccer 2002 (japan) [slps-03436]" sha1="d6d925b7fffeb8ff1d51e50d9dc8e072ffb431e5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="dsoc04" supported="no">
+ <description>Dynamite Soccer 2004 Final (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03575" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="dynamite soccer 2004 final (japan) [slps-03575]" sha1="1ee9c447e36a80416f67f0f60099e1ea19bd81b5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="eggsofst" supported="no">
+ <description>Eggs of Steel - Hello Charlie!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86083" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eggs of steel - hello charlie!! (japan) [slpm-86083]" sha1="30236e05afda91a1eba9680cb4ecadd8efcd6457"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="eikanhak" supported="no">
+ <description>Eikan ha Kimini 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02173" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eikan ha kimini 4 (japan) [slps-02173]" sha1="2bac8b3cc26dc1454c23efda0a53bf016bf963ba"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="eiseimei" supported="no">
+ <description>Eisei Meijin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00090" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eisei meijin (japan) [slps-00090]" sha1="cb205ba9d3fbfcdd3b4254e82c1d78eef37c74cc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="elanjapa" supported="no">
+ <description>Elan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01925" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="elan (japan) [slps-01925]" sha1="6a4092f90f8b21addabb4c533846c0ff220f5453"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="elanplus" supported="no">
+ <description>Elan Plus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02759" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="elan plus (japan) [slps-02759]" sha1="623c5ffcfeb143083ae00f250542f878e3af008a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="eldergat" supported="no">
+ <description>Eldergate (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86494" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eldergate (japan) [slpm-86494]" sha1="c1b663e0753210ea554b836d07b4c10ac0565d50"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="elfwokar" supported="no">
+ <description>Elf wo Karu Monotachi II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01456, SLPS-01457, SLPS-01458" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="elf wo karu monotachi ii (japan) (disc 1) [slps-01456]" sha1="1c7ba32a7f08703f99961f0d0a6cfe4758d95eaa"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="elf wo karu monotachi ii (japan) (disc 2) [slps-01457]" sha1="b92dec9c982dab176e9a1b89f3ec6c39a4282241"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="elf wo karu monotachi ii (japan) (disc 3) [slps-01458]" sha1="2c27417f59253a656e09ce8de20dfef336762083"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="emmyreaj" supported="no">
+ <description>Emmyrea (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03216" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="emmyrea (japan) [slps-03216]" sha1="4e19ae100cf965ad8d0b4384e6958a9e250a9698"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="endsecto" supported="no">
+ <description>End Sector (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01584" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="end sector (japan) [slps-01584]" sha1="34ff9340364fd4ed2e901ab1ae933a0940a988ea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="engachoj" supported="no">
+ <description>Engacho! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02263" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="engacho! (japan) [slps-02263]" sha1="8d1a0d1c02cbd63d637f89b0fa53e40a5afd34ac"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="enigmaja" supported="no">
+ <description>Enigma (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01351, SLPS-01352" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="enigma (japan) (disc 1) [slps-01351]" sha1="4b4b701efd25bb62d84d334db07429a05e48ddf7"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="enigma (japan) (disc 2) [slps-01352]" sha1="c2341fc23913694c427ab6f390808047b3400aca"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="eosedgeo" supported="no">
+ <description>EOS - Edge of Skyhigh (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00820" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eos - edge of skyhigh (japan) [slps-00820]" sha1="2e10a8266c6e4f90638eeb4b9aa8f66f2d54a357"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="epicaste" supported="no">
+ <description>Epica Stella (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01465" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="epica stella (japan) [slps-01465]" sha1="acb2a6a9340aaabf5c7fb1f1e2e588cd38c696d5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="evethefa" supported="no">
+ <description>Eve - The Fatal Attraction (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86826, SLPM-86827, SLPM-86828" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve - the fatal attraction (japan) (disc 1) [slpm-86826]" sha1="65c6172a76b32df37f1c1ee0261432be608b26d1"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve - the fatal attraction (japan) (disc 2) [slpm-86827]" sha1="c4d3f086d53cb1fb6df1abfd86df2e2ab25267df"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve - the fatal attraction (japan) (disc 3) [slpm-86828]" sha1="437e371d3a0f5982a658d78d59c27df2f494f469"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="evezeroj" supported="no">
+ <description>Eve Zero (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86478, SLPM-86479, SLPM-86480" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve zero (japan) (disc 1) [slpm-86478]" sha1="1cc13a88800f9731031506f92886975936cd1d9b"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve zero (japan) (disc 2) [slpm-86479]" sha1="ffa1fdc9608f2395bacfff29ef7327057f8a6071"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="eve zero (japan) (disc 3) [slpm-86480]" sha1="5d4e3efea081283c30e69b9929aa91c75dee9498"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="evergree" supported="no">
+ <description>Evergreen Avenue (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03278" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="evergreen avenue (japan) [slps-03278]" sha1="5c47d5ea5b01ab49df8bd3deb7f9af036c6ac9f6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="exciting" supported="no">
+ <description>Exciting Bass (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86124" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="exciting bass (japan) [slpm-86124]" sha1="9fcba6f41cd2fef925c5c74f5f6c340d33bf7569"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="excitin2" supported="no">
+ <description>Exciting Bass 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86295" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="exciting bass 2 (japan) [slpm-86295]" sha1="238cf7f26c7c8ad3cab0eeda85b9522cfb9a75ff"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="expertja" supported="no">
+ <description>Expert (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00342" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="expert (japan) [slps-00342]" sha1="28fcda958b60c15c904bd0bf06ed9bbf08a0e1bd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="extrabri" supported="no">
+ <description>Extra Bright (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00625" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="extra bright (japan) [slps-00625]" sha1="e258202c2cbbb10222cc062094556548ae835770"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="familydi" supported="no">
+ <description>Family Diamond (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03348" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="family diamond (japan) [slps-03348]" sha1="01f9d7a579cd610f92dd6363c3b45b86764e78f7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="familyre" supported="no">
+ <description>Family Restaurant, The - Shijou Saikyou no Menu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01763" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="family restaurant, the - shijou saikyou no menu (japan) [slps-01763]" sha1="b2485aa91cf8675afc5247a9619bac2b59b13a8e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="farlsaga" supported="no">
+ <description>Farland Saga - Toki no Michishirube (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01903" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="farland saga - toki no michishirube (japan) [slps-01903]" sha1="1b78aceac52bcb3aee2a2d3c0166a7121fb645f1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="farlands" supported="no">
+ <description>Farland Story - Yottsu no Fuuin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00797" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="farland story - yottsu no fuuin (japan) [slps-00797]" sha1="17862bd1c08146a98d8a6a725dc5faae162f78b1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="favoriem" supported="no">
+ <description>Favorite Dear - Enkan no Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03286" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="favorite dear - enkan no monogatari (japan) [slps-03286]" sha1="6f1d11128f58d84d80103013d94b6122448006c0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="favorite" supported="no">
+ <description>Favorite Dear - Junpaku no Yogensha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02754" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="favorite dear - junpaku no yogensha (japan) [slps-02754]" sha1="0a4b56071288e11b3c6ab4029cf4a38dcf913e67"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="feda2whi" supported="no">
+ <description>FEDA 2 - White Surge - The Platoon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00723" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="feda 2 - white surge - the platoon (japan) [slps-00723]" sha1="62f3eccbb32d50a9499a567597456542cc406eeb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fighters" supported="no">
+ <description>Fighters' Impact (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00822" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fighters' impact (japan) [slps-00822]" sha1="068f1e2d40757d3f3cf1bf2679893ffee2d0694f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fighting" supported="no">
+ <description>Fighting Illusion - K-1 Grand Prix '98 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01696" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fighting illusion - k-1 grand prix '98 (japan) [slps-01696]" sha1="1f09afe562642e3a24c02009e311f05374b73c34"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hangs loading after logos -->
+ <software name="finaldoo" supported="no">
+ <description>Final Doom (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00727" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="final doom (japan) [slps-00727]" sha1="07fc21c122cee144162c76a5601f453851c97238"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="finalfan" supported="no">
+ <description>Final Fantasy (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03430" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="final fantasy (japan) [slps-03430]" sha1="09ccfe8a7f89c7c96ca196d30d4561bef526e49a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="finalfex" supported="no">
+ <description>Final Fantasy Extra Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80073" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="final fantasy extra collection (japan) [slpm-80073]" sha1="6690eccbc01529d7ccc8854298959163bf499239"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="finalfa2" supported="no">
+ <description>Final Fantasy II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03502" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="final fantasy ii (japan) [slps-03502]" sha1="997dd8e2ff7d2921a1bcb7c0dc03f4523db48b18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="finalrou" supported="no">
+ <description>Final Round (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01266" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="final round (japan) [slps-01266]" sha1="de44963e9663f7a87e75ba170989d32564db2fa4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="firewoma" supported="no">
+ <description>Fire Woman Matoigumi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01315" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fire woman matoigumi (japan) [slps-01315]" sha1="131b901c112641e00ca58395aa11ec3f49d1b900"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="firemen2" supported="no">
+ <description>Firemen 2, The - Pete &amp; Danny (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00148" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="firemen 2, the - pete &amp; danny (japan) [slps-00148]" sha1="27f77d054e400656887844347b35864478fee532"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="firstkis" supported="no">
+ <description>First Kiss Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01708, SLPS-01709" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="first kiss monogatari (japan) (disc 1) [slps-01708]" sha1="d306bc5a8d636fa54073d66cf84636aea2f183f8"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="first kiss monogatari (japan) (disc 2) [slps-01709]" sha1="338be1bcfbdd1726a0e73218793eb6f72b526d09"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="firstque" supported="no">
+ <description>First Queen IV (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00604" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="first queen iv (japan) [slps-00604]" sha1="c77ec6739b97bab53463b66760d822e05909c6d9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fisheyes" supported="no">
+ <description>Fish Eyes II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02383" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fish eyes ii (japan) [slps-02383]" sha1="35eb5a729023ea5e4e57097352456ee924f86f83"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fishersr" supported="no">
+ <description>Fisher's Road (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01943" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fisher's road (japan) [slps-01943]" sha1="21804598a50abc7f49cc3b2419ac6a550dc4376f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fishingf" supported="no">
+ <description>Fishing Freaks - BassRise (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01931" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fishing freaks - bassrise (japan) [slps-01931]" sha1="4b76c9378e478e0a066cd9958af7a0b1da71354b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fistjapa" supported="no">
+ <description>Fist (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00538" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fist (japan) [slps-00538]" sha1="3947ff5c03f24ecd439392af8eaedc99d4cc9c31"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="forgetme" supported="no">
+ <description>Forget Me Not - Palette (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03191" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="forget me not - palette (japan) [slps-03191]" sha1="0133a3dbaf8645b874ddc0379820de276d4452f4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="formulac" supported="no">
+ <description>Formula Circus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00358" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="formula circus (japan) [slps-00358]" sha1="dcb09a2aa39fe4d4a33ee7c245b92cf80b43360c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="formulag" supported="no">
+ <description>Formula Grand Prix 1997 - Team Unei Simulation 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01154" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="formula grand prix 1997 - team unei simulation 2 (japan) [slps-01154]" sha1="57ffb52e376d01357850c9f02a458a75d9a0d6a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="formulan" supported="no">
+ <description>Formula Nippon '99 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02259" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="formula nippon '99 (japan) [slps-02259]" sha1="28178710ba1b5b98ff6649d058fbf41160d2964c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="foxjunct" supported="no">
+ <description>Fox Junction (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01355" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fox junction (japan) [slps-01355]" sha1="57d996f6c322f842d22653d4a491b38d7b95c083"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="freetalk" supported="no">
+ <description>Free Talk Studio - Mari no Kimama na Oshaberi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02655" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="free talk studio - mari no kimama na oshaberi (japan) [slps-02655]" sha1="2f72cd675ee92a251b16390809a10d11cfb5ab35"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="frontmis" supported="no">
+ <description>Front Mission 1st (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87317" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="front mission 1st (japan) [slpm-87317]" sha1="b79b3c9ccb36fd3884209171ba7ef18263c71575"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="funfunpi" supported="no">
+ <description>Fun! Fun! Ping (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02306" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fun! fun! ping (japan) [slps-02306]" sha1="0cfa311c6f0ddec333502591ce64bbf843c97fca"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fushigid" supported="no">
+ <description>Fushigi Deka (Fushigi Keiji) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86642" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fushigi deka (fushigi keiji) (japan) [slpm-86642]" sha1="5939b1c30fff5765c54c7bc1ae429dd9e05f8e91"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fuujinry" supported="no">
+ <description>Fuujin Ryouiki Eretzvaju (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01790" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fuujin ryouiki eretzvaju (japan) [slps-01790]" sha1="f701245b4edeb45bcf4d88d3f141137fbc199b93"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fuuraiki" supported="no">
+ <description>Fuuraiki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03094" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fuuraiki (japan) [slps-03094]" sha1="b2c73bfc418c41c8b2f27512cbe68edb0b2e2398"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="fuuungok" supported="no">
+ <description>Fuuun Gokuu Ninjin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00441" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="fuuun gokuu ninjin (japan) [slps-00441]" sha1="4b96a290fb5477479729c1f6e7f2bc0c50a4dae7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gpolicej" supported="no">
+ <description>G-Police (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10065, SCPS-10066" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="g-police (japan) (disc 1) [scps-10065]" sha1="29f8fc0c51c6698376b225b5354de4cc92e795d8"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="g-police (japan) (disc 2) [scps-10066]" sha1="3467658d950ba3cb5f502dcc252d47ed72f879ea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="g1jockey" supported="no">
+ <description>G1 Jockey 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86413" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="g1 jockey 2000 (japan) [slpm-86413]" sha1="c10e71d108877d302e16ff53be728f374e7a30e0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="gaiaseed" supported="no">
+ <description>Gaia Seed - Project Seed Trap (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00624" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gaia seed - project seed trap (japan) [slps-00624]" sha1="c2c26ec9dad64852a09cd877eae057089e4885d1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gakkoude" supported="no">
+ <description>Gakkou de Atta Kowai Hanashi S (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00404" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gakkou de atta kowai hanashi s (japan) [slps-00404]" sha1="d3c561df09d4e1072c9eb72f44fd8a0e19e85395"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gakkouno" supported="no">
+ <description>Gakkou no Kowai Uwasa - Hanakosan ga Kita!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00078" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gakkou no kowai uwasa - hanakosan ga kita!! (japan) [slps-00078]" sha1="b1020fd2bf86f6e2f2f2cc54715c69d940f9010c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gakkouw2" supported="no">
+ <description>Gakkou wo Tsukurou!! 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01660" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gakkou wo tsukurou!! 2 (japan) [slps-01660]" sha1="fcb99635ef112fc2ac559c4c9d141043b6d675bb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gakkouwo" supported="no">
+ <description>Gakkou wo Tsukurou!! Kouchou Sensei Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02998" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gakkou wo tsukurou!! kouchou sensei monogatari (japan) [slps-02998]" sha1="2be10b2b2fa43fe39b606dbd47a382c66d8fca8d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gakuense" supported="no">
+ <description>Gakuen Sentai Solblast (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01852" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gakuen sentai solblast (japan) [slps-01852]" sha1="4be19d45f8ffb9cc032c92cb62b0baa292e27aeb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="galaxyfi" supported="no">
+ <description>Galaxy Fight - Universal Warriors (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00138" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="galaxy fight - universal warriors (japan) [slps-00138]" sha1="bb4e9b4659752528252fa278fa44ef44eaf6c020"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="galeozja" supported="no">
+ <description>Galeoz (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00621" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="galeoz (japan) [slps-00621]" sha1="55e95c920a19c5a7bd795439f7d1c28b7a8f0274"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gallopra" supported="no">
+ <description>Gallop Racer 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02623" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gallop racer 2000 (japan) [slps-02623]" sha1="77703057f744569d2ae3ff1b55dad7723e812aba"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gamblerj" supported="no">
+ <description>Gambler Jiko Chuushinka Ippatsu Shoubu! Tokyo Mahjong Land (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02509" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gambler jiko chuushinka ippatsu shoubu! tokyo mahjong land (japan) [slps-02509]" sha1="2849d82b70c50defd4b090c63719485a3256bdc3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gamemake" supported="no">
+ <description>Game Maker, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01583" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="game maker, the (japan) [slps-01583]" sha1="40d95be39c8b3fec85c69dce4d7a9fc462e0137d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gamera20" supported="no">
+ <description>Gamera 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00833" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gamera 2000 (japan) [slps-00833]" sha1="5db337e4f781f6d0ea5684f83d861b1bcf186968"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gamesoft" supported="no">
+ <description>Gamesoft wo Tsukurou - Let's Be a Super Game Creator (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01607" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gamesoft wo tsukurou - let's be a super game creator (japan) [slps-01607]" sha1="e588a3f0424d4e32f831d372cbc8f7cd8f6d6d90"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ganbaroo" supported="no">
+ <description>Ganbare Goemon - Ooedo Daikaiten (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86774" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ganbare goemon - ooedo daikaiten (japan) [slpm-86774]" sha1="be72d2fee1dd78c03a8019d856dc38b4c5997341"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ganbareg" supported="no">
+ <description>Ganbare Goemon - Uchuu Kaizoku Akogingu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00217" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ganbare goemon - uchuu kaizoku akogingu (japan) [slps-00217]" sha1="7881d9d4c5c500e09ac5677926e822dce7198392"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gangwaym" supported="no">
+ <description>Gangway Monsters (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01468" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gangway monsters (japan) [slps-01468]" sha1="7e4f65b779aeb947b4d092579e9514b8af47a06b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gatekeep" supported="no">
+ <description>Gatekeepers (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02246, SLPS-02247" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gatekeepers (japan) (disc 1) [slps-02246]" sha1="25e3023f86f9abeffea22a815ef75ee9d1708299"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gatekeepers (japan) (disc 2) [slps-02247]" sha1="c8e81281d01a95321f77526e78acdcf8080e3c0e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gearfigh" supported="no">
+ <description>Gear Fighter Dendoh (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03189" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gear fighter dendoh (japan) [slps-03189]" sha1="dba3f1ab0a1dfd5c5492a39cc3b8232529e38cff"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gegegeno" supported="no">
+ <description>Gegege no Kitarou - Gyakushuu! Youkai Daikessen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87286" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gegege no kitarou - gyakushuu! youkai daikessen (japan) [slpm-87286]" sha1="d58191f697928fee53baccfd57b7a69ee99abc0d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gegegekt" supported="no">
+ <description>Gegege no Kitarou - Noroi no Nikuto Katachi Tachi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00644" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gegege no kitarou - noroi no nikuto katachi tachi (japan) [slps-00644]" sha1="0224274dbc7147e93e7d1c895e47cca1ada6a8d9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="gekiohsh" supported="no">
+ <description>Geki-Oh ShienRyu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02056" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="geki-oh shienryu (japan) [slps-02056]" sha1="889ad2d9bac5fdbf6dd9c64b176e22389185b3ea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gekisout" supported="no">
+ <description>Gekisou Tomarunner (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10087" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gekisou tomarunner (japan) [scps-10087]" sha1="921b22bc4510c17efad8dc19720b7273c3e06f84"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gekitots" supported="no">
+ <description>Gekitotsu Toma L'Arc - L'Arc-en-Ciel vs. Tomarunner (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10134" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gekitotsu toma l'arc - l'arc-en-ciel vs. tomarunner (japan) [scps-10134]" sha1="08bac90efb24190f8dbe461e118ce79e77522387"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="geneitou" supported="no">
+ <description>Genei Tougi - Shadow Struggle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00491" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="genei tougi - shadow struggle (japan) [slps-00491]" sha1="0a287ce1e5f9a1b1f3e4d6d0f48fca30db560c42"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gensomad" supported="no">
+ <description>Gensomaden Saiyuki - Harukanaru Nishi He (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86986" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gensomaden saiyuki - harukanaru nishi he (japan) [slpm-86986]" sha1="b0bac20904deed9164729595cde22a94833da6b0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gensouno" supported="no">
+ <description>Gensou no Artemis - Actress School Mystery Adventure (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02563" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gensou no artemis - actress school mystery adventure (japan) [slps-02563]" sha1="3d980874e7d4b22f8e31f6759bec9656e6b3292c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="getbacke" supported="no">
+ <description>Get Backers Dakkanoku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86848" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="get backers dakkanoku (japan) [slpm-86848]" sha1="4d752de56ddc1314ab3a2946b48bcd1db1c100c6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gingaeiy" supported="no">
+ <description>Ginga Eiyuu Densetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01358" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ginga eiyuu densetsu (japan) [slps-01358]" sha1="c5ceff3a8a9a49e44e3518c17aa00a38c8d082f0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gingaojo" supported="no">
+ <description>Ginga Ojousama Densetsu Yuna - Final Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01451" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ginga ojousama densetsu yuna - final edition (japan) [slps-01451]" sha1="38d73fdbfe5b8578e8a63cf37b363bce2e37e916"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="glintgli" supported="no">
+ <description>Glint Glitters (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86200" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="glint glitters (japan) [slpm-86200]" sha1="f08ebb3f60b0deda6a6b4c0cb5261de366f165f5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="goemonsh" supported="no">
+ <description>Goemon - Shin Sedai Shuumei (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86997" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="goemon - shin sedai shuumei (japan) [slpm-86997]" sha1="ab306ea0e57cfc5f71abdbad1fec4a5757b75a2f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="goikenmu" supported="no">
+ <description>Goiken Muyou II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01542" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="goiken muyou ii (japan) [slps-01542]" sha1="d084f813130f46b73bcec20e1e57035349abc7a7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gokuuden" supported="no">
+ <description>Gokuu Densetsu - Magic Beast Warriors (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00048" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gokuu densetsu - magic beast warriors (japan) [slps-00048]" sha1="60a43530d1f5c5a634374e274dd236e1ec5ebc4d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="golgo13k" supported="no">
+ <description>Golgo 13 - Karairu no Yabou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01712" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="golgo 13 - karairu no yabou (japan) [slps-01712]" sha1="ed83a609781b70aec58c98fef52a2c939f1a71af"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="googooso" supported="no">
+ <description>Goo! Goo! Soundy (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86250" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="goo! goo! soundy (japan) [slpm-86250]" sha1="efbad579e127a65379b191a2643d1aa3dac032b6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="granstre" supported="no">
+ <description>Granstream Denki (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="PCPX-96087" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="granstream denki (japan) (demo) [pcpx-96087]" sha1="3788739ffa8e6b53d2859dfabef178697e05f8e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="greatbat" supported="no">
+ <description>Great Battle VI, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00719" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="great battle vi, the (japan) [slps-00719]" sha1="f4d5d9705d5835c87d6ccbdd410403dc7e128387"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gritzthe" supported="no">
+ <description>Gritz - The Primordial Adventure (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00615" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gritz - the primordial adventure (japan) [slps-00615]" sha1="5db2efdad3883576f00cfa917497cb20c2a05e5a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="groovemh" supported="no">
+ <description>Groove Adventure Rave - Mikan no Hiseki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87138" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="groove adventure rave - mikan no hiseki (japan) [slpm-87138]" sha1="81f067aeb68eeef80c4d3c725c4ebfc5b86dca5b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="groovead" supported="no">
+ <description>Groove Adventure Rave - Yukyu no Kizuna (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87011" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="groove adventure rave - yukyu no kizuna (japan) [slpm-87011]" sha1="675fabc4809fbf30fc2c7ed288a0af27385ff611"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="grooveji" supported="no">
+ <description>Groove Jigoku V (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01205" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="groove jigoku v (japan) [slps-01205]" sha1="9bfeb9c7cc0accf2697d74ddb93dcf589798f700"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="growlans" supported="no">
+ <description>Growlanser (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02380, SLPS-02381" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="growlanser (japan) (disc 1) [slps-02380]" sha1="52b5031a7b5dd2818c6a61e98586ec0da84bea10"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="growlanser (japan) (disc 2) [slps-02381]" sha1="53bf7667eeaf9d8e57ebc7b06c4c6cbee26e1ea5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="guguthro" supported="no">
+ <description>Guguthropus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86148" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="guguthropus (japan) [slpm-86148]" sha1="f4591754cf9e7fcf3c6133b99d9ca0cc2cea2af4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="guiltyge" supported="no">
+ <description>Guilty Gear (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01357" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="guilty gear (japan) [slps-01357]" sha1="78ade11a374ef2c0279e56c8400bbdad7aa4c280"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="guitarfr" supported="no">
+ <description>Guitar Freaks Append 2nd Mix (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86446" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="guitar freaks append 2nd mix (japan) [slpm-86446]" sha1="f8fb11a91d3dc97fb7520b49a498fc505b122c37"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gunbareg" supported="no">
+ <description>Gunbare! Game Tengoku 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01322" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gunbare! game tengoku 2 (japan) [slps-01322]" sha1="6878ba9f94341ba668fd651d365d3fe73c479d18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hardlock MESS -->
+ <software name="gunbirdj" supported="no">
+ <description>Gunbird (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00157" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gunbird (japan) [slps-00157]" sha1="97ebac4d99ce46a7b43e6f8883586c1724937f22"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gunghobr" supported="no">
+ <description>Gung-Ho Brigade (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01902" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gung-ho brigade (japan) [slps-01902]" sha1="f067ac6b2b3e7d2a20345b06c51c563e32f42135"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="gunparad" supported="no">
+ <description>Gunparade March (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10136" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="gunparade march (japan) [scps-10136]" sha1="1c1ce8054bc4b0f1bc4835865c504252ee7ad7d0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="haishin2" supported="no">
+ <description>Hai-Shin-2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86066" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hai-shin-2 (japan) [slpm-86066]" sha1="16fa5188c4756b25e16d13da9ab9f9ca0adbfb64"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hakaiohk" supported="no">
+ <description>Hakaioh - King of Crusher (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01677" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hakaioh - king of crusher (japan) [slps-01677]" sha1="2c9cc61be470a8679307474b479218cb24a7fba8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hanabifa" supported="no">
+ <description>Hanabi Fantast (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01439" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hanabi fantast (japan) [slps-01439]" sha1="fcdc674b9afe6fdfe6c3e20518a1ab458b288d13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="happyhot" supported="no">
+ <description>Happy Hotel (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01110" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="happy hotel (japan) [slps-01110]" sha1="35f58d0987259b0ed6515bfc6de767c5b21000ec"/>
+ </diskarea>
+ </part>
+ </software>
+
+
+ <software name="happysal" supported="no">
+ <description>Happy Salvage (Japan) (Disc 1 Only)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02821" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="happy salvage (japan) (disc 1) [slps-02821]" sha1="84c6e3ffc33f67f4a2e9714c9ca89f550008a8c4"/>
+ </diskarea>
+ </part>
+ <!-- this should be a 2 cd game -->
+ <!--
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="happy salvage (japan) (disc 2) [slps-02822]" sha1=""/>
+ </diskarea>
+ </part>
+ -->
+ </software>
+
+ <software name="hardboil" supported="no">
+ <description>Hard Boiled (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01484" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hard boiled (japan) [slps-01484]" sha1="dcc7f002e74545fea8e40155e10c22c6ae8f735e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="harmfulp" supported="no">
+ <description>Harmful Park (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00498" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="harmful park (japan) [slps-00498]" sha1="14ca40c5ef66812fec6a59fec62c341858b34ef3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="harukana" supported="no">
+ <description>Harukanaru Toki no Naka de (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86466" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="harukanaru toki no naka de (japan) [slpm-86466]" sha1="8a5f59fe611a890d10dfc734b8002e9a3dd1551a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="harukaby" supported="no">
+ <description>Harukanaru Toki no Naka de - Banjou Yuugi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87241" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="harukanaru toki no naka de - banjou yuugi (japan) [slpm-87241]" sha1="e183fe993ae96c03c582db74decf40eace1b1669"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hashiriy" supported="no">
+ <description>Hashiriya - Ookamitachi no Densetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00704" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hashiriya - ookamitachi no densetsu (japan) [slps-00704]" sha1="b0226eb11b5d3a34041c57842b01c5035a4a383b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hatsukoi" supported="no">
+ <description>Hatsukoi Barentain (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00831" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hatsukoi barentain (japan) [slps-00831]" sha1="0ed2658e9f305ffe8000053bf1c134f57c8dfc16"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hauntedj" supported="no">
+ <description>Haunted Junction - Seitokai Badge wo Oe! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00668" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="haunted junction - seitokai badge wo oe! (japan) [slps-00668]" sha1="847d2d9449ea9f88d6b44d1742309a8cba8e6b0f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heavensg" supported="no">
+ <description>Heaven's Gate (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00667" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heaven's gate (japan) [slps-00667]" sha1="fea2481e8d414e03b0602351173937ba7e8a0d1e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heiwaote" supported="no">
+ <description>Heiwa Otenki Studio, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03178" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heiwa otenki studio, the (japan) [slps-03178]" sha1="ca2dc83a4638ad569ffd57ff45b2015fb0b64c6a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heiwapac" supported="no">
+ <description>Heiwa Pachinko Graffiti Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02374" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heiwa pachinko graffiti vol.1 (japan) [slps-02374]" sha1="bd908bf45e9b7eaeb452e5546a647d08f0080f7b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heiwadol" supported="no">
+ <description>Heiwa Parlor! Pro Dolphin Ring Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02689" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heiwa parlor! pro dolphin ring special (japan) [slps-02689]" sha1="57e36bc9e3fc98d596426c1a86f323f0d4432bb7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heiwalup" supported="no">
+ <description>Heiwa Parlor! Pro Lupin Sansei Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02541" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heiwa parlor! pro lupin sansei special (japan) [slps-02541]" sha1="22fd75baae932b72397b9f99c5c2cb2409ae4f8c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="heiwatsu" supported="no">
+ <description>Heiwa Parlor! Pro Tsunatori Monogatari Special (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03370" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="heiwa parlor! pro tsunatori monogatari special (japan) [slps-03370]" sha1="5435cb1a6189d5e583279a5db57c99a0283ef9a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hellokwp" supported="no">
+ <description>Hello Kitty - White Present (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01766" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hello kitty - white present (japan) [slps-01766]" sha1="4e6e3eb7ec6f69c8add7697aa32df1e63d18c8ce"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hellokcc" supported="no">
+ <description>Hello Kitty's Cube De Cute (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01427" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hello kitty's cube de cute (japan) [slps-01427]" sha1="bdef8d94a0ed14b86325838f1da754169f60a95a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="henryexp" supported="no">
+ <description>Henry Explorers (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86021" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="henry explorers (japan) [slpm-86021]" sha1="4a68f7398ac021d507bd782165733a0cfdf7dfcf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hermieho" supported="no">
+ <description>Hermie Hopperhead - Scrap Panic (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-91016" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hermie hopperhead - scrap panic (japan) [scps-91016]" sha1="7e6fb2ba54d2908e2e155333f6af743d729083ea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="highscho" supported="no">
+ <description>High School of Blitz (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02351" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="high school of blitz (japan) [slps-02351]" sha1="5f0e11997d852b63206ac4fb80fae2938a717d24"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hikarino" supported="no">
+ <description>Hikari no Shima (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02305" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hikari no shima (japan) [slps-02305]" sha1="a372b442df5c5a87530ab60a1575fa9ff76a7188"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hikaruno" supported="no">
+ <description>Hikaru no Go - Heian Gensou Ibunroku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87059" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hikaru no go - heian gensou ibunroku (japan) [slpm-87059]" sha1="f0bcc995f8bdea12795843785a73aa745d1ce872"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hikaruic" supported="no">
+ <description>Hikaru no Go - Insei Choujou Kessen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87199" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hikaru no go - insei choujou kessen (japan) [slpm-87199]" sha1="256d94a52aaf561619793b8f904f52878361d5be"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="himikode" supported="no">
+ <description>Himiko-Den - Renge (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01890, SLPS-01891, SLPS-01892" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="himiko-den - renge (japan) (disc 1) [slps-01890]" sha1="e8d8d53a90880399ae9b3c3f5d7e1dda38d330c4"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="himiko-den - renge (japan) (disc 2) [slps-01891]" sha1="0584304595705bb0239393767525fea2372cf7a2"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="himiko-den - renge (japan) (disc 3) [slps-01892]" sha1="dfdcfa0bf3b993864efe7c6f189838bee0a3a834"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- marked as 'Disc 1' are there missing discs? -->
+ <software name="himitsus" supported="no">
+ <description>Himitsu Sentai Metamor V Deluxe (Japan) (Disc 1 Only)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01626" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="himitsu sentai metamor v deluxe (japan) (disc 1) [slps-01626]" sha1="5621c1d350dc9eb7be2ebfea2f4b459493982f6a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hisps2" supported="no">
+ <description>Hissatsu Pachi-Slot Station 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02355" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hissatsu pachi-slot station 2 (japan) [slps-02355]" sha1="1aee3495954072c7c544e38c28c63d3086305977"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hisps4" supported="no">
+ <description>Hissatsu Pachi-Slot Station 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02799" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hissatsu pachi-slot station 4 (japan) [slps-02799]" sha1="7ad8464c3a6aa97310e414bf4290c386a499bfea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hisps5" supported="no">
+ <description>Hissatsu Pachi-Slot Station 5 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03030" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hissatsu pachi-slot station 5 (japan) [slps-03030]" sha1="ff9e5fb093215a7eaf49b59c3c3f3e793bb77524"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hispssp" supported="no">
+ <description>Hissatsu Pachi-Slot Station SP (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02494" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hissatsu pachi-slot station sp (japan) [slps-02494]" sha1="d954aaaec0fdb131ce1b8478d6687f7ab73fc817"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hitbackj" supported="no">
+ <description>Hit Back (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01361" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hit back (japan) [slps-01361]" sha1="edd52a5b9956d3deffef846d1630f1ab6d8b273f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hizanoue" supported="no">
+ <description>Hiza no Ue no Partner - Kitty On Your Lap (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01302" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hiza no ue no partner - kitty on your lap (japan) [slps-01302]" sha1="2f2b65ba4760a56ed601d4a41f0f2566117604cb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hokutono" supported="no">
+ <description>Hokuto no Ken (Fist of the North Star) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00369" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hokuto no ken (fist of the north star) (japan) [slps-00369]" sha1="56b17e4cef9f4c945ea76e2e06e1153097b00edd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hooockey" supported="no">
+ <description>Hooockey!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86488" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hooockey!! (japan) [slpm-86488]" sha1="71c0af97da516f43ab8c156ca35435b5a1793db4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hoshinoo" supported="no">
+ <description>Hoshi no Oka Gakuen Monogatari - Gakuensai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01638" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hoshi no oka gakuen monogatari - gakuensai (japan) [slps-01638]" sha1="77f4a5c1c2b0789520fb6b1806e5538f5b84237b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hoshigam" supported="no">
+ <description>Hoshigami - Shizumiyuku Aoki Daichi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02904" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hoshigami - shizumiyuku aoki daichi (japan) [slps-02904]" sha1="54e752a3c11ed1477776f045aaa54049560bb586"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="houmahun" supported="no">
+ <description>Houma Hunter Lime - Special Collection Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00020" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="houma hunter lime - special collection vol.1 (japan) [slps-00020]" sha1="0f17e34f4c1be977633746984bb785c74039fb83"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hunterxh" supported="no">
+ <description>Hunter X Hunter - Maboroshi no Greed Island (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86651" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hunter x hunter - maboroshi no greed island (japan) [slpm-86651]" sha1="0ee06252cd80a488b6ba0fa236815359f08ed0e3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hunterua" supported="no">
+ <description>Hunter X Hunter - Ubawareta Aura Stone (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86895" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hunter x hunter - ubawareta aura stone (japan) [slpm-86895]" sha1="77d54a30d9898d7d2642ce820b9036705abd691e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hyakujuu" supported="no">
+ <description>Hyakujuu Sentai Gaoranger (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03353" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hyakujuu sentai gaoranger (japan) [slps-03353]" sha1="a38461c4e0d4cbc0c9ed39aa24c26b3199c7e93d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hyouryuu" supported="no">
+ <description>Hyouryuuki - The Reportage Beyond The Sea (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02358" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hyouryuuki - the reportage beyond the sea (japan) [slps-02358]" sha1="02cd0c84ed58c0861b8f4c1f77c53c6409c4df62"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hypercra" supported="no">
+ <description>Hyper Crazy Climber (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00248" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hyper crazy climber (japan) [slps-00248]" sha1="c894a23037cb77c7f7e87ae6883be64852608b50"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="hypersec" supported="no">
+ <description>Hyper Securities 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01417" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hyper securities 2 (japan) [slps-01417]" sha1="e5d61b3a891721102bd09579759c07a653f1818f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="hyperral" supported="no">
+ <description>Hyper-Rally (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00462" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="hyper-rally (japan) [slps-00462]" sha1="50d167ed915b510b72f6714d4a1122f835ab738d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ichigeki" supported="no">
+ <description>Ichigeki - Hagane no Hito (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02199" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ichigeki - hagane no hito (japan) [slps-02199]" sha1="02c3d6ac2f6129604bcf624d0fb35155b8bfbaed"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ideyousu" supported="no">
+ <description>Ide Yousuke no Mahjong Kyoshitsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02272" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ide yousuke no mahjong kyoshitsu (japan) [slps-02272]" sha1="3cdef64b01995458db116ec0407646ae3d8ea230"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="idoljan2" supported="no">
+ <description>Idol Janshi Suchie-Pai II Limited (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00290, SLPS-00291, SLPS-00292" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="idol janshi suchie-pai ii limited (japan) (disc 1) [slps-00290]" sha1="0a7be0e43148a52f1eff46cc8a331e60650fd17a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="idol janshi suchie-pai ii limited (japan) (disc 2) [slps-00291]" sha1="13c31b6bb5c8f5dbde68fd09de5e7399f69faaeb"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="idol janshi suchie-pai ii limited (japan) (disc 3) [slps-00292]" sha1="519a87ca920523e9367aec092de61e6a74cadfe1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="idoljans" supported="no">
+ <description>Idol Janshi Suchie-Pai Limited (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00029" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="idol janshi suchie-pai limited (japan) [slps-00029]" sha1="bad167a96b7d5e2ed95d9b696f84442539d00f34"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="imagefig" supported="no">
+ <description>Image Fight &amp; X-Multiply Arcade Gears (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01267" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="image fight &amp; x-multiply arcade gears (japan) [slps-01267]" sha1="7c9fe93cdc6373e0264fcf44b7b05030d3bce497"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="inagawaj" supported="no">
+ <description>Inagawa Junji - Kyoufu no Yashiki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02142" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="inagawa junji - kyoufu no yashiki (japan) [slps-02142]" sha1="ae27803512646847c41cf3d24b3045a62377d9d7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="indy500j" supported="no">
+ <description>Indy 500 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00860" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="indy 500 (japan) [slps-00860]" sha1="2fff45351bb52a6afc9777681b3674aae5bf4da7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="inuyasha" supported="no">
+ <description>Inuyasha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03374" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="inuyasha (japan) [slps-03374]" sha1="7c997d0167a49300498f540b0bd8cc265d68941b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="inuyasso" supported="no">
+ <description>InuYasha - Sengoku Otogi Gassen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03504" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="inuyasha - sengoku otogi gassen (japan) [slps-03504]" sha1="dc72277ebd47fb3d6db52b44bf51f8dda551b4b8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="iremarca" supported="no">
+ <description>Irem Arcade Classics (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00341" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="irem arcade classics (japan) [slps-00341]" sha1="3b168fa930cba25db60cd3dddf06729255fb6131"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="irritati" supported="no">
+ <description>Irritating Stick - Denryuu Iraira Bou Returns (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01317" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="irritating stick - denryuu iraira bou returns (japan) [slps-01317]" sha1="c047b132a468c5cfeb8b59ebc4dcd647736546e6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="itadakis" supported="no">
+ <description>Itadaki Street - Gorgeous King (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86120" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="itadaki street - gorgeous king (japan) [slpm-86120]" sha1="c3450b26a30c5a53917631c6567619f53bfc1591"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="jailbrea" supported="no">
+ <description>Jailbreaker (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02076, SLPS-02077" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jailbreaker (japan) (disc 1) [slps-02076]" sha1="95e77a71f5a0c96c74fcddff9a57c32bbb7e9380"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jailbreaker (japan) (disc 2) [slps-02077]" sha1="8d612d65371d67a0c09cf236504ed6610df32c5e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="jalecoco" supported="no">
+ <description>Jaleco Collection Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03562" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jaleco collection vol.1 (japan) [slps-03562]" sha1="4b202bfa56880eb1ec6e2a3eca550aa67d549105"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="jellyfis" supported="no">
+ <description>Jellyfish - The Healing Friend (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02892" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jellyfish - the healing friend (japan) [slps-02892]" sha1="ae61d655bbd877956cdf539640b272689f1e1d64"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="jigsawwo" supported="no">
+ <description>Jigsaw World (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02251" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jigsaw world (japan) [slps-02251]" sha1="729f2da447fa231d5d6767c27e62f208fb494b5f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="jounetsu" supported="no">
+ <description>Jounetsu Nekketsu - Athletes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00936" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jounetsu nekketsu - athletes (japan) [slps-00936]" sha1="a15db68a77a739ee5a8e93517b3770c9afb5f8d0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="junglepa" supported="no">
+ <description>Jungle Park (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01086" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="jungle park (japan) [slps-01086]" sha1="f3d6a87534e2a1dd9ee797777d33ca5197d7c8c5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="juusouki" supported="no">
+ <description>Juusou Kihei Valken 2 (Assault Suits Valken 2) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00854" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="juusou kihei valken 2 (assault suits valken 2) (japan) [slps-00854]" sha1="caf43d7ce3c1b31867c2bf06d095891d0a71af6b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kaerunoe" supported="no">
+ <description>Kaeru no Ehon - Nakushita Kioku wo Motomete (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02332" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kaeru no ehon - nakushita kioku wo motomete (japan) [slps-02332]" sha1="d837cfc7df0aa1796573bb3af66a3fe123f7ac0b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kaikanph" supported="no">
+ <description>Kaikan Phrase - Datenshi Kourin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86438" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kaikan phrase - datenshi kourin (japan) [slpm-86438]" sha1="6c8432980c1d07a0d45b05644e61927d083c78e4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kainthev" supported="no">
+ <description>Kain the Vampire (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00743" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kain the vampire (japan) [slps-00743]" sha1="a3457b66b3ae6425e4e8659c814f99e8e7142d1e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kaisokut" supported="no">
+ <description>Kaisoku Tenshi - The Rapid Angel (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01553" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kaisoku tenshi - the rapid angel (japan) [slps-01553]" sha1="f9293f331ebd729f246efc3dd89eef44f525cbe3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kaitohra" supported="no">
+ <description>Kaitohranma Miyabi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01825" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kaitohranma miyabi (japan) [slps-01825]" sha1="338892199096a66683f09884024af92d940f325c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kakugono" supported="no">
+ <description>Kakugo no Susume (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00799" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kakugo no susume (japan) [slps-00799]" sha1="b8fa25a5e4037ad562154282ea7c19782f5fa908"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kamenrid" supported="no">
+ <description>Kamen Rider (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01570" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kamen rider (japan) [slps-01570]" sha1="672c55b47a5dd777ccb45bec412832e9110edca1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kamenrag" supported="no">
+ <description>Kamen Rider Agito (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03344" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kamen rider agito (japan) [slps-03344]" sha1="6e29b68b215f5cec21b864a0923e6baaf4815a15"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kamenrku" supported="no">
+ <description>Kamen Rider Kuuga (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03090" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kamen rider kuuga (japan) [slps-03090]" sha1="c52152357807716d69dde57c8defe24dbdbffc13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kamenrry" supported="no">
+ <description>Kamen Rider Ryuki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03495" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kamen rider ryuki (japan) [slps-03495]" sha1="2c79cab478390f3da8c729da4deda3364547e23e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kanakoen" supported="no">
+ <description>Kanako Enomoto - Junk Brain Diagnosis (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01937" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kanako enomoto - junk brain diagnosis (japan) [slps-01937]" sha1="b3e8e891241fe7b42c6fb64cfbee3cf0a3b9c075"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="katohifu" supported="no">
+ <description>Kato Hifumi Ku-dan - Shogi Club (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02078" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kato hifumi ku-dan - shogi club (japan) [slps-02078]" sha1="dac946e860135479000f468a1565b51c612b5286"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kattobit" supported="no">
+ <description>Kattobi Tune (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01253" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kattobi tune (japan) [slps-01253]" sha1="0a9ac78e2c8f40b3b7659ffddf762b5e5ceb16a8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kazenono" supported="no">
+ <description>Kaze no Notam (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00912" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kaze no notam (japan) [slps-00912]" sha1="f5f16d62c8783f2367648339ac2dbc3747beeaa6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="keibaeaf" supported="no">
+ <description>Keiba Eito '98 Aki Fuyu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01640" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="keiba eito '98 aki fuyu (japan) [slps-01640]" sha1="f76219f277ea7141689855a5e603b8504ad2b648"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="keibaeit" supported="no">
+ <description>Keiba Eito '98 Haru (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01372" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="keiba eito '98 haru (japan) [slps-01372]" sha1="d5e80e3d67ff493f36288c9f705ea0dc706638a7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="keibasai" supported="no">
+ <description>Keiba Saishou no Housoku '95 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00063" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="keiba saishou no housoku '95 (japan) [slps-00063]" sha1="36c5f54f30b1a8972d34b227fd298ba899c1b8f4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kenkiipp" supported="no">
+ <description>Kenki Ippatsu! Crane Master ni Narou! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02831" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kenki ippatsu! crane master ni narou! (japan) [slps-02831]" sha1="50c254b40a133784f10e3610e166d0087f3c9f30"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kerokero" supported="no">
+ <description>Kero Kero King (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86621" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kero kero king (japan) [slpm-86621]" sha1="fa3689eb8ee80953db6c1461f3be8b7c968a157d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="khamraij" supported="no">
+ <description>Khamrai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02640" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="khamrai (japan) [slps-02640]" sha1="05c1e4d59668a34d35b643e5d117619a8430242e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidoukei" supported="no">
+ <description>Kidou Keisatsu Patlabor - Game Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02239" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kidou keisatsu patlabor - game edition (japan) [slps-02239]" sha1="0e0c5538f7dd15bfb62d81fc1825d4e8f8901edc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidousen" supported="no">
+ <description>Kidou Senshi Z-Gundam (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80139" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kidou senshi z-gundam (japan) (demo) [slpm-80139]" sha1="6e11f004bde55da45a552c678655fa883d5e7e43"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidsmoon" supported="no">
+ <description>Kids Station - Bishoujo Senshi Sailor Moon World - Chibi-Usa to Tanoshii Mainichi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03318" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kids station - bishoujo senshi sailor moon world - chibi-usa to tanoshii mainichi (japan) [slps-03318]" sha1="f1299da2e3e0f17ec9168ca22994aae50b131c60"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kiddigi" supported="no">
+ <description>Kids Station - Digimon Park (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03248" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kids station - digimon park (japan) [slps-03248]" sha1="4b815a1e8d1d0a04e1157fc46f3e327dea5643b0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidkamen" supported="no">
+ <description>Kids Station - Kamen Rider Heroes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03403" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kids station - kamen rider heroes (japan) [slps-03403]" sha1="08043fade43167d0eed994acab5773fc495d5d6b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidmotto" supported="no">
+ <description>Kids Station - Motto! Oja Majo Dorami - MAHO-dou Smile Party (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03247" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kids station - motto! oja majo dorami - maho-dou smile party (japan) [slps-03247]" sha1="5aa2abd47c52de690a55160d5a70122ddba60391"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kidanpn" supported="no">
+ <description>Kids Station - Soreike! Anpanman 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03197" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kids station - soreike! anpanman 2 (japan) [slps-03197]" sha1="94a2ecfa790a4bca617a5bae8bd3c35211b5f087"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="killerba" supported="no">
+ <description>Killer Bass (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02747" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="killer bass (japan) [slps-02747]" sha1="c04be3cb7e28306545c3d30c069e8571e29949c0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kindaich" supported="no">
+ <description>Kindaichi Shounen no Jikenbo 3 - Seiryuu Densetsu Satsujin Jiken (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02223, SLPS-02224" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kindaichi shounen no jikenbo 3 - seiryuu densetsu satsujin jiken (japan) (disc 1) [slps-02223]" sha1="3132101edd5a7a420146a3aaad56e350d0e5647d"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kindaichi shounen no jikenbo 3 - seiryuu densetsu satsujin jiken (japan) (disc 2) [slps-02224]" sha1="ff9e997e658e85ee0dc1f506808ef6618465b62a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="kingofbo" supported="no">
+ <description>King of Bowling 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01541" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of bowling 2 (japan) [slps-01541]" sha1="d2031ee50fbf3981fc0ab18d64f7c6f73423d216"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kingofbr" supported="no">
+ <description>King of Braves Gaogaigar - Blockaded Numbers (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01980" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of braves gaogaigar - blockaded numbers (japan) [slps-01980]" sha1="f632b0044c09e7d867b297d771082a2b453e9776"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kof95" supported="no">
+ <description>King of Fighters '95, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00351" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of fighters '95, the (japan) [slps-00351]" sha1="06c30d1581cc1ef06cc62110c67f51c244dbab16"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kof96" supported="no">
+ <description>King of Fighters '96, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00834" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of fighters '96, the (japan) [slps-00834]" sha1="c9ed163a412077dbc4e0523a1a6b1a6ca39b5910"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kof98" supported="no">
+ <description>King of Fighters '98, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86201" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of fighters '98, the (japan) [slpm-86201]" sha1="145f8a0d2ef9bb17ba9183a565f7a634c59224e3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kof99" supported="no">
+ <description>King of Fighters '99, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86462" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of fighters '99, the (japan) [slpm-86462]" sha1="5490c9aedf04b38f76f926d232cbc0979c9fe887"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kofkyo" supported="no">
+ <description>King of Fighters Kyo, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86095" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="king of fighters kyo, the (japan) [slpm-86095]" sha1="1d123b83301858a6f0a43dd2507a835186aa005f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kisyadeg" supported="no">
+ <description>Kisya de Go! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86449" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kisya de go! (japan) [slpm-86449]" sha1="a41979643640716c6d16bec25cb75c913bf60e3c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kitchenp" supported="no">
+ <description>Kitchen Panic (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01395" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kitchen panic (japan) [slps-01395]" sha1="d8816d67d78239a82ae088a2c6d1659e20d31349"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="knightba" supported="no">
+ <description>Knight &amp; Baby (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01531" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="knight &amp; baby (japan) [slps-01531]" sha1="d3de6036059304a87fa1b63329ec614f90934cc0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kochirak" supported="no">
+ <description>Kochira Katsushika-ku Kameari Kouen-mae Hashutsujo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00922" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kochira katsushika-ku kameari kouen-mae hashutsujo (japan) [slps-00922]" sha1="ffa9fad60f659f43c1e4668e18ec6b3a4370413b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kohnisho" supported="no">
+ <description>Kohni Shogun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02955" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kohni shogun (japan) [slps-02955]" sha1="37f70a98a332feae16368cb16d8ff2f0d0989bc1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kojinkyo" supported="no">
+ <description>Kojin Kyouju - La Lecon Particuliere (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01354" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kojin kyouju - la lecon particuliere (japan) [slps-01354]" sha1="8f5035d7a2bc4710963982f141a61a64fc873ad1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="komotchi" supported="no">
+ <description>Komotchi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03121" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="komotchi (japan) [slps-03121]" sha1="5098d216001957a59bbb55be0031fc5dd4f57574"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="konami80" supported="no">
+ <description>Konami 80's Arcade Gallery (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86228" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="konami 80's arcade gallery (japan) [slpm-86228]" sha1="09175bdc00f5fbed0cf002fa2b1decc8bcdc4250"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kmsx1" supported="no">
+ <description>Konami Antiques - MSX Collection Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86052" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="konami antiques - msx collection vol.1 (japan) [slpm-86052]" sha1="6323ac42ac1570a13f7a97f30b16eca749f574cf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kmsx2" supported="no">
+ <description>Konami Antiques - MSX Collection Vol.2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86062" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="konami antiques - msx collection vol.2 (japan) [slpm-86062]" sha1="b2826f23ed2624611beab8e32c38328997961396"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="korokoro" supported="no">
+ <description>Korokoro Postnin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03479" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="korokoro postnin (japan) [slps-03479]" sha1="0a02bfaf4b3a300ec2aa2852b250e2322477c658"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kosodate" supported="no">
+ <description>Kosodate Quiz Motto My Angel (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01885" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kosodate quiz motto my angel (japan) [slps-01885]" sha1="195a37c20842f195f654df7382db42474e5cb19a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kotetsur" supported="no">
+ <description>Kotetsu Reiki - Steel Dom (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00431" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kotetsu reiki - steel dom (japan) [slps-00431]" sha1="ac7026ab8680cb9428a496dd6794fd745ea81c31"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="koudelka" supported="no">
+ <description>Koudelka (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80490" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="koudelka (japan) (demo) [slpm-80490]" sha1="65fd6032e0f5bb055b4b6469d13ce649d7b46b74"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kouryuuk" supported="no">
+ <description>Kouryuuki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01338" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kouryuuki (japan) [slps-01338]" sha1="86672827c28529318919ac552aca3bba6ea99564"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kowloonj" supported="no">
+ <description>Kowloon Jou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03063" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kowloon jou (japan) [slps-03063]" sha1="ad2e94cff2b08ca581ce682a190d8f5ff65aade5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="koyasaia" supported="no">
+ <description>Koyasai - A Sherd of Youthful Memories (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01775" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="koyasai - a sherd of youthful memories (japan) [slps-01775]" sha1="83efca563b60a03de80d3f18499a2526943d021d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kukurose" supported="no">
+ <description>Kukuro Sea Toro - Eternal Eyes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02385" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kukuro sea toro - eternal eyes (japan) [slps-02385]" sha1="e943e81cd51dac90ca2cf832f1f03a678deba517"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kunoichi" supported="no">
+ <description>Kunoichi Torimonocho (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01773" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kunoichi torimonocho (japan) [slps-01773]" sha1="0c638b9e13d75dc0bc0cb22e179a245bc7e504c3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kuronoke" supported="no">
+ <description>Kuro no Ken - Blade of the Darkness (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01030" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kuro no ken - blade of the darkness (japan) [slps-01030]" sha1="01ee23f7aa95f02c64db18b63080d4fb08e4da95"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kurumimi" supported="no">
+ <description>Kurumi Miracle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00786" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kurumi miracle (japan) [slps-00786]" sha1="5f9da85c96d65865ead5a0593ff1afca6b4bc8a7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kururinp" supported="no">
+ <description>Kururin Pa! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00066" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kururin pa! (japan) [slps-00066]" sha1="1828fb138034b7558aefbaf0f055cfa279f7fa38"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kuubosen" supported="no">
+ <description>Kuubo Senki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01854" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kuubo senki (japan) [slps-01854]" sha1="0a78928581a5fabbd921d51a9babc8c114628653"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="kyorocha" supported="no">
+ <description>Kyorochan no Purikura Daisakusen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01692" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kyorochan no purikura daisakusen (japan) [slps-01692]" sha1="fcb2bb174050d5497c65be6cb256d7c309c3509f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="kyuinjap" supported="no">
+ <description>Kyuin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00214" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="kyuin (japan) [slps-00214]" sha1="19da738e65fd53cf8b7bfa71f226492e0c967321"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lagnacur" supported="no">
+ <description>Lagnacure (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01009" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lagnacure (japan) [slps-01009]" sha1="f9a5da1bf030c866a464189985d130db3350dd42"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lagnaclg" supported="no">
+ <description>Lagnacure Legend (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02832" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lagnacure legend (japan) [slps-02832]" sha1="a336b58efb1d8c7c1f1bc4b7c9629b2b17a0b938"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lakemast" supported="no">
+ <description>Lake Masters Pro (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02177" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lake masters pro (japan) [slps-02177]" sha1="19304aefb8ed87390c11bc53fbb1cd39a5a84eac"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lalalapl" supported="no">
+ <description>Lalala PlayStation Trial Disk 1998 Summer (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="PAPX-90052" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lalala playstation trial disk 1998 summer (japan) (demo) [papx-90052]" sha1="2d5e3a1f9273b8bc3b3aa22ea5becbeeccddb153"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="langriss" supported="no">
+ <description>Langrisser I &amp; II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00897" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="langrisser i &amp; ii (japan) [slps-00897]" sha1="99cb0fd5b09766fb84b65588eea76b4f87804faa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="langri45" supported="no">
+ <description>Langrisser IV &amp; V Final Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01818, SLPS-01819" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="langrisser iv &amp; v final edition (japan) (disc 1) [slps-01818]" sha1="3625c2aed7e01421dde47ae9ec7172fd1e45259a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="langrisser iv &amp; v final edition (japan) (disc 2) [slps-01819]" sha1="7c131b650febf54809b44aa04f21469ceb2a44b4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="leadingj" supported="no">
+ <description>Leading Jockey Highbred (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00348" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="leading jockey highbred (japan) [slps-00348]" sha1="91ef5d9de179dce0ab589ac418184de47c8e61b2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="legaiade" supported="no">
+ <description>Legaia Densetsu (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="PAPX-90055" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="legaia densetsu (japan) (demo) [papx-90055]" sha1="533f2bbeac36101c5f3ce690978395015af83b2a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="legendof" supported="no">
+ <description>Legend of Dragoon, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10119, SCPS-10120, SCPS-10121, SCPS-10122" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="legend of dragoon, the (japan) (disc 1) [scps-10119]" sha1="a7be80d5521580dc9a6deb6d3d4248aa80712266"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="legend of dragoon, the (japan) (disc 2) [scps-10120]" sha1="cb2549e12cf1f3ef5a9c6cde29091e340b4d95d3"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="legend of dragoon, the (japan) (disc 3) [scps-10121]" sha1="47d68fdc4e06366360cd62881d5b022e33b4634e"/>
+ </diskarea>
+ </part>
+ <part name="cdrom4" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="legend of dragoon, the (japan) (disc 4) [scps-10122]" sha1="7b63238d1dae7cf0cd64f55a1e57e6e64e1fb089"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="liberogr" supported="no">
+ <description>Libero Grande 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02950" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="libero grande 2 (japan) [slps-02950]" sha1="94957c3747b26ca98f7365d8760813b1a4220235"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="linda3cu" supported="no">
+ <description>Linda 3 Cube Again (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10039" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="linda 3 cube again (japan) [scps-10039]" sha1="2fd185c6199d0fce7912de2667afde223cb792ba"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lingrise" supported="no">
+ <description>Ling Rise (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01769" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ling rise (japan) [slps-01769]" sha1="983289191dc235551d19803c54f9072e3c8ec120"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="littlepl" supported="no">
+ <description>Little Princess +1 - Maru Oukoku no Ningyou Hime 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03012, SLPS-03013" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="little princess +1 - maru oukoku no ningyou hime 2 (japan) (disc 1) [slps-03012]" sha1="14fea8b3c6b7c4c0ea1f1236b3d02c76149f1936"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="little princess +1 - maru oukoku no ningyou hime 2 (japan) (disc 2) [slps-03013]" sha1="8ce51256daa3412da5d7e58ab1d39ffef89e7061"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="littlepr" supported="no">
+ <description>Little Princess - Marl Oukoku no Ningyou Hime 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02376" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="little princess - marl oukoku no ningyou hime 2 (japan) [slps-02376]" sha1="85c6a4eaec5e81beeaacc91d694b8b4d06fd1792"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="loderun2" supported="no">
+ <description>Lode Runner 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86460" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lode runner 2 (japan) [slpm-86460]" sha1="3596f65c819d537bbded289ee3f6828b1cbc5df2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="loderunx" supported="no">
+ <description>Lode Runner Extra (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00641" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lode runner extra (japan) [slps-00641]" sha1="a700628da019d7807b03123056902eb9d103b0da"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lonesold" supported="no">
+ <description>Lone Soldier (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00322" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lone soldier (japan) [slps-00322]" sha1="1544553a3bd01a4c084a62d293a600b5648d9355"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lordoffi" supported="no">
+ <description>Lord of Fist (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02168" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lord of fist (japan) [slps-02168]" sha1="9ce2a732a01cb44a66d8a9b1a8361e1ac4fd606f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lovedest" supported="no">
+ <description>Love &amp; Destroy (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10124" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="love &amp; destroy (japan) [scps-10124]" sha1="f6d1c9be2c4a6c6d8887441b26c96025fda81fcc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lovelove" supported="no">
+ <description>Love Love Truck (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02112" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="love love truck (japan) [slps-02112]" sha1="fd098bca2376a4bb6c4225be584f2ed30a3b238f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lsddream" supported="no">
+ <description>LSD - Dream Emulator (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01556" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lsd - dream emulator (japan) [slps-01556]" sha1="17c7bd64793abbd1881d325e8612cff545c4e96c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="luciferr" supported="no">
+ <description>Lucifer Ring (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01784" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lucifer ring (japan) [slps-01784]" sha1="11711b1d0aaed9b274befe2f7607b5bb9afdfa85"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lunar2et" supported="no">
+ <description>Lunar 2 - Eternal Blue (Japan) (Disc 1)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02081, SLPS-02082, SLPS-02083" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunar 2 - eternal blue (japan) (disc 1) [slps-02081]" sha1="8dde7e3bc086a62f5983b33bc749c3980f187c36"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunar 2 - eternal blue (japan) (disc 2) [slps-02082]" sha1="289490d99b55a5d0773bd7fb9493d572cfe86130"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunar 2 - eternal blue (japan) (disc 3) [slps-02083]" sha1="850bb4ef2f84bb4bf4bea333b7b974cdc2b20b9b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lunarwin" supported="no">
+ <description>Lunar Wing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86777" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunar wing (japan) [slpm-86777]" sha1="3167a40650f450c469f4d9df6ad7bfae710c80f5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lunatic3" supported="no">
+ <description>Lunatic Dawn III (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01749" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunatic dawn iii (japan) [slps-01749]" sha1="2e94fe1d8eaf99f46ecda3d986f229fab1086b7f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lunaticd" supported="no">
+ <description>Lunatic Dawn Odyssey (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02420" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lunatic dawn odyssey (japan) [slps-02420]" sha1="53f81eed12c7129979d71f0c095743e53b95ee5e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="lupsalad" supported="no">
+ <description>Lup Salad - Lupupu Cube (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00416" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="lup salad - lupupu cube (japan) [slps-00416]" sha1="2077cf3f27c7133fb17c559de364cdd6f4ace26c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="madpanic" supported="no">
+ <description>Mad Panic Coaster (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00880" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mad panic coaster (japan) [slps-00880]" sha1="ca52d5839cb80a94ab6ada789ffad2e96cacfd2e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="madstalk" supported="no">
+ <description>Mad Stalker - Full Metal Force (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00734" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mad stalker - full metal force (japan) [slps-00734]" sha1="c7fa53477bbd0e71f07b5d3a653540ff54f48185"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="maestrom" supported="no">
+ <description>Maestro Music, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86585" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="maestro music, the (japan) [slpm-86585]" sha1="a740753083100aa9642a709948f815cd3f74812c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="maesxmas" supported="no">
+ <description>Maestro Music, The - Merry Christmas - Append Disc (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86684" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="maestro music, the - merry christmas - append disc (japan) [slpm-86684]" sha1="a4e36613a7091a625e773148355bfb2eab6eb08c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="magicald" supported="no">
+ <description>Magical Drop F - Daibouken mo Rakujyanai! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02337" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="magical drop f - daibouken mo rakujyanai! (japan) [slps-02337]" sha1="a7a7e7481de4b60fb9998f76b2121c7f941346ef"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="magicalm" supported="no">
+ <description>Magical Medical (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86099" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="magical medical (japan) [slpm-86099]" sha1="69ca62527985e05259097327ec80b5116859394d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="magicalt" supported="no">
+ <description>Magical Tetris Challenge featuring Mickey Mouse (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01786" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="magical tetris challenge featuring mickey mouse (japan) [slps-01786]" sha1="c69abbd25b1af662cd11452e07a5bf89118afc26"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mahjongy" supported="no">
+ <description>Mahjong Yarouze! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86173" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mahjong yarouze! (japan) [slpm-86173]" sha1="d37e86d019ca4c4fa392d52a4fbe33418caa990a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mahoutsu" supported="no">
+ <description>Mahoutsukai ni Naru Houhou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01754" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mahoutsukai ni naru houhou (japan) [slps-01754]" sha1="d7642e047fb47e096e2fa9b4f5f465bc5617c598"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="majokkod" supported="no">
+ <description>Majokko Daisakusen - Little Witching Mischiefs (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01850" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="majokko daisakusen - little witching mischiefs (japan) [slps-01850]" sha1="1a30f8846c572b79d2d4286a7f8c753f58e20a74"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="majotach" supported="no">
+ <description>Majotachi no Nemuri - Fukkatsusai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01863" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="majotachi no nemuri - fukkatsusai (japan) [slps-01863]" sha1="348806b63549dac097b6b132e05750f5b4c31a36"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="makeruna" supported="no">
+ <description>Makeruna! Makendo 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00128" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="makeruna! makendo 2 (japan) [slps-00128]" sha1="b89af4e7e54c854e00d5ea49d971095847d5aeb9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="marionet" supported="no">
+ <description>Marionette Company (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02058" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marionette company (japan) [slps-02058]" sha1="0abdcfafb696e9e95bdf26414054d9174c2247a2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="marione2" supported="no">
+ <description>Marionette Company 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02743" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marionette company 2 (japan) [slps-02743]" sha1="566531e6295f50591ad6f6fd56230b17e16094a3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="marljong" supported="no">
+ <description>Marl Jong!! Limited Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03537" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marl jong!! limited edition (japan) [slps-03537]" sha1="aee6d7fb13bde6f98b949c94f2a12f4c3accbfc8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="msh" supported="no">
+ <description>Marvel Super Heroes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00763" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marvel super heroes (japan) [slps-00763]" sha1="b13b8c67352324dcad30f2c5b51d519268d9f452"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mshsf" supported="no">
+ <description>Marvel Super Heroes vs. Street Fighter - EX Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01915" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marvel super heroes vs. street fighter - ex edition (japan) [slps-01915]" sha1="c98001e3f599a9215c4d3c6423b6ef602702e262"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="marvelvs" supported="no">
+ <description>Marvel vs. Capcom - Clash of the Super Heroes - EX Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02368" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="marvel vs. capcom - clash of the super heroes - ex edition (japan) [slps-02368]" sha1="7799953e2bed7f468dd3ca29280d34e27fdeb10b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mastersf" supported="no">
+ <description>Master's Fighter, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00722" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="master's fighter, the (japan) [slps-00722]" sha1="c56416400c513249c19f0f6273b55d639ec2f2bd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="masumonk" supported="no">
+ <description>Masumon Kids - The Another World of The Master of Monsters (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01426" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="masumon kids - the another world of the master of monsters (japan) [slps-01426]" sha1="9201e3ba84f7b2bab7e9eaa8806561b69800ba8b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="matsukat" supported="no">
+ <description>Matsukata Hiroki no World Fishing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02041" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="matsukata hiroki no world fishing (japan) [slps-02041]" sha1="15295bca043dae89fad0aa4cf597b288745fa269"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="matsumot" supported="no">
+ <description>Matsumoto Reiji - Story of Galaxy Express 999 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03220, SLPS-03221" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="matsumoto reiji - story of galaxy express 999 (japan) (disc 1) [slps-03220]" sha1="a8cc2382b4803fc0615c9cbf97167a8532dbdd59"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="matsumoto reiji - story of galaxy express 999 (japan) (disc 2) [slps-03221]" sha1="d25f08cc0005493907f252e991763edb7e5774fa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="maxracer" supported="no">
+ <description>Max Racer (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00795" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="max racer (japan) [slps-00795]" sha1="ab4d1ed6379a2a6390bf38ec1d3271221beca91b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mazehero" supported="no">
+ <description>Maze Heroes - Meikyuu Densetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03490" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="maze heroes - meikyuu densetsu (japan) [slps-03490]" sha1="76b3ed648e2ecdc466e0f777c0372d619f2a5c1e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="medarotr" supported="no">
+ <description>Medarot R (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02414" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="medarot r (japan) [slps-02414]" sha1="8d7b22552b5948259cf1b496910b6910497a11d4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="medaropc" supported="no">
+ <description>Medarot R - Parts Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02635" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="medarot r - parts collection (japan) [slps-02635]" sha1="ad3a9df8b2efce6930eb018819fa565daf80b716"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="megatudo" supported="no">
+ <description>Megatudo 2096 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00435" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="megatudo 2096 (japan) [slps-00435]" sha1="36303ed8e1fe7f01c803d84a3240d7cef7ff9913"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="meishare" supported="no">
+ <description>Meisha Retsuden - Greatest 70's (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01153" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meisha retsuden - greatest 70's (japan) [slps-01153]" sha1="3d23b92595ad14f8df6051838cc7d8af3feb0438"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="meitante" supported="no">
+ <description>Meitantei Conan - Saikou no Partner (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03425" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meitantei conan - saikou no partner (japan) [slps-03425]" sha1="025978cc54b06dd4abf8f43c8764d204c7bf1a4b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="meitantt" supported="no">
+ <description>Meitantei Conan - Trick Trick Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03548" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meitantei conan - trick trick vol.1 (japan) [slps-03548]" sha1="892532ae34f76a0335b7cac30a718ea1592bb189"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="meltylan" supported="no">
+ <description>Melty Lancer - The 3rd Planet (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86231, SLPM-86232" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="melty lancer - the 3rd planet (japan) (disc 1) [slpm-86231]" sha1="292e73f883a66d82d84bd63d4a1f5a51f3e6d0eb"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="melty lancer - the 3rd planet (japan) (disc 2) [slpm-86232]" sha1="489b4e3f6addd9ad88d71eb36d8477b8b54d2196"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="menkyowo" supported="no">
+ <description>Menkyo wo Torou - Get the License (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02685" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="menkyo wo torou - get the license (japan) [slps-02685]" sha1="6849e62c2ca7c923069a310ef2e8331d9e75aaee"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="meremano" supported="no">
+ <description>Meremanoid (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01664" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meremanoid (japan) [slps-01664]" sha1="2b05b8a895dbe9c2b2a01aee2812d21d5dcaa5ab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mermaidn" supported="no">
+ <description>Mermaid no Kisetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86934, SLPM-86935, SLPM-86936" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mermaid no kisetsu (japan) (disc 1) [slpm-86934]" sha1="19bea61c26cb21afebf0231f93a4b790413cfd83"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mermaid no kisetsu (japan) (disc 2) [slpm-86935]" sha1="7521b0cf8d14839e49044306b35bafbe4d6ad65f"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mermaid no kisetsu (japan) (disc 3) [slpm-86936]" sha1="a1140d534e3533ace09f84f7f8140d38ee207cbe"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="metaphli" supported="no">
+ <description>Meta-Ph-List Gamma X 2097 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00680, SLPS-00681" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meta-ph-list gamma x 2097 (japan) (disc 1) [slps-00680]" sha1="01bf7582301c4b5a682c91f6ddc117e3301a8fac"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="meta-ph-list gamma x 2097 (japan) (disc 2) [slps-00681]" sha1="c1d4f9fa622870bdc8ee078b44ea74851293e655"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="metalang" supported="no">
+ <description>Metal Angel 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00867, SLPS-00868" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="metal angel 3 (japan) (disc 1) [slps-00867]" sha1="664acf3c8dfa09f7bbd3496bfabf21aad5573b49"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="metal angel 3 (japan) (disc 2) [slps-00868]" sha1="6be2fde23377119393eb39876aadc0f5b03fef32"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="metalfis" supported="no">
+ <description>Metal Fist (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01164" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="metal fist (japan) [slps-01164]" sha1="1d4f60de599997e04543d2249f873cb0763d0b07"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mezasese" supported="no">
+ <description>Mezase! Senkyuuou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00313" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mezase! senkyuuou (japan) [slps-00313]" sha1="736bc4a0ad6b3315516ceaf5ced58f044a466ca8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="michibhk" supported="no">
+ <description>Michinoku Hitou Koi Monogatari - Bishoujo Hanafuda Kikou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00941" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="michinoku hitou koi monogatari - bishoujo hanafuda kikou (japan) [slps-00941]" sha1="028be2d15cf3b85ed9eb68c92e8d7d6f3e3330a4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="michinok" supported="no">
+ <description>Michinoku Hitou Koimonogatari Kai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02502" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="michinoku hitou koimonogatari kai (japan) [slps-02502]" sha1="bcb5514958fb0afc003c4f584880c675a9ddf0aa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="minimoni" supported="no">
+ <description>Mini Moni - Shaker &amp; Tambourine! Dapyon! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87132" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mini moni - shaker &amp; tambourine! dapyon! (japan) [slpm-87132]" sha1="da020789e94ef440bb46eb4e9c5b61cafc8d2340"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ministep" supported="no">
+ <description>Mini Moni - Step Pyon Pyon Pyon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87195" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mini moni - step pyon pyon pyon (japan) [slpm-87195]" sha1="7a04e06316e0604c045f658de315febf65bc035d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="miniyonk" supported="no">
+ <description>Mini-Yonku Hakusou Kyoudai - Rettsu &amp; Go!! - WGP Hyper Heat (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01078" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mini-yonku hakusou kyoudai - rettsu &amp; go!! - wgp hyper heat (japan) [slps-01078]" sha1="81fbd10222fcdc35ca2160933c5005e272d788c5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="minnaats" supported="no">
+ <description>Minna Atsumare! Igo Kyoushitsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03554" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="minna atsumare! igo kyoushitsu (japan) [slps-03554]" sha1="967f7baeecac40ce03994e39f5a7ad8e458672f1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="misakiag" supported="no">
+ <description>Misaki-Aggressive! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01474" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="misaki-aggressive! (japan) [slps-01474]" sha1="9a17567c640c6c5a775dbe183f3e7795c6deda0c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mitouhou" supported="no">
+ <description>Mitouhou he no Chousen - Alps-hen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00662" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mitouhou he no chousen - alps-hen (japan) [slps-00662]" sha1="51f496d6fa45671d0507e9e7d58df564158367d0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mizzurna" supported="no">
+ <description>Mizzurna Falls (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01783" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mizzurna falls (japan) [slps-01783]" sha1="bb448880cf48fd5a6264cdc2532eec5e2b65c673"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="momotade" supported="no">
+ <description>Momotarou Densetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01785" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="momotarou densetsu (japan) [slps-01785]" sha1="766aad00ed067d9beeb06437da0769a33f02748b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="momotaro" supported="no">
+ <description>Momotarou Matsuri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86888" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="momotarou matsuri (japan) [slpm-86888]" sha1="47db6642534b21e4eb07363205230ffe68a2850a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="moneyido" supported="no">
+ <description>Money Idol Exchanger (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00963" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="money idol exchanger (japan) [slps-00963]" sha1="c1a7af9e066c078fc34dcdcb001c8bbf11fe28f2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="monsterc" supported="no">
+ <description>Monster Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02245" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="monster collection (japan) [slps-02245]" sha1="c89a282cef8aa778d86cc360b670036349932778"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="monsterf" supported="no">
+ <description>Monster Farm Battle Card (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02653" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="monster farm battle card (japan) [slps-02653]" sha1="df30d0a84d57cfda6fcf1a70313bdd9a361fe459"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="monsterp" supported="no">
+ <description>Monster Paradise (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00915" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="monster paradise (japan) [slps-00915]" sha1="898ecfa73c9475577a3e254f8d4408876b7c3f13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="morinoou" supported="no">
+ <description>Mori no Oukoku - Kingdom of Forest (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01861" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mori no oukoku - kingdom of forest (japan) [slps-01861]" sha1="84911ebb3e48a8bd55de2135519ab455f921ae4c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mourimot" supported="no">
+ <description>Mouri Motonari - Chikai no Sanshi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01285" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mouri motonari - chikai no sanshi (japan) [slps-01285]" sha1="fbd1f566e07787729396a4af538fff0336f1a77b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="mrdrille" supported="no">
+ <description>Mr. Driller G (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03336" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mr. driller g (japan) [slps-03336]" sha1="7cc8b14fff4541a0a80d96b886e029e4b07d58a8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="munasawa" supported="no">
+ <description>Munasawagi no Yokan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02064" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="munasawagi no yokan (japan) [slps-02064]" sha1="260d16081f2ae2f83c4a3897a264c76ed02e8509"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="musclera" supported="no">
+ <description>Muscle Ranking - Kinniku Banzuke Vol.2 - Aratanaru Genkai he no Chousen! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86457" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="muscle ranking - kinniku banzuke vol.2 - aratanaru genkai he no chousen! (japan) [slpm-86457]" sha1="e64631e2c00519dbfa176a58295dfc778ba4747c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="myhomedr" supported="no">
+ <description>My Home Dream 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02470" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="my home dream 2 (japan) [slps-02470]" sha1="f78a5892b088aaa15532e4889e5699ff8148065e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mysticar" supported="no">
+ <description>Mystic Ark - Maboroshi Gekijou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86147" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mystic ark - maboroshi gekijou (japan) [slpm-86147]" sha1="cfe055946c3d8f8c2b33abf2f3e4d965cd0b1707"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="mysticdr" supported="no">
+ <description>Mystic Dragoons, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02103" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="mystic dragoons, the (japan) [slps-02103]" sha1="af612611a90392214ada366a3343f8293a5cf2ae"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nagelibr" supported="no">
+ <description>Nage Libre - Rasen No Soukoku</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="Nage Libre - Rasen No Soukok" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nage libre - rasen no soukoku" sha1="bee8d8e54447d4d67817a9b05093939813824c26"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="namjabun" supported="no">
+ <description>Namjabu no Daibouken - My Favorite NamjaTown (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86601" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="namjabu no daibouken - my favorite namjatown (japan) [slpm-86601]" sha1="6f438b5e8b63b0f5a605153b5ca99663df95c208"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nanatsun" supported="no">
+ <description>Nanatsu no Hikan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00410, SLPS-00411, SLPS-00412" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nanatsu no hikan (japan) (disc 1) [slps-00410]" sha1="8e99eed96113afe8ba70a33f9b2d664b2af02968"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nanatsu no hikan (japan) (disc 2) [slps-00411]" sha1="e99f253f62061d6f5fa0666c66b0f70e17ad5780"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nanatsu no hikan (japan) (disc 3) [slps-00412]" sha1="5d1e454cfab1e7b9b4ed5168b6e4338fdb85fb4d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="naniwano" supported="no">
+ <description>Naniwa no Akindo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00768" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="naniwa no akindo (japan) [slps-00768]" sha1="535cdc2e97cab135f2047245179d0ef7b59d9e29"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- missing Disc 2? -->
+ <software name="natsuiro" supported="no">
+ <description>Natsuiro Kenjutsu Komachi [Limited Edition] (Japan) (Disc 1 Only)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02665" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="natsuiro kenjutsu komachi [limited edition] (japan) (disc 1) [slps-02665]" sha1="41255a012b60a20497a4e51e3eebef090c2d2515"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="navitjap" supported="no">
+ <description>Navit (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01530" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="navit (japan) [slps-01530]" sha1="d0732a187f2e01290005e82eea375f41d7eb7de5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nbapower" supported="no">
+ <description>NBA Power Dunkers 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86176" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nba power dunkers 4 (japan) [slpm-86176]" sha1="8c81888b1de9124025349bd446a18675d01e1589"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nemuruma" supported="no">
+ <description>Nemuru Mayu - Sleeping Cocoon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02597" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nemuru mayu - sleeping cocoon (japan) [slps-02597]" sha1="665ec0b112682a2ead0c187e9a4d158621db560b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="neorudej" supported="no">
+ <description>Neorude (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00823, SLPS-00824" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="neorude (japan) (disc 1) [slps-00823]" sha1="d904574de2aedb75d89d7fcdedfa0d3ca0701580"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="neorude (japan) (disc 2) [slps-00824]" sha1="db628e31b7ea1bcac7420f8d61ff2d633946843e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="neorude2" supported="no">
+ <description>Neorude 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01112" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="neorude 2 (japan) [slps-01112]" sha1="ca2c6e484d283418c3397e7f3bd7f29ffc0029ad"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nextking" supported="no">
+ <description>Next King - Koi no Sennen Oukoku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00859" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="next king - koi no sennen oukoku (japan) [slps-00859]" sha1="e190511aac038a53eeadfdbbc3751695a6514ea1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="nexttedx" supported="no">
+ <description>Next Tetris, The (Deluxe) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02507" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="next tetris, the (deluxe) (japan) [slps-02507]" sha1="df60a8951e97822388e3da0962e4ff63dbeb92b9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="nexttetr" supported="no">
+ <description>Next Tetris, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01774" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="next tetris, the (japan) [slps-01774]" sha1="de077bad7bfa8e50defcd67f9f576fd0f4fcfd9e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nichibut" supported="no">
+ <description>Nichibutsu Arcade Classics (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00184" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nichibutsu arcade classics (japan) [slps-00184]" sha1="19151b0aa09efbe8a35c8c3ff8072d056bb89bbb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nightrai" supported="no">
+ <description>Night Raid (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87048" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="night raid (japan) [slpm-87048]" sha1="41b8970e96c8095af9973d5ad78bee7b66ee5533"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nijiirod" supported="no">
+ <description>Nijiiro Dodgeball - Otometachi no Seishun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87039" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nijiiro dodgeball - otometachi no seishun (japan) [slpm-87039]" sha1="32d2946d528a0253d6619e35cdb914df823db50b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ningyono" supported="no">
+ <description>Ningyo no Rakuin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02854" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ningyo no rakuin (japan) [slps-02854]" sha1="28bf977eb6eb2223d6c2923c1e6bb77ca7734727"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ninjajaj" supported="no">
+ <description>Ninja Jajamarukun - Onigiri Ninpouchou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00494" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ninja jajamarukun - onigiri ninpouchou (japan) [slps-00494]" sha1="7c6da32b97296cf0cc9534bf64be4166fc965769"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ninkujap" supported="no">
+ <description>Ninku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00172" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ninku (japan) [slps-00172]" sha1="9ca24932ae97550a90bebef27c0f42782703c143"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ninpusen" supported="no">
+ <description>Ninpu Sentai Harikenger (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03493" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ninpu sentai harikenger (japan) [slps-03493]" sha1="e429905b19293fe7efda76a98dc60754129af7b8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nobunaga" supported="no">
+ <description>Nobunaga no Yabou - Reppuuden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86300" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nobunaga no yabou - reppuuden (japan) [slpm-86300]" sha1="9f9c31e266b9f97aa5b5a6af6daba2ba2ff5d222"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="noel3mis" supported="no">
+ <description>Noel 3 - Mission on the Line (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01895, SLPS-01896, SLPS-01897" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="noel 3 - mission on the line (japan) (disc 1) [slps-01895]" sha1="2628f5244b93e30cbe18cce693836582d54b8e17"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="noel 3 - mission on the line (japan) (disc 2) [slps-01896]" sha1="cfc602cf523adef77de8616e0ea2679edb2de824"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="noel 3 - mission on the line (japan) (disc 3) [slps-01897]" sha1="2f788a46ab3238ce4124a5f833a69c8977de38dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nottreas" supported="no">
+ <description>Not Treasure Hunter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00274" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="not treasure hunter (japan) [slps-00274]" sha1="52c6463a531ffa98b076ce085d15ddc8700090f8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="novastor" supported="no">
+ <description>Novastorm (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00314, SLPS-00315" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="novastorm (japan) (disc 1) [slps-00314]" sha1="1c0d901c19d5be418c3a72e877cddc9c2d6c9ae1"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="novastorm (japan) (disc 2) [slps-00315]" sha1="90d373ba0f02143e735cbaf236103cfc2879b350"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="nyanyang" supported="no">
+ <description>Nya Nyan ga Nyan - Light Fantasy Gaiden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02336" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="nya nyan ga nyan - light fantasy gaiden (japan) [slps-02336]" sha1="bfbf6934023ad8d41e2164ec8cbabdf7a6a61630"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oasisroa" supported="no">
+ <description>Oasis Road (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01899" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oasis road (japan) [slps-01899]" sha1="f6bd7eea4c2746807953544a005292232c260151"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="odanobun" supported="no">
+ <description>Oda Nobunaga Den (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01595" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oda nobunaga den (japan) [slps-01595]" sha1="88a866e855e05f3a9867c24866c1eaa9eeb670c7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="odoodood" supported="no">
+ <description>Odo Odo Oddity (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00754" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="odo odo oddity (japan) [slps-00754]" sha1="d0889f75cf357c785db159d1f183fc025293d942"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ojamajod" supported="no">
+ <description>Oja Majo Doremi Dokkan! Nijiro Paradise (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03497" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oja majo doremi dokkan! nijiro paradise (japan) [slps-03497]" sha1="fa82af5ce48ed5aa2610588d292d00bbbd3f4c20"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ojousama" supported="no">
+ <description>Ojousama Express (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01495, SLPS-01496" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ojousama express (japan) (disc 1) [slps-01495]" sha1="54111c440b8c72966571b7cc96a2a06cd17f28cb"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ojousama express (japan) (disc 2) [slps-01496]" sha1="7ef8ec9af18575e337efc0865b4e35b18226704e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="olympiay" supported="no">
+ <description>Olympia Yamasa - Virtua Pachi-Slot II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00714" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="olympia yamasa - virtua pachi-slot ii (japan) [slps-00714]" sha1="1eee0824db17f8f21bf9cf331c97ed8fd30d3cae"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="omiaicom" supported="no">
+ <description>Omiai Command - BaCouple ni Tsukkomi wo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-86439" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="omiai command - bacouple ni tsukkomi wo (japan) [slps-86439]" sha1="adee3cdc9a081f785334e43d7aeda5dab21f657c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="omisedet" supported="no">
+ <description>Omise de Tensyu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01876" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="omise de tensyu (japan) [slps-01876]" sha1="08c5216ee974d716b16e2aaac3c881f3a4a6c13d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="onejapan" supported="no">
+ <description>One (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01812" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="one (japan) [slps-01812]" sha1="cfcded599ceba488f2ce19970ee48be405c123ca"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="onetwosm" supported="no">
+ <description>One Two Smash - Tanoshii Tennis (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02585" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="one two smash - tanoshii tennis (japan) [slps-02585]" sha1="263447c87cd97d500ae60148a4568b5293d9723d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ongakut2" supported="no">
+ <description>Ongaku Tsukuru - Kanade-Ru 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00903" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ongaku tsukuru - kanade-ru 2 (japan) [slps-00903]" sha1="de1b1009a369c9b0b14f5f34a33b3c89d7f88d85"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="ongakut3" supported="no">
+ <description>Ongaku Tsukuru 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03161" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ongaku tsukuru 3 (japan) [slps-03161]" sha1="78cf257c93d46be3bcdfc1402d5f624318688449"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="optiontu" supported="no">
+ <description>OPTION Tuning Car Battle Spec-R (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02587" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="option tuning car battle spec-r (japan) [slps-02587]" sha1="8a9c31707458b220b11146fe06775368064afe03"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="orenoryo" supported="no">
+ <description>Ore No Ryouri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10099" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ore no ryouri (japan) [scps-10099]" sha1="fc7041bc76c8d75a5d06ef955c09896e4dc5a047"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oretomba" supported="no">
+ <description>Ore! Tomba (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01144" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ore! tomba (japan) [slps-01144]" sha1="d55669905f0c545f81f296ff5f83a47210e0ef4f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oshigoto" supported="no">
+ <description>Oshigoto-shiki Jinsei Game - Mezase Shokugyou-oh (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03056" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oshigoto-shiki jinsei game - mezase shokugyou-oh (japan) [slps-03056]" sha1="11d929b90f5803bca9683465a0a9a74d973ae212"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oujisama" supported="no">
+ <description>Oujisama Lv.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03412" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oujisama lv.1 (japan) [slps-03412]" sha1="e2e24553cb6ff82d7399af6754ab65c55853478f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oukyuuno" supported="no">
+ <description>Oukyuu no Hihou - Tenshon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00438" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oukyuu no hihou - tenshon (japan) [slps-00438]" sha1="6ab854d1f0497882488905745535701a51814a56"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="oumagato" supported="no">
+ <description>Oumagatoki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03235" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="oumagatoki (japan) [slps-03235]" sha1="95ef43c904cc8b5433eb9eba23ae58740dac1e5f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="outliveb" supported="no">
+ <description>Out Live - Be Eliminate Yesterday (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00746" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="out live - be eliminate yesterday (japan) [slps-00746]" sha1="a0f3554634390bc36bc1d0dbc20f8cea2cd51c20"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pacapaca" supported="no">
+ <description>Pacapaca Passion (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02122" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pacapaca passion (japan) [slps-02122]" sha1="62eeb5247a76aba850056fb5590e1dd6e91d948e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pacapac2" supported="no">
+ <description>Pacapaca Passion 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02720" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pacapaca passion 2 (japan) [slps-02720]" sha1="9d9226b68a2bffcaee2d033a2f3235fafbbee97f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pachipac" supported="no">
+ <description>Pachi Pachi Saga (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00288" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi pachi saga (japan) [slps-00288]" sha1="3fcc96fee9a25c7b092270ab439755c613a9f9ee"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="psao5" supported="no">
+ <description>Pachi-Slot Aruze Oukoku 5 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03280" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot aruze oukoku 5 (japan) [slps-03280]" sha1="810d18795b941acc39f9acb5594e7d5fdcd7a178"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstbk" supported="no">
+ <description>Pachi-Slot Teiou - Battle Knight &amp; Atlantis Doom (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03108" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou - battle knight &amp; atlantis doom (japan) [slps-03108]" sha1="f33ca4dcbeb8182f0544631346a1b86cf89d6872"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pststwis" supported="no">
+ <description>Pachi-Slot Teiou - Shimauta-30 - Twiste - Nangoku Monogarari-30 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03442" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou - shimauta-30 - twiste - nangoku monogarari-30 (japan) [slps-03442]" sha1="2504dc668a6de0a4e5032fbb50102434cbf1852a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pst2" supported="no">
+ <description>Pachi-Slot Teiou 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02217" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou 2 (japan) [slps-02217]" sha1="d1f7386e7cae077118d2cb25fa44487c705e3d7a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pst3" supported="no">
+ <description>Pachi-Slot Teiou 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02413" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou 3 (japan) [slps-02413]" sha1="d99d2191e8c0d2059543119748d3b22b21878895"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pst6" supported="no">
+ <description>Pachi-Slot Teiou 6 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02657" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou 6 (japan) [slps-02657]" sha1="d0fd0e8884e5a40a17e56766f38548d8c57d244d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pst7" supported="no">
+ <description>Pachi-Slot Teiou 7 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02991" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou 7 (japan) [slps-02991]" sha1="d2e69cd5d8ae184a70cdbb43502f79b685b1c801"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstmsm3" supported="no">
+ <description>Pachi-Slot Teiou Maker Suishou Manual 3 - I'm Angel - White 2 &amp; Blue 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03130" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou maker suishou manual 3 - i'm angel - white 2 &amp; blue 2 (japan) [slps-03130]" sha1="9f47dfe061f1177ddfdba6f89a972ed0a2e626dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstmsm5" supported="no">
+ <description>Pachi-Slot Teiou Maker Suishou Manual 5 - Race Queen 2 - Tomcat (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03245" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou maker suishou manual 5 - race queen 2 - tomcat (japan) [slps-03245]" sha1="ddb3ec382638fe6bbaa58b53f0e26b7cc682014c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstmsm6" supported="no">
+ <description>Pachi-Slot Teiou Maker Suishou Manual 6 - Takarabune (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03329" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou maker suishou manual 6 - takarabune (japan) [slps-03329]" sha1="1f0b453651cfaaaa6de31b690147490035cb2f96"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstmsm7" supported="no">
+ <description>Pachi-Slot Teiou Maker Suishou Manual 7 - Trick Monster 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03391" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou maker suishou manual 7 - trick monster 2 (japan) [slps-03391]" sha1="b463cef08ac4f19087ac99ac383a75d68efac9be"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pstmda" supported="no">
+ <description>Pachi-Slot Teiou Mini - Dr. A7 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02114" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pachi-slot teiou mini - dr. a7 (japan) [slps-02114]" sha1="ef446bb7d3910255b5fcd88cf31b2fbac11be610"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="palmtown" supported="no">
+ <description>Palm Town (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01820" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="palm town (japan) [slps-01820]" sha1="3401122a73ffa9845354b0c454a893415c311f8a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="panzerba" supported="no">
+ <description>Panzer Bandit (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00899" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="panzer bandit (japan) [slps-00899]" sha1="a5c0eba62632123ba8f205a05b4385f01939fbf9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="panzerfr" supported="no">
+ <description>Panzer Front bis. (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03111" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="panzer front bis. (japan) [slps-03111]" sha1="3ddad3db096218462d47605f7af6368ce5d147f4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="paranoia" supported="no">
+ <description>Paranoia Scape (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01375" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="paranoia scape (japan) [slps-01375]" sha1="b9bbbc778b1d877f6c32771385e9e9d5ee37e009"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="parlorpr" supported="no">
+ <description>Parlor! Pro Jr. Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02781" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="parlor! pro jr. collection (japan) [slps-02781]" sha1="a99e3b7698ba9833d3db01117bfff4b7699702dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="parowars" supported="no">
+ <description>Paro Wars (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86016" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="paro wars (japan) [slpm-86016]" sha1="8d90fbb8e166427393484b0561bf10bff29c0410"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pdultram" supported="no">
+ <description>PD Ultraman Invader (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00195" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pd ultraman invader (japan) [slps-00195]" sha1="aaf186e452aecac66f3c67113f52cfd5b93ed17c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pepsiman" supported="no">
+ <description>Pepsiman The Running Hero (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01762" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pepsiman the running hero (japan) [slps-01762]" sha1="05059038170ed7837dfe291422458e7a3bf6d806"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="perfectf" supported="no">
+ <description>Perfect Fishing - Iso Zuri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02410" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="perfect fishing - iso zuri (japan) [slps-02410]" sha1="85d1e8bd667a3dc291e5bf8e4ac4abb2c5696b2c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- missing GFX -->
+ <software name="petitcar" supported="no">
+ <description>Petit Carat (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01435" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="petit carat (japan) [slps-01435]" sha1="d5a4844ddc86dbc9ac5a3b783a93e5dbf0c1bace"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="picnicex" supported="no">
+ <description>Picnic! Excellent (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01345" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="picnic! excellent (japan) [slps-01345]" sha1="0ad2b3c7fcb3ff938959e39249af4cf437b91170"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="pinballf" supported="no">
+ <description>Pinball Fantasies Deluxe (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00482" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pinball fantasies deluxe (japan) [slps-00482]" sha1="ff97d2d841827729dd985bed4ec8ce3009247d8a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pitfall3" supported="no">
+ <description>Pitfall 3D - Beyond the Jungle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01669" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pitfall 3d - beyond the jungle (japan) [slps-01669]" sha1="40a4238addeb4d795cd29c012681a6d43d4b1e7d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="planetdo" supported="no">
+ <description>Planet Dob (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02111" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="planet dob (japan) [slps-02111]" sha1="22fc26a31998261c0bfa87ad4d5205ce531b894e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="planetla" supported="no">
+ <description>Planet Laika - Kasei Mokushiroku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86264" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="planet laika - kasei mokushiroku (japan) [slpm-86264]" sha1="a8b5d72d06242cedda71fa362587da79d3d35dcc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pocketdi" supported="no">
+ <description>Pocket Digimon World (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02800" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pocket digimon world (japan) [slps-02800]" sha1="325cde2d68bfa5730371dce51d8ca78fde69f5a2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pocketwb" supported="no">
+ <description>Pocket Digimon World - Wind Battle Disc (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02992" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pocket digimon world - wind battle disc (japan) [slps-02992]" sha1="a8cb3aff5dd8ac362f915645fa2329933e9b0383"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pocketwc" supported="no">
+ <description>Pocket Digimon World Cool &amp; Nature Battle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03146" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pocket digimon world cool &amp; nature battle (japan) [slps-03146]" sha1="63519d85dde68f5232825cf4f0de6d1a365557b4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pocketfi" supported="no">
+ <description>Pocket Fighter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01360" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pocket fighter (japan) [slps-01360]" sha1="2d6a18378ffaeafe3b4619c007ab0b3c0deb53aa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pocketmu" supported="no">
+ <description>Pocket Muumuu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10076" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pocket muumuu (japan) [scps-10076]" sha1="5e1c4507fe4f363b5b135dfbeb779fad34695ee0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="poitters" supported="no">
+ <description>Poitter's Point 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86061" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="poitter's point 2 (japan) [slpm-86061]" sha1="52fba1839b5748d73d5669d19b316276aecce2fb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="policena" supported="no">
+ <description>Policenauts - Private Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00228" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="policenauts - private collection (japan) [slps-00228]" sha1="00fde78d90b67ca404ed9e7a08b777c6d34aaec7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="popnmusi" supported="no">
+ <description>Pop'n Music - Disney Tunes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86670" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pop'n music - disney tunes (japan) [slpm-86670]" sha1="3145a249f9f46a8e17c19602ed0c20d80c264488"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="popnpopj" supported="no">
+ <description>Pop'n Pop (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01636" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pop'n pop (japan) [slps-01636]" sha1="315964f03b1d9866a0a785fd475357f2af5443ab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="popntank" supported="no">
+ <description>Pop'n Tanks! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86146" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pop'n tanks! (japan) [slpm-86146]" sha1="8c595e77213df35882ada74390f7c80c397dad92"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="potestas" supported="no">
+ <description>Potestas (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00324" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="potestas (japan) [slps-00324]" sha1="15e3cb60041e26e90fa07ea9fc42e9d3d35b85b0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="powersho" supported="no">
+ <description>Power Shovel ni Norou!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86629" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="power shovel ni norou!! (japan) [slpm-86629]" sha1="df87356e9a69fdd1983e8caa52e8342fb7525b46"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="powersta" supported="no">
+ <description>Power Stakes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86032" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="power stakes (japan) [slpm-86032]" sha1="34223145bab13b70bdf178d46fe092901287b5bf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="powersg1" supported="no">
+ <description>Power Stakes Grade 1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86050" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="power stakes grade 1 (japan) [slpm-86050]" sha1="7b9bb7d1c7167f2b5a043b0e420b4ef4d55e9044"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="princess" supported="no">
+ <description>Princess Maker - Go! Go! Princess (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01505" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="princess maker - go! go! princess (japan) [slps-01505]" sha1="4faa6469f107df8afa4c583e5b60ede728491fa1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="prismcou" supported="no">
+ <description>Prism Court (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01226" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="prism court (japan) [slps-01226]" sha1="551190dcfc4fab8e9980dd1a5bde9aac426f8ad8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="prisoner" supported="no">
+ <description>Prisoner (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02387" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="prisoner (japan) [slps-02387]" sha1="4362c4ba4af8f6084b31fbb2b6c82b96ec1b0fdd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="promahpl" supported="no">
+ <description>Pro Mahjong Kiwame Plus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00402" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pro mahjong kiwame plus (japan) [slps-00402]" sha1="833b3c487357415790d3d1d1e347d446e889ec74"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="promahjo" supported="no">
+ <description>Pro Mahjong Kiwame Tengensenhen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02347" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pro mahjong kiwame tengensenhen (japan) [slps-02347]" sha1="acba9c80f641afcdb3dcba1d9a313194f36119f1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="prowrest" supported="no">
+ <description>Pro Wrestling Sengokuden - Hyper Tag Match (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01006" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pro wrestling sengokuden - hyper tag match (japan) [slps-01006]" sha1="8b5a7132e5727ed8d3e0b6ec044ee393c9fd2310"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="prologic" supported="no">
+ <description>Pro-Logic Mah-Jong Hai-Shin (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86018" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pro-logic mah-jong hai-shin (japan) [slpm-86018]" sha1="a48d783cceecbb30c106cbc623badfa169b1d603"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="pukunpaj" supported="no">
+ <description>Pukunpa - Joshi Kousei no Houkago... (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00409" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="pukunpa - joshi kousei no houkago... (japan) [slps-00409]" sha1="6ccb3d1f93ec9d1afe7c56ba39836f2c330fdad0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="puyopubx" supported="no">
+ <description>Puyo Puyo Box (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03114" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="puyo puyo box (japan) [slps-03114]" sha1="7c586b5b087d06e3e63231872f9ba748456eb564"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="puypuyoo" supported="no">
+ <description>Puyo Puyoon - Car-Kun to Issho (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02412" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="puyo puyoon - car-kun to issho (japan) [slps-02412]" sha1="a2c87ae6a724a2d66bffe82dbcfd4b634f752606"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="puzzlear" supported="no">
+ <description>Puzzle Arena Toshinden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00879" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="puzzle arena toshinden (japan) [slps-00879]" sha1="0b36965bc326b75a1cf8de3d48204311e158a86d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="pbobl3dx" supported="no">
+ <description>Puzzle Bobble 3 DX (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01065" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="puzzle bobble 3 dx (japan) [slps-01065]" sha1="0e1f2eccbea8b5f61bda4da1bb9cc5b3595ffd58"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="pbobl4" supported="no">
+ <description>Puzzle Bobble 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01492" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="puzzle bobble 4 (japan) [slps-01492]" sha1="0b529111386fe5a0f888615a7290834e7b1c70f8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, must skip fmv before it begins or black screen -->
+ <software name="qix2000j" supported="no">
+ <description>Qix 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86659" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="qix 2000 (japan) [slpm-86659]" sha1="159f0b9ecd96f0e7e05db60dde48a2d0b0db536b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="quantumg" supported="no">
+ <description>Quantum Gate I - Akumu no Joshou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00399" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="quantum gate i - akumu no joshou (japan) [slps-00399]" sha1="d1ee6a80aadef1910200e0c8c2183a01a7bf8b97"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="quizchar" supported="no">
+ <description>Quiz Charaokedon! Toei Tokusatsu Hero Part 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02310" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="quiz charaokedon! toei tokusatsu hero part 2 (japan) [slps-02310]" sha1="bd241dcb69cf4a52f6a3cb4e070ce918fcd11304"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="quizdara" supported="no">
+ <description>Quiz Darake no Jinsei Game - Un to Atama de Daifugou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02282" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="quiz darake no jinsei game - un to atama de daifugou (japan) [slps-02282]" sha1="be640fb0fa119194f4001f32f2229e9ff4c0ac17"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hang starting new game -->
+ <software name="quizmill" supported="no">
+ <description>Quiz Millionaire (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03364" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="quiz millionaire (japan) [slps-03364]" sha1="07e171e65ddd08bd1c2e621a7b49318c5ce82574"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="quovadis" supported="no">
+ <description>Quo Vadis - Iberukatsu Seneki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00733" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="quo vadis - iberukatsu seneki (japan) [slps-00733]" sha1="81c7dc80bcf196fe49bf0cc56f62d24f501bdc66"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="racedriv" supported="no">
+ <description>Race Drivin' a Go! Go! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00167" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="race drivin' a go! go! (japan) [slps-00167]" sha1="e689874565e244d6e3fd4507ce3e2ff1b8c0f9a8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="rakugaki" supported="no">
+ <description>Rakugaki Showtime (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86272" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rakugaki showtime (japan) [slpm-86272]" sha1="04d8d0608d92f3821ba379c624f8cd06bb5a79c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="rallydea" supported="no">
+ <description>Rally de Africa (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01601" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rally de africa (japan) [slps-01601]" sha1="145436794bac3b21bcbcfdce681ad0cd5e093b0e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="rallydee" supported="no">
+ <description>Rally de Europe (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02679" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rally de europe (japan) [slps-02679]" sha1="eba2ac192b85858f4323fc1da8f942baa270b158"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after some movies -->
+ <software name="ramichan" supported="no">
+ <description>Ramichan no Odeo Surogoku - Keio Yugekitai Gaiden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01546" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ramichan no odeo surogoku - keio yugekitai gaiden (japan) [slps-01546]" sha1="cb41badff194bc38a6c8b50c7cc18f42e6980eb6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ranma12b" supported="no">
+ <description>Ranma 1-2 - Battle Renaissance (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00522" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ranma 1-2 - battle renaissance (japan) [slps-00522]" sha1="20f113d01ee14681008b1df3fde72e7d02ffb69d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="raytrace" supported="no">
+ <description>Ray Tracers (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00098" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ray tracers (japan) [slps-00098]" sha1="b034a03a6014e6a88b3f80bf47684bf7dc8f5451"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hangs at company logo -->
+ <software name="raymanja" supported="no">
+ <description>Rayman (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00026" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rayman (japan) [slps-00026]" sha1="acc0a8820b81fb55134868021a6facc3def1eb1a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="readymai" supported="no">
+ <description>Ready Maid (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87157" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ready maid (japan) [slpm-87157]" sha1="d7119602cb04b7bec9916e7a83d867eb1d8e11a7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="rbffsdm" supported="no">
+ <description>Real Bout Garou Densetsu Special - Dominated Mind (Limited Edition) (Japan) (Disc 1)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86090, SLPM-86091" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="real bout garou densetsu special - dominated mind (limited edition) (japan) (disc 1) [slpm-86090]" sha1="b3022a230179baf4ae09995585bd771f373b5d6a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="real bout garou densetsu special - dominated mind (limited edition) (japan) (disc 2 [slpm-86091]" sha1="a0f645f96cdef8b378103bca91666ff0c8f48b1c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="realrobo" supported="no">
+ <description>Real Robots - Final Attack (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01125" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="real robots - final attack (japan) [slps-01125]" sha1="b69c334a0f2e34a22bb8bcf0026225ec50b3f8ad"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="reciproh" supported="no">
+ <description>Recipro Heat 5000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00744" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="recipro heat 5000 (japan) [slps-00744]" sha1="fefbbfc58109e705421f6912158e6cc3b5504556"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, needs gun -->
+ <software name="rsbhdemo" supported="no">
+ <description>Rescue Shot Bubibo &amp; BioHazard - Gun Survivor (Demo) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80522" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rescue shot bubibo &amp; biohazard - gun survivor (demo) (japan) [slpm-80522]" sha1="9946efc6489976165af873bc447d9da4d12b5208"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen, MESS crash -->
+ <software name="retzork" supported="no">
+ <description>Return to Zork (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00192, SLPS-00193" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="return to zork (japan) (disc 1) [slps-00192]" sha1="74ebcf052f66a98470cea717dbe2a6bbe3bc4337"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="return to zork (japan) (disc 2) [slps-00193]" sha1="7a7e51b7ac01802e364410b7260ea7c6675913ef"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ridegear" supported="no">
+ <description>Ridegear Guybrave II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01643, SLPS-01644" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ridegear guybrave ii (japan) (disc 1) [slps-01643]" sha1="554b19a4799a9806e164067bce49dfc311b1f499"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ridegear guybrave ii (japan) (disc 2) [slps-01644]" sha1="83924e0d69d24af147104dd136a2f32ab22e6ea0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="rikujoub" supported="no">
+ <description>Rikujou Boueitai Maochan (Deluxe Pack) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87198" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rikujou boueitai maochan (deluxe pack) (japan) [slpm-87198]" sha1="5131c697eed0e9fb0a7d34672593ef7bae2905b6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after company logos -->
+ <software name="riotstar" supported="no">
+ <description>Riot Stars (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00829" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="riot stars (japan) [slps-00829]" sha1="10639f8fa097059521eb297ffb2092c04fa99e8b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- company logos shown, broken into incorrect parts, then hang -->
+ <software name="riseofro" supported="no">
+ <description>Rise of Robots 2 - Resurection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00259" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rise of robots 2 - resurection (japan) [slps-00259]" sha1="071c454377fcec4acc8d1d59b05642171ff2416b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="risingza" supported="no">
+ <description>Rising Zan - The Samurai Gunman (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01691" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="rising zan - the samurai gunman (japan) [slps-01691]" sha1="b66481789dc9c1227bcad847a324ebcee8265194"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="robinllo" supported="no">
+ <description>Robin Lloyd no Bouken (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02501" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="robin lloyd no bouken (japan) [slps-02501]" sha1="f52ef91c80f615411ceb4a9391161465f160a40b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="robotxro" supported="no">
+ <description>Robot X Robot (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02231" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="robot x robot (japan) [slps-02231]" sha1="fd0813351a8bbcf57cecb2e3f5481d88592140fe"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="roommate" supported="no">
+ <description>Roommate - Inoue Ryoko (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02140" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="roommate - inoue ryoko (japan) [slps-02140]" sha1="1a5f95aedef108713b195bc276aea241244209f0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="runningh" supported="no">
+ <description>Running High (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00751" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="running high (japan) [slps-00751]" sha1="721424847c4083aae3d105b61cf34f4ee907c623"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sakkyoku" supported="no">
+ <description>Sakkyoku Surundamon - Dance Remix-hen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02808" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sakkyoku surundamon - dance remix-hen (japan) [slps-02808]" sha1="671b2ed0e19d7bb5d516cba69402c18b5c689792"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sakumash" supported="no">
+ <description>Sakuma-shiki Jinsei Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01740" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sakuma-shiki jinsei game (japan) [slps-01740]" sha1="ea064012438a2cfa5168b63a375c40c1b7f80469"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="salaryma" supported="no">
+ <description>Salary Man Champ - Tatakau Salary Man (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86820" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="salary man champ - tatakau salary man (japan) [slpm-86820]" sha1="59d80e3150e799fab7faa3a80d44f5b677ef4299"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="salarytg" supported="no">
+ <description>Salary Man Kintaro - The Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02806" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="salary man kintaro - the game (japan) [slps-02806]" sha1="12f5b2be01e365a15140ddf3e86914341a1858c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="salarysm" supported="no">
+ <description>Salary Man Settai Mahjong (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03175" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="salary man settai mahjong (japan) [slps-03175]" sha1="d1a816b9a4d3870dff5f913e8cb8b79f227b05e0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="samuraid" supported="no">
+ <description>Samurai Deeper Kyo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03505" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="samurai deeper kyo (japan) [slps-03505]" sha1="185c7e43debaafe2fdab8df034c644e0accfc898"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="samurais" supported="no">
+ <description>Samurai Spirits - Kenkaku Yubinan Pack (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00647" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="samurai spirits - kenkaku yubinan pack (japan) [slps-00647]" sha1="1d3730e14e0ae4b415146a5f1a8c519309dad6b2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- odd gfx problems -->
+ <software name="samsho3" supported="no">
+ <description>Samurai Spirits - Zankurou Musouken (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-91024" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="samurai spirits - zankurou musouken (japan) [slps-91024]" sha1="a9ebabc60703122cab0ba80ec852d514225329ee"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangokus" supported="no">
+ <description>Sangokushi Eiketsuden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00309" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi eiketsuden (japan) [slps-00309]" sha1="0bcbb00e7b1bcd6496b24aed7134fc27b655c1c1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangoku2" supported="no">
+ <description>Sangokushi II (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01596" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi ii (japan) [slps-01596]" sha1="f89180a8fa1f2b5e53dcc7635e444b138fd5ac06"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangoku3" supported="no">
+ <description>Sangokushi III (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86747" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi iii (japan) [slpm-86747]" sha1="d5265763b96baa7ff93c2131393a3ce8c0cdb9e0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangokou" supported="no">
+ <description>Sangokushi Koumeiden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00688" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi koumeiden (japan) [slps-00688]" sha1="2719dea19adbb7f9adf3ed4325cc7254bd09c1d4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangokrt" supported="no">
+ <description>Sangokushi Returns (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00474" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi returns (japan) [slps-00474]" sha1="b097ce9990964595f5678706cc0e089454f80cd0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangoku5" supported="no">
+ <description>Sangokushi V (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-45128" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi v (japan) [scps-45128]" sha1="144daa29a613a7135dd936a010e8dec5e3006135"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sangoku6" supported="no">
+ <description>Sangokushi VI (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86129" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sangokushi vi (japan) [slpm-86129]" sha1="23b826011009ebd2634b5e5aa993763336f4aa36"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sanyopac" supported="no">
+ <description>Sanyo Pachinko Paradise 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02389" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sanyo pachinko paradise 2 (japan) [slps-02389]" sha1="f45e57f064fb6006a26ba10bccb56d4179dcb31a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sarugety" supported="no">
+ <description>Saru! Get You! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10091" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="saru! get you! (japan) [scps-10091]" sha1="c956fd585b246e72e204f4710d2b60245228d560"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="satellit" supported="no">
+ <description>Satelli TV (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01203" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="satelli tv (japan) [slps-01203]" sha1="6ce56f4ae07dbeac9b4d8d36abd6e4dea98773e6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="satomino" supported="no">
+ <description>Satomi no Nazo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00613" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="satomi no nazo (japan) [slps-00613]" sha1="340540cee7fba9a291b1412936ebd1d8e440edbc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="schrodin" supported="no">
+ <description>Schrodinger no Neko - Die Katze von Schrodinger (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00780" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="schrodinger no neko - die katze von schrodinger (japan) [slps-00780]" sha1="f5b024ce306d6bdfd105b748a7f426bd3410c882"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sdgkvm" supported="no">
+ <description>SD Gundam Eiyuuden - Daikessen!! Knight vs. Musha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03145" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam eiyuuden - daikessen!! knight vs. musha (japan) [slps-03145]" sha1="cc3d301227705403184526be508f317f32e81d99"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sdgggf" supported="no">
+ <description>SD Gundam G-Generation F (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02900, SLPS-02901, SLPS-02902" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation f (japan) (disc 1) [slps-02900]" sha1="c61bcabf5ecf6f1839d4bf71aad06ef3752adac4"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation f (japan) (disc 2) [slps-02901]" sha1="bd27f0a7c96abb0a29ec5d933544a14d758fe61c"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation f (japan) (disc 3) [slps-02902]" sha1="f7a4ce705705efff1592bf79071967bc8da9c16d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sdgggfif" supported="no">
+ <description>SD Gundam G-Generation F if (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03195" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation f if (japan) [slps-03195]" sha1="f06a704368b5737f235e410ccbbe625154d58713"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sdggg0" supported="no">
+ <description>SD Gundam G-Generation Zero (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02200, SLPS-02201, SLPS-02202" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation zero (japan) (disc 1) [slps-02200]" sha1="af8c4d230b978098a04df4e79c3cb281607af9ac"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation zero (japan) (disc 2) [slps-02201]" sha1="9620d42218ce548ab9112bd5950ce64632508af2"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sd gundam g-generation zero (japan) (disc 3) [slps-02202]" sha1="4d3d12ded0db872a31a68b900b6cbcc8fc48bedc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="seabassf" supported="no">
+ <description>Seabass Fishing 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00992" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="seabass fishing 2 (japan) [slps-00992]" sha1="24f985287b9a89558a6f7b58c57e77bc8362f847"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="seikaino" supported="no">
+ <description>Seikai no Monshou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02323" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="seikai no monshou (japan) [slps-02323]" sha1="a890b200b007ee8f07e3c2406b46d6e1be550fdd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="seireish" supported="no">
+ <description>Seirei Shoukan - Princess of Darkness (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01271" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="seirei shoukan - princess of darkness (japan) [slps-01271]" sha1="aaacf235d5f4861924fc0a1eee091c22a645ad05"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sengokum" supported="no">
+ <description>Sengoku Mugen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03151" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sengoku mugen (japan) [slps-03151]" sha1="e3f9da3774a333fa7e126b08fe24fe9ed5166653"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="senkaita" supported="no">
+ <description>Senkai Taisen - TV Animation Senkaiden Houshin Engi yori (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02736" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="senkai taisen - tv animation senkaiden houshin engi yori (japan) [slps-02736]" sha1="3d9acf2e37be62e7bcea78a5df4044bd1bbcb368"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="senryaku" supported="no">
+ <description>Senryaku Shidan - Tora! Tora! Tora! Rikusen-hen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02631" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="senryaku shidan - tora! tora! tora! rikusen-hen (japan) [slps-02631]" sha1="b21f96633430f8f4887080955960ba6d1e994bce"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sentimen" supported="no">
+ <description>Sentimental Graffiti (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03184" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sentimental graffiti (japan) [slps-03184]" sha1="b16876b282d68d89e3b0210b944677316fbccf7e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sentouko" supported="no">
+ <description>Sentou Kokka Kai Improved (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10034" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sentou kokka kai improved (japan) [scps-10034]" sha1="b314a08f75e5d0a73d4962a4536bc68bbeebec9b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shachoue" supported="no">
+ <description>Shachou Eiyuuden - The Eagle Shooting Heroes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-45510" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shachou eiyuuden - the eagle shooting heroes (japan) [scps-45510]" sha1="0107f61538181306765a0ae257ac497dde413c62"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shibasu1" supported="no">
+ <description>Shibasu 1-2-3 Destiny! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01893" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shibasu 1-2-3 destiny! (japan) [slps-01893]" sha1="0f69dbc9c68cbda6e0204fd4a959cb5a5759b2c9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinmaso" supported="no">
+ <description>Shin Masoukishin - Panzer Warfare (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02319" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shin masoukishin - panzer warfare (japan) [slps-02319]" sha1="face75ad9f7643523e3b94e991007cc3982b25b1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinmega" supported="no">
+ <description>Shin Megami Tensei (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03170" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shin megami tensei (japan) [slps-03170]" sha1="6b8c3a93057987f1cecf4410edbf4877026d0bf4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinsdse" supported="no">
+ <description>Shin SD Sengokuden Kidou Musha Taisen [Limited Edition] (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00576" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shin sd sengokuden kidou musha taisen [limited edition] (japan) [slps-00576]" sha1="774c830459226474392a48a7ecfcbbc7c7123479"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="shinthem" supported="no">
+ <description>Shin Theme Park (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00810" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shin theme park (japan) [slps-00810]" sha1="b7c52c25a43c2c1e658c7ba8305ba671ecd68b18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinriga" supported="no">
+ <description>Shinri Game, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00169" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shinri game, the (japan) [slps-00169]" sha1="736124dd1903801574580bcf8900329896268f9a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinseid" supported="no">
+ <description>Shinseiden Megaseed Fukkatsu-hen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00925" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shinseiden megaseed fukkatsu-hen (japan) [slps-00925]" sha1="caa46538029b348cfeb60d89172588f1a8211fd7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shinsets" supported="no">
+ <description>Shinsetsu Samurai Spirits - Bushido Retsuden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00814" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shinsetsu samurai spirits - bushido retsuden (japan) [slps-00814]" sha1="a6ae2237edc2b5c2882d02eac1a02dd75f571280"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shiritsu" supported="no">
+ <description>Shiritsu Justice Gakuen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01240, SLPS-01241" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shiritsu justice gakuen (japan) (disc 1) [slps-01240]" sha1="5b85e3f794686f118f6bec1fa53706b2b7883d6f"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shiritsu justice gakuen (japan) (disc 2) [slps-01241]" sha1="b1c7488b5b2555c5ccc9a6188384b3914dd6684b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shirits2" supported="no">
+ <description>Shiritsu Justice Gakuen - Nekketsu Seishun Nikki 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02120" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shiritsu justice gakuen - nekketsu seishun nikki 2 (japan) [slps-02120]" sha1="b0e20091fe7819131c4b5005e8bea2ed25e89530"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shoryusa" supported="no">
+ <description>Shoryu Sangokuengi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00253" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shoryu sangokuengi (japan) [slps-00253]" sha1="cdf56ffa2d1ad94b59c0e811d6c9242c36c023d1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="shuranom" supported="no">
+ <description>Shura no Mon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01202" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="shura no mon (japan) [slps-01202]" sha1="edb8845c29d5b6215331278fd7f8fee13377200f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="sidebysi" supported="no">
+ <description>Side by Side Special 2000 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86344" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="side by side special 2000 (japan) [slpm-86344]" sha1="54852d8dc86435e0cde03fdc86272d84e14d5a01"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sidepock" supported="no">
+ <description>Side Pocket 3 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01079" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="side pocket 3 (japan) [slps-01079]" sha1="976e2bed236c1314ecf4a845dfa0aec13b727f9a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sidewind" supported="no">
+ <description>Sidewinder (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00156" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sidewinder (japan) [slps-00156]" sha1="d630bc459afd405f9800999fe258ff44eef2b845"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="silentmo" supported="no">
+ <description>Silent Mobius - Genei no Datenshi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01803" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="silent mobius - genei no datenshi (japan) [slps-01803]" sha1="b0541155d1368e9c7af9e830ae3d2ba31a909768"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="silhouet" supported="no">
+ <description>Silhouette Mirage - Reprogrammed Hope (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01449" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="silhouette mirage - reprogrammed hope (japan) [slps-01449]" sha1="342862b848ce565b9303fdf5fe1b3a5378fb5ccf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="silhstor" supported="no">
+ <description>Silhouette Stories (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00374" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="silhouette stories (japan) [slps-00374]" sha1="d03411f8bbdbdd4e432d1f6ae5b34c83ddb61edb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_01" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.01 - Norikae Annai - 2000 Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02842" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.01 - norikae annai - 2000 edition (japan) [slps-02842]" sha1="7d687614dcd0e766b3cc3927f0f7bb2dd1ae31e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_03" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.03 - Seimei Handan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02841" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.03 - seimei handan (japan) [slps-02841]" sha1="6ad6e232c726cc509adb400f4bf346aff4cea366"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_04" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.04 - Ryouri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02839" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.04 - ryouri (japan) [slps-02839]" sha1="be9b68e8ad5e298dd24947a81dfabfb854e44bea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_05" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.05 - Kusuri no Jiten - Pill Book 2001 Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86706" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.05 - kusuri no jiten - pill book 2001 edition (japan) [slpm-86706]" sha1="1764a3c234f19c667b43a7ce61c51e77d222d07d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_06" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.06 - Cocktail no Recipe (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86707" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.06 - cocktail no recipe (japan) [slpm-86707]" sha1="183103f11fc2a6ca0a9a7310f1383878de78a333"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_07" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.07 - Tanoshiku Manabu Unten Menkyo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86797" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.07 - tanoshiku manabu unten menkyo (japan) [slpm-86797]" sha1="5a4b23e8fa342f273825fd9c5a13e1c4d2e0abef"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- MESS crash after company logos -->
+ <software name="s15j_08" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.08 - 1-Jikan de Wakaru Kabushiki Toushi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86708" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.08 - 1-jikan de wakaru kabushiki toushi (japan) [slpm-86708]" sha1="d9b4e923b73634b003f12b9869b5242af3f1bd24"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_09" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.09 - Watashi Style no Aromatherapy (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86843" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.09 - watashi style no aromatherapy (japan) [slpm-86843]" sha1="37036741ee56e48e16cf567cae0c4c0e003229e7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_10" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.10 - Tarot Uranai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86913" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.10 - tarot uranai (japan) [slpm-86913]" sha1="257b0ed8f2593781ee66626ac897db51d453046f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_11" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.11 - Katei de Dekiru Tsubo Shiatsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86968" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.11 - katei de dekiru tsubo shiatsu (japan) [slpm-86968]" sha1="6328c634cd08e9fef0d3a3f39ca4a288e660c1e9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_12" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.12 - Katei no Igaku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86969" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.12 - katei no igaku (japan) [slpm-86969]" sha1="d4c4346037a3b7317d3dc3bfcd233486448726c8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_13" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.13 - Shinri Game - Soreike X Kokoroji (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87016" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.13 - shinri game - soreike x kokoroji (japan) [slpm-87016]" sha1="df17968fe11512969371134507ce2761a4058ca9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_14" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.14 - Kurashi no Manner (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87022" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.14 - kurashi no manner (japan) [slpm-87022]" sha1="ba4898ad361712824c151e44760fbb59aea7d6dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_15" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.15 - Inu no Kaikata (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87051" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.15 - inu no kaikata (japan) [slpm-87051]" sha1="23ebe1330276ac13baedf2b836fa3470159c17c4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="s15j_16" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.16 - Neko no Kaikata (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87052" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.16 - neko no kaikata (japan) [slpm-87052]" sha1="61007f37e265be4c1af18c17dc16184495027a27"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_17" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.17 - Planetarium (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87049" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.17 - planetarium (japan) [slpm-87049]" sha1="9e0a59f78c76d52b171edb77658d6e88e8a996f5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="s15j_18" supported="no">
+ <description>Simple 1500 Jitsuyou Series Vol.18 - Kanji Quiz - Kanji Kentei Ni Challenge (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-3186" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 jitsuyou series vol.18 - kanji quiz - kanji kentei ni challenge (japan) [slps-3186]" sha1="a8ad5f5ac74436bf7ebbad9faa20f4f04d1320e4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_h01" supported="no">
+ <description>Simple 1500 Series Hello Kitty Vol.01 - Hello Kitty Bowling (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86866" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series hello kitty vol.01 - hello kitty bowling (japan) [slpm-86866]" sha1="068ee3640ea9e62f5503aa9abe59a020bdc3a747"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_h02" supported="no">
+ <description>Simple 1500 Series Hello Kitty Vol.02 - Hello Kitty Illust Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86867" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series hello kitty vol.02 - hello kitty illust puzzle (japan) [slpm-86867]" sha1="9ffa7056cf064d4bc5debdfa6c4a25270907741d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_h03" supported="no">
+ <description>Simple 1500 Series Hello Kitty Vol.03 - Hello Kitty Block Kuzushi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86911" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series hello kitty vol.03 - hello kitty block kuzushi (japan) [slpm-86911]" sha1="4f4ae32382e2116e1d92a5469a631d9fbe746b09"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_h04" supported="no">
+ <description>Simple 1500 Series Hello Kitty Vol.04 - Trump (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86910" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series hello kitty vol.04 - trump (japan) [slpm-86910]" sha1="a5620c70e68043426979a515dde7fd1812fa5ce0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_37" supported="no">
+ <description>Simple 1500 Series Vol.037 - The Illustration Puzzle &amp; Slide Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02958" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.037 - the illustration puzzle &amp; slide puzzle (japan) [slps-02958]" sha1="e6056849c9e1fabed610523308bfba92806eed50"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_51" supported="no">
+ <description>Simple 1500 Series Vol.051 - The Jigsaw Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86700" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.051 - the jigsaw puzzle (japan) [slpm-86700]" sha1="b799b1f7705e15282c682c6efa309578efd7dafd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_63" supported="no">
+ <description>Simple 1500 Series Vol.063 - The Gun Shooting 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86816" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.063 - the gun shooting 2 (japan) [slpm-86816]" sha1="9a67109a97dc43e1a367c4a61ff2ed61a8438aaf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_67" supported="no">
+ <description>Simple 1500 Series Vol.067 - The Soccer - Dynamite Soccer 1500 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86864" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.067 - the soccer - dynamite soccer 1500 (japan) [slpm-86864]" sha1="acf2ab78bac9ec558c0096770bc51d833372aec7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_71" supported="no">
+ <description>Simple 1500 Series Vol.071 - The Renai Simulation 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86870" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.071 - the renai simulation 2 (japan) [slpm-86870]" sha1="7c93c89c62cb53137bbc18a7fc28175f5661c550"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_72" supported="no">
+ <description>Simple 1500 Series Vol.072 - The Beach Volley (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86871" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.072 - the beach volley (japan) [slpm-86871]" sha1="e89403acea8931b5e31eacf1221159c2fbfc6689"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_73" supported="no">
+ <description>Simple 1500 Series Vol.073 - The Invader - Space Invaders 1500 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86900" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.073 - the invader - space invaders 1500 (japan) [slpm-86900]" sha1="9e605f0d5c5b88b7319f6fc214f9fdd924604eaa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_76" supported="no">
+ <description>Simple 1500 Series Vol.076 - The Dodge Ball (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86914" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.076 - the dodge ball (japan) [slpm-86914]" sha1="117e86012837a31d23d8379d3dcc39c17c14a8ce"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_83" supported="no">
+ <description>Simple 1500 Series Vol.083 - The Wake Board - Burstrick Wake Boarding (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86998" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.083 - the wake board - burstrick wake boarding (japan) [slpm-86998]" sha1="3215b3dbf9811503958f56710ee61a60a9effa18"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_85" supported="no">
+ <description>Simple 1500 Series Vol.085 - The Sengoku Bushou - Tenka Touitsu no Yabou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87008" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.085 - the sengoku bushou - tenka touitsu no yabou (japan) [slpm-87008]" sha1="44042c965393c429adb19a0c51753e4ff6b621ab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_88" supported="no">
+ <description>Simple 1500 Series Vol.088 - The Gal Mahjong (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87023" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.088 - the gal mahjong (japan) [slpm-87023]" sha1="1301d1f4f971513c0606c37062795a7e36f59f80"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_89" supported="no">
+ <description>Simple 1500 Series Vol.089 - The Power Shovel Ni Norou!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87035" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.089 - the power shovel ni norou!! (japan) [slpm-87035]" sha1="3857cddf2ac433999a3afa9f048c11de08718663"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_90" supported="no">
+ <description>Simple 1500 Series Vol.090 - The Sensha (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87044" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.090 - the sensha (japan) [slpm-87044]" sha1="13a15efb7c927f92d55d3f450b2d8ed33ee434a0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_93" supported="no">
+ <description>Simple 1500 Series Vol.093 - The Puzzle Bobble - Puzzle Bobble 4 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87057" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.093 - the puzzle bobble - puzzle bobble 4 (japan) [slpm-87057]" sha1="626c1ca3fe8519e26b03990a332464afc6352b98"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_97" supported="no">
+ <description>Simple 1500 Series Vol.097 - The Squash (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87088" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.097 - the squash (japan) [slpm-87088]" sha1="c87f29e61eccb1073b205e39ac8eb489e28eb244"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_99" supported="no">
+ <description>Simple 1500 Series Vol.099 - The Kendo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87140" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.099 - the kendo (japan) [slpm-87140]" sha1="fa46825372d647f6cbea9dac3cf8239c0473dca1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_101" supported="no">
+ <description>Simple 1500 Series Vol.101 - The Sentou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87142" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.101 - the sentou (japan) [slpm-87142]" sha1="f1a6e22ba475e1765ee4d370440fa1d5d540ad7e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_102" supported="no">
+ <description>Simple 1500 Series Vol.102 - The Densha Untenshi - Densha de Go! Nagoya Tetsudo-hen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87144" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.102 - the densha untenshi - densha de go! nagoya tetsudo-hen (japan) [slpm-87144]" sha1="84e78ee96499e8d022086e17230e06ec94eac532"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_103" supported="no">
+ <description>Simple 1500 Series Vol.103 - The Ganso Densha Untenshi - Densha de Go! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87212" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.103 - the ganso densha untenshi - densha de go! (japan) [slpm-87212]" sha1="c632825bca27acc68d0353b6e63fd568453c3c13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="s15_104" supported="no">
+ <description>Simple 1500 Series Vol.104 - The Pink Panther (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87215" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple 1500 series vol.104 - the pink panther (japan) [slpm-87215]" sha1="21ebdd30abd139787a2a91864247d53367471af7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_02" supported="no">
+ <description>Simple Characters 2000 Series Vol.02 - Afro Ken - The Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03307" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.02 - afro ken - the puzzle (japan) [slps-03307]" sha1="5b89aac27f6435972c512abe6b949d9bae591d19"/>
+ </diskarea>
+ </part>
+ </software>
+ <!-- dupe
+ <software name="sc2k_02" supported="no">
+ <description>Simple Characters 2000 Series Vol.02 - Afroken - The Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03307" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.02 - afroken - the puzzle (japan) [slps-03307]" sha1="5b89aac27f6435972c512abe6b949d9bae591d19"/>
+ </diskarea>
+ </part>
+ </software>
+ -->
+ <software name="sc2k_03" supported="no">
+ <description>Simple Characters 2000 Series Vol.03 - Kamen Rider - The Bike Race (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03308" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.03 - kamen rider - the bike race (japan) [slps-03308]" sha1="09f7bee24d2e62226188ee253d66311cd3930755"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_04" supported="no">
+ <description>Simple Characters 2000 Series Vol.04 - Jarin-Ko Chie - The Hanafuda (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03350" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.04 - jarin-ko chie - the hanafuda (japan) [slps-03350]" sha1="3ab45ace22612d7b058712b85decbaec92aee3a9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_05" supported="no">
+ <description>Simple Characters 2000 Series Vol.05 - HighSchool Kimengumi - The Table Hockey (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03362" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.05 - highschool kimengumi - the table hockey (japan) [slps-03362]" sha1="081b6b6af2f9520f82462138a0814ec3e968ffcd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_06" supported="no">
+ <description>Simple Characters 2000 Series Vol.06 - Dokonjou Gaeru - The Mahjong (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03363" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.06 - dokonjou gaeru - the mahjong (japan) [slps-03363]" sha1="7c9f31089759c533f18d7247fbfc38439f110efa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_07" supported="no">
+ <description>Simple Characters 2000 Series Vol.07 - Ikkyuusan - The Quiz (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03418" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.07 - ikkyuusan - the quiz (japan) [slps-03418]" sha1="78fc86f52b837d6ffda37c2ef7b1511f4dd5f4ee"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_09" supported="no">
+ <description>Simple Characters 2000 Series Vol.09 - Tsuri Kichi Sanpei - The Tsuri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03445" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.09 - tsuri kichi sanpei - the tsuri (japan) [slps-03445]" sha1="6140e4135144100105def4ab819f8c79845aa7cb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_10" supported="no">
+ <description>Simple Characters 2000 Series Vol.10 - Sakigake!! Otojo Juku - The Dodgeball (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03457" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.10 - sakigake!! otojo juku - the dodgeball (japan) [slps-03457]" sha1="aba175045b3b7335d32f323de56da192989e4a78"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_12" supported="no">
+ <description>Simple Characters 2000 Series Vol.12 - Kidou Butouden G Gundam - The Battle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03471" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.12 - kidou butouden g gundam - the battle (japan) [slps-03471]" sha1="a3589804d3e1b173707fffd8cc65c487cd44c2f2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_13" supported="no">
+ <description>Simple Characters 2000 Series Vol.13 - Shin Kidou Senki Gundam W - The Battle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03472" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.13 - shin kidou senki gundam w - the battle (japan) [slps-03472]" sha1="19ea8e4db0e284ceec0f115b4a3d0cc1bbf8e075"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_14" supported="no">
+ <description>Simple Characters 2000 Series Vol.14 - Nantettantei Idol - The Jigsaw Puzzle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03473" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.14 - nantettantei idol - the jigsaw puzzle (japan) [slps-03473]" sha1="88df5a6bcfec2f18e58e1db40aa2219bf466dd9d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_15" supported="no">
+ <description>Simple Characters 2000 Series Vol.15 - Cyborg 009 - The Block Kuzushi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03474" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.15 - cyborg 009 - the block kuzushi (japan) [slps-03474]" sha1="d48c69f83a2358e448baf7c28462b81da0ce33f9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sc2k_16" supported="no">
+ <description>Simple Characters 2000 Series Vol.16 - Ganba no Bouken - The Puzzle Action (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03546" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simple characters 2000 series vol.16 - ganba no bouken - the puzzle action (japan) [slps-03546]" sha1="8eb1403814a64316effc9cc7fc7ed49e6f1581d6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="simulati" supported="no">
+ <description>Simulation Zoo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00458" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="simulation zoo (japan) [slps-00458]" sha1="b2257e7682cb0515b92ee5a618bdb21a0930a84f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sisterpr" supported="no">
+ <description>Sister Princess - Pure Stories (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03360" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sister princess - pure stories (japan) [slps-03360]" sha1="5a45ff6eb51e089947f1d89a72dedebce02e5694"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="slaphapp" supported="no">
+ <description>Slap Happy Rhythm Busters (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02789" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="slap happy rhythm busters (japan) [slps-02789]" sha1="6d764085ec119eaf98d62b102887bc7731828776"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="snatcher" supported="no">
+ <description>Snatcher (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00154" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="snatcher (japan) [slps-00154]" sha1="3658d481ad2c82eb1b181a62903e0cd41e14282a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="snobowki" supported="no">
+ <description>Snobow Kids Plus (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01823" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="snobow kids plus (japan) [slps-01823]" sha1="f699ed094d42899e75cf6da4a68b5c40dd4466a6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sonataja" supported="no">
+ <description>Sonata (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01843, SLPS-01844" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sonata (japan) (disc 1) [slps-01843]" sha1="9c046b03ca824b6ca5a8cf1797a46388c7632e81"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sonata (japan) (disc 2) [slps-01844]" sha1="ef96cb8cd19208529c7e46272c8d38c969bce4f7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sotsugyo" supported="no">
+ <description>Sotsugyou Crossworld (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00273" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sotsugyou crossworld (japan) [slps-00273]" sha1="4ae309caf42216d5d23f05209654075558e31666"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sougakut" supported="no">
+ <description>Sougaku Toshi - Osaka (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01722, SLPS-01723" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sougaku toshi - osaka (japan) (disc 1) [slps-01722]" sha1="0cdd0b3cde351b107e2fe2403816a2699054c027"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sougaku toshi - osaka (japan) (disc 2) [slps-01723]" sha1="0f180621cf4f7f90e5092d0e3515889347c181d1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="soukyugu" supported="no">
+ <description>Soukyu Gurentai - Oubushustugeki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01172" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="soukyu gurentai - oubushustugeki (japan) [slps-01172]" sha1="1cafb639f014519cc391ed077c848ba7121dea9a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="soundqub" supported="no">
+ <description>Sound Qube (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01309" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sound qube (japan) [slps-01309]" sha1="54139ab64577aec717ca75daa26d87b67887a673"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="spaceinv" supported="no">
+ <description>Space Invaders X (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86419" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="space invaders x (japan) [slpm-86419]" sha1="521ecefa318a2cd5efbe71be5aad4d4a46594224"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="spectral" supported="no">
+ <description>Spectral Blade (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02526" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="spectral blade (japan) [slps-02526]" sha1="b256155ceaf81d1bee60d670db34c08b2acfe0fb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="speedkin" supported="no">
+ <description>Speed King - Neo Kobe 2045 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86013" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="speed king - neo kobe 2045 (japan) [slpm-86013]" sha1="7fd280eb54eabff2f159f42bfafd24701bc81056"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="speedpow" supported="no">
+ <description>Speed Power Gunbike (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01066" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="speed power gunbike (japan) [slps-01066]" sha1="0a1ad4f52d87a1c30313e913a44c7d581f28b865"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="spiderma" supported="no">
+ <description>Spider-Man (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86739" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="spider-man (japan) [slpm-86739]" sha1="b7a4e58f7227fa42ec4fec619bdbea420c124d25"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="squaresp" supported="no">
+ <description>Square's Preview 5 (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-45417" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="square's preview 5 (japan) (demo) [scps-45417]" sha1="2e84ab79573ce07bb78480a9d75d601e14d07895"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="squareso" supported="no">
+ <description>Squaresoft Memory Card Data CD (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80556" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="squaresoft memory card data cd (japan) [slpm-80556]" sha1="686d4e4519b92817c7ac16514a8d007305d801b1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="stahlfed" supported="no">
+ <description>Stahlfeder (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00162" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="stahlfeder (japan) [slps-00162]" sha1="2d92a233844ca16db279dea284c402dd1d704339"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="startlin" supported="no">
+ <description>Startling Odyssey 1 - Blue Evolution (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02043" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="startling odyssey 1 - blue evolution (japan) [slps-02043]" sha1="e6a06b84e6fe2f96a3e88c96d0d01682d8448afb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="streetfi" supported="no">
+ <description>Street Fighter Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00800, SLPS-00801" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="street fighter collection (japan) (disc 1) [slps-00800]" sha1="ea52804ec5329bca3553b29c516d970a27ddf43a"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="street fighter collection (japan) (disc 2) [slps-00801]" sha1="a60763b96dbd28ad1e7d6dbfac9873c331ad3d4e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="suchiepa" supported="no">
+ <description>Suchie-Pai Adventure - Doki Doki Nightmare (Japan) (Disc 2 Only)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01265" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="suchie-pai adventure - doki doki nightmare (japan) (disc 2) [slps-01265]" sha1="614ddc9470fd85ec2f4528c4c5cc631e4d85a4b9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="suikoenb" supported="no">
+ <description>Suiko Enbu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00137" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="suiko enbu (japan) [slps-00137]" sha1="01abfc99825b5b771f3014b40255c27f3cef7253"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft1" supported="no">
+ <description>Sunsoft Classics Vol.1 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03135" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.1 - memorial series (japan) [slps-03135]" sha1="7941be28f20339a3b410c2e511df441a931e29f6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft2" supported="no">
+ <description>Sunsoft Classics Vol.2 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03181" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.2 - memorial series (japan) [slps-03181]" sha1="94c75b1a62d230fcd2246223676c217da225df80"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft3" supported="no">
+ <description>Sunsoft Classics Vol.3 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03366" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.3 - memorial series (japan) [slps-03366]" sha1="b1eb2c7bf69da7d2b58ae11ca93f67fe6e9b668b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft4" supported="no">
+ <description>Sunsoft Classics Vol.4 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03382" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.4 - memorial series (japan) [slps-03382]" sha1="87c6e6d0a3e6d944c4fe8b400871fb1e1faac94e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft5" supported="no">
+ <description>Sunsoft Classics Vol.5 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03397" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.5 - memorial series (japan) [slps-03397]" sha1="ded2c276c7bf230b5b438aac2d36497498ff7454"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="sunsoft6" supported="no">
+ <description>Sunsoft Classics Vol.6 - Memorial Series (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03486" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="sunsoft classics vol.6 - memorial series (japan) [slps-03486]" sha1="16102bce87b4ab5d5f232a4f84c65d3e0f2856ff"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="superadv" supported="no">
+ <description>Super Adventure RockMan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01051, SLPS-01052, SLPS-01053" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="super adventure rockman (japan) (disc 1) [slps-01051]" sha1="3747af46229c2e4005d4233f7604bebb45de2026"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="super adventure rockman (japan) (disc 2) [slps-01052]" sha1="1ed555110043293b72fa5c808d172ae12959013d"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="super adventure rockman (japan) (disc 3) [slps-01053]" sha1="b47ca919a4bce5d09b1cd8a5b460bd17eca674c7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="superfoo" supported="no">
+ <description>Super Football Champ (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00569" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="super football champ (japan) [slps-00569]" sha1="8321edd698000208d34ae0153e070a5d2afa7cfe"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="superliv" supported="no">
+ <description>Super Live Stadium (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86019" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="super live stadium (japan) [slpm-86019]" sha1="1815099658e9c747223f5324cb4e03b4bb5fb567"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="superlit" supported="no">
+ <description>SuperLite 1500 Extra Series Vol.02 - Nankuro (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02067" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="superlite 1500 extra series vol.02 - nankuro (japan) [slps-02067]" sha1="8f17ac2169a351af67437fd79cfd66a13e51062e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="susumeka" supported="no">
+ <description>Susume! Kaizoku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01737" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="susume! kaizoku (japan) [slps-01737]" sha1="3230f9a74272d8c28b1bdf7e7ed94c4cb1e559d9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tkarahaj" supported="no">
+ <description>T kara Hajimaru Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01350" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="t kara hajimaru monogatari (japan) [slps-01350]" sha1="62f3fb91d8735a050522a6d6892f94dcf3470bfd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tactical" supported="no">
+ <description>Tactical Armor Custom Gasaraki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02181" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tactical armor custom gasaraki (japan) [slps-02181]" sha1="c62206480954f410af8cf963705b599b98744569"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tacticso" supported="no">
+ <description>Tactics Ogre - Let Us Cling Together (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00767" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tactics ogre - let us cling together (japan) [slps-00767]" sha1="be48a97dca0f47a5ca436342344eb34aa0925a46"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="taihoshi" supported="no">
+ <description>Taiho Shichauzo! - You're Under Arrest (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86782, SLPM-86783" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="taiho shichauzo! - you're under arrest (japan) (disc 1) [slpm-86782]" sha1="52c7ba04a50123449916de373ab1e75801245953"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="taiho shichauzo! - you're under arrest (japan) (disc 2) [slpm-86783]" sha1="f3f685c91c178af15fbd6af06d7bb0536292d4e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="talesoff" supported="no">
+ <description>Tales of Fandom Vol.1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03375" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tales of fandom vol.1 (japan) [slps-03375]" sha1="4b7fc5e3f3e3acdfec1d1c18b1e2dbda2a7fc7a4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tamamayu" supported="no">
+ <description>Tamamayu Monogatari - Dennou Bijutsukan (Japan) (Demo)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80325" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tamamayu monogatari - dennou bijutsukan (japan) (demo) [slpm-80325]" sha1="ba2860a3de3dcc915609b536eaa6c9e317aedae8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tanteiea" supported="no">
+ <description>Tantei Jinguuji Saburo - Early Collection (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02157" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tantei jinguuji saburo - early collection (japan) [slps-02157]" sha1="9a3984724537af32ebe4e91afa2b38325fe02533"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tanteimr" supported="no">
+ <description>Tantei Jinguuji Saburo - Mikan no Report (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03016" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tantei jinguuji saburo - mikan no report (japan) [slps-03016]" sha1="3abf06ccd76daa88471ca415e809eec54ee11740"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tanteitk" supported="no">
+ <description>Tantei Jinguuji Saburo - Tomoshibi ga Kienu Ma ni (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02427" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tantei jinguuji saburo - tomoshibi ga kienu ma ni (japan) [slps-02427]" sha1="b77cc7494c1a564a2ea6afccc63d8a9e5e1b0dfa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tanteiyo" supported="no">
+ <description>Tantei Jinguuji Saburo - Yume no Owari ni (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01356" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tantei jinguuji saburo - yume no owari ni (japan) [slps-01356]" sha1="92db418fb7c64179b076ca2e415aba42d998e8da"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tatsunok" supported="no">
+ <description>Tatsunoko Fight (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02939" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tatsunoko fight (japan) [slps-02939]" sha1="5ce97e8c100798d37b39219eba106cfa0e8ce8da"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tenmadej" supported="no">
+ <description>Ten Made Jack (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86368" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ten made jack (japan) [slpm-86368]" sha1="3b918ce26b5ce1658f6535875f1ba19d695e85dc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tenantwa" supported="no">
+ <description>Tenant Wars (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01243" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tenant wars (japan) [slps-01243]" sha1="e055a01256300ed2a843e05da92840816b3340cb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tenchimu" supported="no">
+ <description>Tenchi Muyou! Toukou Muyou - No Need for School (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00451, SLPS-00452" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tenchi muyou! toukou muyou - no need for school (japan) (disc 1) [slps-00451]" sha1="ce26c41f4c3530868b9ad2eb282b64d49773be7c"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tenchi muyou! toukou muyou - no need for school (japan) (disc 2) [slps-00452]" sha1="31ef34a273db00b6955df05ce766a37ffc408932"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tenchiwo" supported="no">
+ <description>Tenchi wo Kurau II - Sekiheki no Tatakai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00203" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tenchi wo kurau ii - sekiheki no tatakai (japan) [slps-00203]" sha1="35ab6fe2966da10cd9f4d9dff74c6bf1abe3ba04"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tennisar" supported="no">
+ <description>Tennis Arena (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01303" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tennis arena (japan) [slps-01303]" sha1="007a0aad20a7fd6de327bab3e3e0d679bf832093"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tensenny" supported="no">
+ <description>Tensen-Nyannyan - Gekijou-ban (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01278" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tensen-nyannyan - gekijou-ban (japan) [slps-01278]" sha1="5b4d545081c3ee6a108315b9a804416bf705dbe6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tenshino" supported="no">
+ <description>Tenshi no Shippo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03531" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tenshi no shippo (japan) [slps-03531]" sha1="6fd0947fed81785cd9fdf429e08a298d0e88e8e8"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tetrisxj" supported="no">
+ <description>Tetris X (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00321" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tetris x (japan) [slps-00321]" sha1="b5289060f613817e145370f6a1d77b06d2c87e3a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tfxjapan" supported="no">
+ <description>TFX (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00511" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tfx (japan) [slps-00511]" sha1="00d81663c232a2e6f767b543208fbc8924d80eb7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="thatsqtj" supported="no">
+ <description>That's QT (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86340" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="that's qt (japan) [slpm-86340]" sha1="cbea61dc3cc2cc3b7b7c960e6b55d5f5597b36d3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="themehos" supported="no">
+ <description>Theme Hospital (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01405" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="theme hospital (japan) [slps-01405]" sha1="26346c3ecc6e43b96ff7f6189d579888a18d93d4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="thunderf" supported="no">
+ <description>Thunderforce V - Perfect System (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01406" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="thunderforce v - perfect system (japan) [slps-01406]" sha1="1cc78bfcbfd699b8031b7725b77e19b4dc081bc6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="timegaln" supported="no">
+ <description>Time Gal &amp; Ninja Hayate (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00383, SLPS-00384" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="time gal &amp; ninja hayate (japan) (disc 1) [slps-00383]" sha1="0846c12ff9c3240af2604ef9657248b0c490045e"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="time gal &amp; ninja hayate (japan) (disc 2) [slps-00384]" sha1="5f63f8c1e4b8532e2beb6b862b6dc8a38bc4da2a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tinybull" supported="no">
+ <description>Tiny Bullets (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10130" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tiny bullets (japan) [scps-10130]" sha1="91cd397f1e69ac44f7349a083c10b5d17f62199d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="toheartj" supported="no">
+ <description>To Heart (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01919, SLPS-01920" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="to heart (japan) (disc 1) [slps-01919]" sha1="117f512de1fb58a5a85819e568834d6f28e66497"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="to heart (japan) (disc 2) [slps-01920]" sha1="5d289a2823d6d4830cfa6183268bae78ad6e47a6"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="toaplans" supported="no">
+ <description>Toaplan Shooting Battle 1 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00436" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="toaplan shooting battle 1 (japan) [slps-00436]" sha1="91fde43e231e970eed2cc836194a61ef94036c5c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- OK, some problems with sky gfx -->
+ <software name="tocatour" supported="no">
+ <description>Toca Touring Car Championship (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01410" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="toca touring car championship (japan) [slps-01410]" sha1="5b5e6cd3127d97290b2e50fc85271a63e32167e9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="tkpzldm" supported="no">
+ <description>Tokimeki Memorial - Taisen Puzzle-Dama (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86005" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial - taisen puzzle-dama (japan) [slpm-86005]" sha1="af0cf5a4891dacdf2b8a9fc4c423a4cebd0478f3"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2ev1" supported="no">
+ <description>Tokimeki Memorial 2 Emotional Voice System (Vol.1 - Kotoko-Miyuki-Kaedeko) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80527" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 emotional voice system (vol.1 - kotoko-miyuki-kaedeko) (japan) [slpm-80527]" sha1="86e134b8fc35cdb95bbe973db00d26d5e9685fa5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2ev2" supported="no">
+ <description>Tokimeki Memorial 2 Emotional Voice System (Vol.2 - Homura-Akane-Kaori) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80544" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 emotional voice system (vol.2 - homura-akane-kaori) (japan) [slpm-80544]" sha1="a14c4bd793988821bc164c28cb07aa7c5b777c70"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2ev3" supported="no">
+ <description>Tokimeki Memorial 2 Emotional Voice System (Vol.3 - Miho-Mei-Sumire) (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80550" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 emotional voice system (vol.3 - miho-mei-sumire) (japan) [slpm-80550]" sha1="f1da5b225d32d08e35d762f0e473dc12212190e5"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2s1" supported="no">
+ <description>Tokimeki Memorial 2 Substories Vol.1 - Dancing Summer Vacation (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86549, SLPM-86550" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.1 - dancing summer vacation (japan) (disc 1) [slpm-86549]" sha1="2e3a1cf926d541d319726780e333e4452bcad6d2"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.1 - dancing summer vacation (japan) (disc 2) [slpm-86550]" sha1="c9f5764527f7ee886b271d58e11ae1762dae9487"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2s2" supported="no">
+ <description>Tokimeki Memorial 2 Substories Vol.2 - Leaping School Festival (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86775, SLPM-86776" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.2 - leaping school festival (japan) (disc 1) [slpm-86775]" sha1="c12cec1dabaa0454a3e2fc2501a8ca776663f8ca"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.2 - leaping school festival (japan) (disc 2) [slpm-86776]" sha1="6dfa967ea7538df052214f1f4fa97a7e72b8a789"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <software name="tm2s3" supported="no">
+ <description>Tokimeki Memorial 2 SubStories Vol.3 - Memories Ringing on (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86881, SLPM-86882" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.3 - memories ringing on (japan) (disc 1) [slpm-86881]" sha1="020b0b0508873a7971696d280f674ea584f878ee"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial 2 substories vol.3 - memories ringing on (japan) (disc 2) [slpm-86882]" sha1="9ce4fb1e8eb408029999db6fc3e21fb9a5c4a599"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tmds1" supported="no">
+ <description>Tokimeki Memorial Drama Series Vol.1 - Nijiiro no Seishun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86360" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokimeki memorial drama series vol.1 - nijiiro no seishun (japan) [slpm-86360]" sha1="98eb42b63522767eabc51b18831784a314a2a289"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tokyomaj" supported="no">
+ <description>Tokyo Majin Gakuen Gehouchou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03333, SLPS-03334, SLPS-03335" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokyo majin gakuen gehouchou (japan) (disc 1) [slps-03333]" sha1="6abfc70fa77b71b0ace831241c39f0d7e75c70de"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokyo majin gakuen gehouchou (japan) (disc 2) [slps-03334]" sha1="e4fcb898d1c8543e7619fb1b3be7fe6a1c58f611"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tokyo majin gakuen gehouchou (japan) (disc 3) [slps-03335]" sha1="37ed2ab4ddce491aebdc47f5b27a0a0c9045f50a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="tomba" supported="no">
+ <description>Tomba! The Wild Adventures (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02350" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tomba! the wild adventures (japan) [slps-02350]" sha1="acfece1679d0479dc2b09f8c79e85b824b62148f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tomikato" supported="no">
+ <description>Tomikatown wo Tukurou! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01935" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tomikatown wo tukurou! (japan) [slps-01935]" sha1="4cd45ac3419e28c253439181621af08117533742"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hangs on now loading -->
+ <software name="topoloja" supported="no">
+ <description>ToPoLo (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00620" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="topolo (japan) [slps-00620]" sha1="db3965252975965ce3a2f2c88bfcf9831d60bb3d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after company logos -->
+ <software name="toshcard" supported="no">
+ <description>Toshinden Card Quest (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01113" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="toshinden card quest (japan) [slps-01113]" sha1="f59b5c3d0b26e36f10a87101212a0fbe449881c4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="tougemax" supported="no">
+ <description>Touge Max G (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02361" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="touge max g (japan) [slps-02361]" sha1="107723f2625e1ffeeec506095e2debeb8f9a4f40"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="toukiden" supported="no">
+ <description>Touki Denshou - Angel Eyes (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01168" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="touki denshou - angel eyes (japan) [slps-01168]" sha1="d44412b55ced4509c52600ce3f03f351273c80b2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="toyotane" supported="no">
+ <description>Toyota Netz Racing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-80429" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="toyota netz racing (japan) [slpm-80429]" sha1="a632ef86af6215d1102b77ecd6c7d3c2b2ac7888"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="toysdrea" supported="no">
+ <description>Toys Dream (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01704" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="toys dream (japan) [slps-01704]" sha1="e223f13764ba9c8ecc374e2cece8a8134ac3beab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="tripuzzj" supported="no">
+ <description>Tripuzz (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-0911" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tripuzz (japan) [slps-0911]" sha1="ee7b2282597dde183796d7a1b50994565e047f4d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="trumpshi" supported="no">
+ <description>Trump Shiyouyo! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01440" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="trump shiyouyo! (japan) [slps-01440]" sha1="721747d0cb09bfd034c98e77e4d0e9fdb423b2bc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tsuntsu2" supported="no">
+ <description>Tsun-tsun-gumi 2 - Moji Moji Bakkun (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01694" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tsun-tsun-gumi 2 - moji moji bakkun (japan) [slps-01694]" sha1="d9cfa2e7eb453fa8cc7e71a8a3744458b9c75f65"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tsuntsu3" supported="no">
+ <description>Tsun-tsun-gumi 3 - Kanji Vader (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01839" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tsun-tsun-gumi 3 - kanji vader (japan) [slps-01839]" sha1="14d4b2e789471d48bfd1531fa2261794fc3c8a49"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="tsuribak" supported="no">
+ <description>Tsuri Baka Nisshi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00440" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tsuri baka nisshi (japan) [slps-00440]" sha1="12220f9d5f69445a5325f10574288662ef9fe805"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="tvanimat" supported="no">
+ <description>TV Animation X - Unmei no Tatakai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03459" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="tv animation x - unmei no tatakai (japan) [slps-03459]" sha1="777e5789108e7323d1772e107004a125edbe1793"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="twingodd" supported="no">
+ <description>Twin Goddesses (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00018" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="twin goddesses (japan) [slps-00018]" sha1="b0e161e5401e7934a9bfca6cd146a707a55873b7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="twinbeet" supported="no">
+ <description>Twinbee Taisen Puzzle-Dama (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00015" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="twinbee taisen puzzle-dama (japan) [slps-00015]" sha1="09624887099039a7ba4a8c48b3054c0a31aa1593"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="twinbeer" supported="no">
+ <description>TwinBee-RPG (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86077" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="twinbee-rpg (japan) [slpm-86077]" sha1="2bc808a37c379e9d0bbc8f6ce360e3ba5d4ccbc4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="twinssto" supported="no">
+ <description>Twins Story (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02126" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="twins story (japan) [slps-02126]" sha1="b47aff290d6b8f15d91f917c7cad7ebe3b6bbce2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="twotenka" supported="no">
+ <description>Two-Tenkaku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00131" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="two-tenkaku (japan) [slps-00131]" sha1="67d1665bc4c4b88d079092e8b6935306c01cc55f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ufoadayi" supported="no">
+ <description>UFO - A Day in the Life (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02032" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ufo - a day in the life (japan) [slps-02032]" sha1="763494b165a8e724bf01f22cb450d25533374a46"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen, bad sounds -->
+ <software name="ugetsuki" supported="no">
+ <description>Ugetsu Kitan (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00391" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ugetsu kitan (japan) [slps-00391]" sha1="4f99481fc271e54d29f3b43c5ffa811f0370883d"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ukiukits" supported="no">
+ <description>Ukiuki Tsuri Tengoku - Uogami Densetsu wo Oe (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02579" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ukiuki tsuri tengoku - uogami densetsu wo oe (japan) [slps-02579]" sha1="fc253e72f9ed9c42cca4d3cfe6f3f37eee1fef40"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- stuck on sony logo -->
+ <software name="ultimaun" supported="no">
+ <description>Ultima Underworld - The Stygian Abyss (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00742" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ultima underworld - the stygian abyss (japan) [slps-00742]" sha1="34b52b3204ffc05ec09d7500c6a49534904c325b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ultraman" supported="no">
+ <description>Ultraman Tiga &amp; Dyna Fighting Evolution - New Generations (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01455" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ultraman tiga &amp; dyna fighting evolution - new generations (japan) [slps-01455]" sha1="85e0ada07cca5242f0944c64761f5d0b8cc5947a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ultramze" supported="no">
+ <description>Ultraman Zearth (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00652" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ultraman zearth (japan) [slps-00652]" sha1="131e8857b824f15e726a33f697a5228bbeca53d4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after company logos -->
+ <software name="uminonus" supported="no">
+ <description>Umi no Nushi Tsuri (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02172" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="umi no nushi tsuri (japan) [slps-02172]" sha1="2d2b713bec150fb6ad77f00925f9fc6255e70993"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="umiharak" supported="no">
+ <description>Umihara Kawase Shun - Second Edition (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02549" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="umihara kawase shun - second edition (japan) [slps-02549]" sha1="b7b3f8b5a7d70604bbbda8992cb5294bcae062c0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="ungrawal" supported="no">
+ <description>Ungra Walker (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87055" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="ungra walker (japan) [slpm-87055]" sha1="b9be7e6b3c343920f22975ff4aded3fe64479913"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="urawazam" supported="no">
+ <description>Urawaza Mahjong - Korette Tenhoutte Yatsukai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02807" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="urawaza mahjong - korette tenhoutte yatsukai (japan) [slps-02807]" sha1="0ec0b1ae7178923708b9bd0dd7b528b04e3e5929"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="vtennis2" supported="no">
+ <description>V-Tennis 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS 00469" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="v-tennis 2 (japan) [slps 00469]" sha1="8cc1c98882e5666f0c0b679b092c05a10f21d824"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, every other fmv frame broken -->
+ <software name="vampirek" supported="no">
+ <description>Vampire - Kyuuketsuki Densetsu (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01932" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="vampire - kyuuketsuki densetsu (japan) [slps-01932]" sha1="4554535c9450aaca9b665bc4e107df02d019c180"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="vehiclec" supported="no">
+ <description>Vehicle Cavalier (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00232" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="vehicle cavalier (japan) [slps-00232]" sha1="4785edf8784024c8610939bbd5456183b1ac97b0"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="victorys" supported="no">
+ <description>Victory Spike (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00372" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="victory spike (japan) [slps-00372]" sha1="73ba7739855c0aa622273817195c5b18c2e24e1b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after copyrights -->
+ <software name="victoryz" supported="no">
+ <description>Victory Zone (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10002" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="victory zone (japan) [scps-10002]" sha1="3b3af19ff840d8e8457f5fcbae12df442df7dab7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after memory card message -->
+ <software name="virtualh" supported="no">
+ <description>Virtual Hiyru no Ken (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00338" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="virtual hiyru no ken (japan) [slps-00338]" sha1="e8107cdfa679018f7a2e42d8899818cf84d5cc24"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="virtualk" supported="no">
+ <description>Virtual Kyotei '98 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01396" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="virtual kyotei '98 (japan) [slps-01396]" sha1="cd86798900c9152952a09b2429c73d5fb946f56b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="virtualp" supported="no">
+ <description>Virtual Pro Wrestling (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00449" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="virtual pro wrestling (japan) [slps-00449]" sha1="773aa0321fdcf427c1467a6fba4819a8790edf43"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="virus" supported="no">
+ <description>Virus - The Battle Field (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02008" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="virus - the battle field (japan) [slps-02008]" sha1="10b26082cca27a2a38d7d3f9fd9ec67a4ba1226c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="visionof" supported="no">
+ <description>Vision Of Escaflowne, The (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01014" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="vision of escaflowne, the (japan) [slps-01014]" sha1="e2aff66939883e90d6f48e4f6815138ad58e0f8c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hangs loading afte initial fmv -->
+ <software name="volfossj" supported="no">
+ <description>Volfoss (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03140" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="volfoss (japan) [slps-03140]" sha1="93622ab30cde9a2215eeacfea3f71a14bb04a724"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wagamama" supported="no">
+ <description>Wagamama Fairy Mirumo de Pon! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87220" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wagamama fairy mirumo de pon! (japan) [slpm-87220]" sha1="39794de6fc2e007219d38ea8577762d15d16be68"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wangantr" supported="no">
+ <description>Wangan Trial (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01213, SLPS-01214" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wangan trial (japan) (disc 1) [slps-01213]" sha1="532dacb1045f276d259660eb58a1052fe0aa2b07"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wangan trial (japan) (disc 2) [slps-01214]" sha1="8cf216a6e15f17d38af8d3d62c1950133568edfa"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="warerami" supported="no">
+ <description>Warera Mitsurin Tankentai!! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02658" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="warera mitsurin tankentai!! (japan) [slps-02658]" sha1="d5f11cc233a598923ff7cf6bf55d2ab938fb8870"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="watersum" supported="no">
+ <description>Water Summer (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87085" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="water summer (japan) [slpm-87085]" sha1="92205ee1de05e2fa068f4c32754538a542882e1c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="weddingp" supported="no">
+ <description>Wedding Peach - Doki Doki Oironaoshi Fashion Daisakuse (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00368" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wedding peach - doki doki oironaoshi fashion daisakuse (japan) [slps-00368]" sha1="ab00ab5a48ff26034ae75b279919c9d62036bcee"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- stuck on sony logo -->
+ <software name="welcomeh" supported="no">
+ <description>Welcome House</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="Welcome Hous" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="welcome house" sha1="0aa66eca197e87d56c0cc30c45dbdb311883d3d9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="weltorve" supported="no">
+ <description>Weltorv Estleia (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01887" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="weltorv estleia (japan) [slps-01887]" sha1="bd9ffb9138d7b99988c3ed5a67ab4f16d0b60c67"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="whitedia" supported="no">
+ <description>White Diamond (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02352" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="white diamond (japan) [slps-02352]" sha1="f3336e373dafd32fe3ea405893cca15e68789407"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- hangs / gets stuck on loading screen playing bad sound -->
+ <software name="wingover" supported="no">
+ <description>Wing Over (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00598" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wing over (japan) [slps-00598]" sha1="578d7820c4f176726b41b8fe7019d53df236ec6f"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wizardsh" supported="no">
+ <description>Wizard's Harmony R (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01716" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wizard's harmony r (japan) [slps-01716]" sha1="409ddf7102f7cbf3bc2468a09c506313985bd79a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wolffang" supported="no">
+ <description>Wolf Fang (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00254" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wolf fang (japan) [slps-00254]" sha1="f35457fbd7c5bb9cdc971001fff132699426fd98"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- some games work -->
+ <software name="wonder3a" supported="no">
+ <description>Wonder 3 Arcade Gears (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00927" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wonder 3 arcade gears (japan) [slps-00927]" sha1="2754dd2ee06bdd37de6050d0762718487cb4b7f7"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- crash MESS -->
+ <software name="wonderbc" supported="no">
+ <description>Wonder B-Cruise - Dogiborn Daisakusen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02322" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wonder b-cruise - dogiborn daisakusen (japan) [slps-02322]" sha1="88fbc9e59b900caacdb2169d35454b70297e0fc1"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wondertr" supported="no">
+ <description>Wonder Tracker (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SCPS-10072" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wonder tracker (japan) [scps-10072]" sha1="2ea9a9a1cc29c92947ddfc1e496aa9e4d28a9155"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="worldlea" supported="no">
+ <description>World League Soccer - Challenge Nippon! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02687" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="world league soccer - challenge nippon! (japan) [slps-02687]" sha1="9a28fa97a3490527d9fc709866b458897ea0abd9"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="worldnev" supported="no">
+ <description>World Neverland - Olerud Oukoku Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01037" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="world neverland - olerud oukoku monogatari (japan) [slps-01037]" sha1="e7f6c77d0aed49e4909d2942ab59177f8297d52e"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="worldpro" supported="no">
+ <description>World Pro Tennis '98 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01379" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="world pro tennis '98 (japan) [slps-01379]" sha1="4d5e591c02a98a0e4067d078abac82a5343cf458"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="wwfwrest" supported="no">
+ <description>WWF Wrestlemania - The Arcade Game (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00223" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="wwf wrestlemania - the arcade game (japan) [slps-00223]" sha1="11a8a3a895e76bca5523f9a127a1e7b012c49d14"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="xracingj" supported="no">
+ <description>X-Racing (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01063" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="x-racing (japan) [slps-01063]" sha1="1d686cab07068d1897d757a69cb1cec857260abd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, but invisible player sprite -->
+ <software name="x2noreli" supported="no">
+ <description>X2 - No Relief (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00766" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="x2 - no relief (japan) [slps-00766]" sha1="495db338a5be78c74186739a33d8d5a7fbb1abdd"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yakiniku" supported="no">
+ <description>Yakiniku Bugyou (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03209" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yakiniku bugyou (japan) [slps-03209]" sha1="8859de7ec162f6ab25786dcc02bf222d17900561"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yakitori" supported="no">
+ <description>Yakitori Musume - Sugo Ude Hanjouki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03435" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yakitori musume - sugo ude hanjouki (japan) [slps-03435]" sha1="4806aa844259fab12488cebb41a0cfbf9cbd1bab"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yamagaau" supported="no">
+ <description>Yamagata Digital Museum - Autumn (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01662" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yamagata digital museum - autumn (japan) [slps-01662]" sha1="99d972e45e140ed56fd5c5b9cba2421899a45261"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yamagasp" supported="no">
+ <description>Yamagata Digital Museum - Spring (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01581" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yamagata digital museum - spring (japan) [slps-01581]" sha1="5f00aab4d66eced05a9d81f1927d34717b651e8a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yamagasu" supported="no">
+ <description>Yamagata Digital Museum - Summer (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01661" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yamagata digital museum - summer (japan) [slps-01661]" sha1="4fd117c6078edd960b263a2f8106b0ff4c271978"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yamagawi" supported="no">
+ <description>Yamagata Digital Museum - Winter (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01663" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yamagata digital museum - winter (japan) [slps-01663]" sha1="f1dcdaed4ef1299a4239e3baccb77b462657a746"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yasoukyo" supported="no">
+ <description>Yasoukyoku 2 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03213" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yasoukyoku 2 (japan) [slps-03213]" sha1="2469c7c6d8d69835aae534b91c59b03aa4d2dd96"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="yoshimot" supported="no">
+ <description>Yoshimoto Muchicco Daikessen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02308" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yoshimoto muchicco daikessen (japan) [slps-02308]" sha1="28282bbd8f340f34fe724391ab4d54db4223dbea"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="youkaiha" supported="no">
+ <description>Youkai Hanaasobi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86857" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="youkai hanaasobi (japan) [slpm-86857]" sha1="5eec9e69a748f3a959126a17489add6a8690ec10"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="yugiohmo" supported="no">
+ <description>Yu-Gi-Oh! Monster Capsule Breed &amp; Battle (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86096" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yu-gi-oh! monster capsule breed &amp; battle (japan) [slpm-86096]" sha1="fcf30c3e44a5072adbac0dc89b7c705001e2d694"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="yukinkob" supported="no">
+ <description>Yukinko Burning (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-87013" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yukinko burning (japan) [slpm-87013]" sha1="89f2e1a1b4f1e11d60606f7ddf7f1bd123938bd4"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- white screen after initial menus -->
+ <software name="yumenots" supported="no">
+ <description>Yume no Tsubasa (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02954" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yume no tsubasa (japan) [slps-02954]" sha1="6d938d31998fa072fb1e24cfcfe5b5b2e2dbee13"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="yumeiroi" supported="no">
+ <description>Yume-Iroiro (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01401" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yume-iroiro (japan) [slps-01401]" sha1="5681b39e06a23944bea244f7edacae3337bd1274"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="yuugenga" supported="no">
+ <description>Yuugen Gaisha Chikyuu Boueitai - Earth Defenders Corporation (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02024" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yuugen gaisha chikyuu boueitai - earth defenders corporation (japan) [slps-02024]" sha1="34f2ae1cd241e5bfe494ee3f1d8545e00d303010"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, bad fmv every other frame -->
+ <software name="yuukyuun" supported="no">
+ <description>Yuukyuu no Eden - The Eternal Eden (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01928" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yuukyuu no eden - the eternal eden (japan) [slps-01928]" sha1="9ee5df0a79719b8c0a6fbd0c4094d5872f5b5efb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok, hang on loading screen after first menu -->
+ <software name="yuuyamid" supported="no">
+ <description>Yuuyami Doori Tankentai (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02274" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="yuuyami doori tankentai (japan) [slps-02274]" sha1="0095182e3afff14f46754bef192427930b252152"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="zapsnowb" supported="no">
+ <description>Zap! Snowboarding Trix '98 (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00909" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zap! snowboarding trix '98 (japan) [slps-00909]" sha1="ef10c209ea83250aec690bdfeae0fb3182888099"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="zeiramzo" supported="no">
+ <description>Zeiramzone (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00575" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zeiramzone (japan) [slps-00575]" sha1="34415b4c79871300147eac45b11aa82b75af2fe2"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after company logos -->
+ <software name="zeitgeis" supported="no">
+ <description>Zeitgeist (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00034" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zeitgeist (japan) [slps-00034]" sha1="e748638065f2b3e5fc706465ca28b195bf139f0c"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="zennippo" supported="no">
+ <description>Zen-Nippon Joshi Pro Wrestling - Joou Densetsu Yume no Taikousen (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01475" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zen-nippon joshi pro wrestling - joou densetsu yume no taikousen (japan) [slps-01475]" sha1="c7f0dff7003e36f248a8315d891f641d81ea04bb"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen -->
+ <software name="zennipok" supported="no">
+ <description>Zen-Nippon Pro-Wrestling - Ouja no Kon (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01849" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zen-nippon pro-wrestling - ouja no kon (japan) [slps-01849]" sha1="78822a4e3c9c9eac043e8c875f9ab05014d71f67"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zero4cha" supported="no">
+ <description>Zero 4 Champ Doozy-J (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00755" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zero 4 champ doozy-j (japan) [slps-00755]" sha1="e559ec8882efe4b0aecc13dbcdb9d1cfed9c0830"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zigzagba" supported="no">
+ <description>Zig Zag Ball (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01483" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zig zag ball (japan) [slps-01483]" sha1="fe8508753bea27862d6bdf1ab3e977563c8c83fc"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zipangut" supported="no">
+ <description>Zipangutou - Unmei wa Saikoro ga Kimeru! (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02260" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zipangutou - unmei wa saikoro ga kimeru! (japan) [slps-02260]" sha1="f699ad7fc3fef9ce9d7078e7f20cb88b81fc498a"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after logos -->
+ <software name="zoidsbat" supported="no">
+ <description>Zoids - Battle Card Game - Seihou Tairiku Senki (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03255" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoids - battle card game - seihou tairiku senki (japan) [slps-03255]" sha1="68ebbc8ecda14028067d1ac0597011d106393396"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zoidstei" supported="no">
+ <description>Zoids - Teikoku vs. Kyouwakoku - Meka Seitai no Idenshi (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-02982" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoids - teikoku vs. kyouwakoku - meka seitai no idenshi (japan) [slps-02982]" sha1="052fc27f0a6fe17f7d0f70709941dbbdd8a7f53b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zoids2" supported="no">
+ <description>Zoids 2 - Heric Kyouwakoku vs. Guylos Teikoku (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-03389" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoids 2 - heric kyouwakoku vs. guylos teikoku (japan) [slps-03389]" sha1="3f51b392295f14ceeedb81b8bb2464c2e29fc6ed"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zokuhats" supported="no">
+ <description>Zoku Hatsukoi Monogatari (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-01326, SLPS-01327, SLPS-01328, SLPS-01329" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom1" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoku hatsukoi monogatari (japan) (disc 1) [slps-01326]" sha1="56f4bbd6dfc139e12aac326f0e6e713d94b58ab4"/>
+ </diskarea>
+ </part>
+ <part name="cdrom2" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoku hatsukoi monogatari (japan) (disc 2) [slps-01327]" sha1="086d132d1b6231e0bf558ac67831cb73769e96cd"/>
+ </diskarea>
+ </part>
+ <part name="cdrom3" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoku hatsukoi monogatari (japan) (disc 3) [slps-01328]" sha1="af2449dadfc6982ff395a20af188d5d4e7904abd"/>
+ </diskarea>
+ </part>
+ <part name="cdrom4" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zoku hatsukoi monogatari (japan) (disc 4) [slps-01329]" sha1="daa38f1858d31f0f8faad5ac6cc9f06f731f6cff"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- black screen after company logos -->
+ <software name="zorkithe" supported="no">
+ <description>Zork I - The Great Underground Empire (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00271" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zork i - the great underground empire (japan) [slps-00271]" sha1="010b72e2b4cfd970fa47d919e70c172f5765aa8b"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK -->
+ <software name="zuttoiss" supported="no">
+ <description>Zutto Issho With Me Everytime (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPM-86523" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zutto issho with me everytime (japan) [slpm-86523]" sha1="c6b9f923f17efa3cc53bbc74491c047aca1b39bf"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot OK, but controls stop working -->
+ <software name="zxedlege" supported="no">
+ <description>Zxe-D - Legend of Plasmalite (Japan)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <info name="serial" value="SLPS-00424" />
+ <sharedfeat name="compatibility" value="NTSC-J"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="zxe-d - legend of plasmalite (japan) [slps-00424]" sha1="9f7037eb869807b53848d418e94d74c9088d2473"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- Non-redump PAL (Europe) -->
+
+ <!-- corrupt text -->
+ <software name="firebugs" supported="partial">
+ <description>Firebugs (Europe)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <!-- <info name="serial" value="" /> -->
+ <sharedfeat name="compatibility" value="PAL-E"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="firebugs (e)" sha1="763f232c64d2fa7091c3c6f8eed13686f636da49"/>
+ </diskarea>
+ </part>
+ </software>
+
+ <!-- boot ok -->
+ <software name="terracon" supported="yes">
+ <description>Terracon (Europe)</description>
+ <year>199?</year>
+ <publisher>&lt;unknown&gt;</publisher>
+ <!-- <info name="serial" value="" /> -->
+ <sharedfeat name="compatibility" value="PAL-E"/>
+ <part name="cdrom" interface="psx_cdrom">
+ <diskarea name="cdrom">
+ <disk name="terracon_pal" sha1="06f1e225c8e214cb7717d5a131a0c6ed9f53a42b"/>
+ </diskarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/hash/tek4052_cart.xml b/hash/tek4052_cart.xml
index 5c5903a74a1..3bf08183eb3 100644
--- a/hash/tek4052_cart.xml
+++ b/hash/tek4052_cart.xml
@@ -15,7 +15,7 @@
</dataarea>
</part>
</software>
-
+
<software name="sp1">
<description>Signal Processing No. 1</description>
<year>198?</year>
@@ -28,7 +28,7 @@
</dataarea>
</part>
</software>
-
+
<software name="sp2">
<description>Signal Processing No. 2 (FFT)</description>
<year>198?</year>
@@ -56,7 +56,7 @@
</dataarea>
</part>
</software>
-
+
<software name="da">
<description>D/A Converter</description>
<year>198?</year>
diff --git a/hash/to770_cart.xml b/hash/to770_cart.xml
index 8ccd83915a7..b098d3bfd11 100644
--- a/hash/to770_cart.xml
+++ b/hash/to770_cart.xml
@@ -14,5 +14,5 @@
</dataarea>
</part>
</software>
-
+
</softwarelist>
diff --git a/hash/to7_cart.xml b/hash/to7_cart.xml
index e29009a7471..89ef26205d4 100644
--- a/hash/to7_cart.xml
+++ b/hash/to7_cart.xml
@@ -14,7 +14,7 @@
</dataarea>
</part>
</software>
-
+
<software name="6809ass1" cloneof="6809ass2">
<description>6809 Assembler v1.0</description>
<year>1984</year>
@@ -26,7 +26,7 @@
</dataarea>
</part>
</software>
-
+
<software name="airbus">
<description>Airbus</description>
<year>1984</year>
@@ -38,7 +38,7 @@
</dataarea>
</part>
</software>
-
+
<software name="atomium">
<description>Atomium</description>
<year>1982</year>
@@ -50,7 +50,7 @@
</dataarea>
</part>
</software>
-
+
<software name="basic">
<description>BASIC v1.0</description>
<year>1982</year>
@@ -62,7 +62,7 @@
</dataarea>
</part>
</software>
-
+
<software name="blitz">
<description>Blitz</description>
<year>1984</year>
@@ -74,7 +74,7 @@
</dataarea>
</part>
</software>
-
+
<software name="caractr2">
<description>Caractor II</description>
<year>1984</year>
@@ -86,7 +86,7 @@
</dataarea>
</part>
</software>
-
+
<software name="caractor">
<description>Caractor</description>
<year>1983</year>
@@ -98,7 +98,7 @@
</dataarea>
</part>
</software>
-
+
<software name="choplift">
<description>Choplifter</description>
<year>1982</year>
@@ -110,7 +110,7 @@
</dataarea>
</part>
</software>
-
+
<software name="clrpaint">
<description>Colorpaint</description>
<year>1985</year>
@@ -122,7 +122,7 @@
</dataarea>
</part>
</software>
-
+
<software name="controle">
<description>Controle Aerien</description>
<year>1984</year>
@@ -134,7 +134,7 @@
</dataarea>
</part>
</software>
-
+
<software name="crypto">
<description>Crypto</description>
<year>1982</year>
@@ -158,7 +158,7 @@
</dataarea>
</part>
</software>
-
+
<software name="gemini">
<description>Gemini</description>
<year>1982</year>
@@ -169,8 +169,8 @@
<rom name="gemini (1982)(vifi-nathan)(fr).m7" size="4096" crc="c20c1d82" sha1="92ee16ef7d14b241e8df390b0e6192810a8eda40" offset="0x0000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="gerfiche">
<description>Gerez vos Fiches</description>
<year>1983</year>
@@ -181,8 +181,8 @@
<rom name="gerez vos fiches (1983)(answare)(fr).m7" size="8192" crc="e9dacb6b" sha1="a83ffd9e28387e57aaf5acf4e7294c045c1e4c7f" offset="0x0000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="gerteque">
<description>Gerez Votre Bibliotheque-Discotheque-Videotheque</description>
<year>1983</year>
@@ -193,8 +193,8 @@
<rom name="gerez votre bibliotheque-discotheque-videotheque (1983)(answare)(fr).m7" size="8192" crc="cb6f0f85" sha1="56ce86e414a7debdadac4a416bad4c70d289be95" offset="0x0000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="chiflett">
<description>Les Chiffres et les Lettres</description>
<year>198?</year>
@@ -206,7 +206,7 @@
</dataarea>
</part>
</software>
-
+
<software name="logicod">
<description>Logicod</description>
<year>1982</year>
@@ -218,7 +218,7 @@
</dataarea>
</part>
</software>
-
+
<software name="logo">
<description>LOGO v1.0</description>
<year>1984</year>
@@ -230,7 +230,7 @@
</dataarea>
</part>
</software>
-
+
<software name="melodia">
<description>Melodia</description>
<year>1982</year>
@@ -266,7 +266,7 @@
</dataarea>
</part>
</software>
-
+
<software name="pictor">
<description>Pictor</description>
<year>1982</year>
@@ -278,7 +278,7 @@
</dataarea>
</part>
</software>
-
+
<software name="prolog">
<description>Prolog v1.0</description>
<year>1986</year>
@@ -290,7 +290,7 @@
</dataarea>
</part>
</software>
-
+
<software name="quest">
<description>Quest</description>
<year>1983</year>
@@ -302,7 +302,7 @@
</dataarea>
</part>
</software>
-
+
<software name="scriptor">
<description>Scriptor</description>
<year>1984</year>
@@ -314,7 +314,7 @@
</dataarea>
</part>
</software>
-
+
<software name="threshld">
<description>Threshold</description>
<year>1984</year>
diff --git a/hash/vic1001_cass.xml b/hash/vic1001_cass.xml
index 4c634e8572f..adf4ab3ad8d 100644
--- a/hash/vic1001_cass.xml
+++ b/hash/vic1001_cass.xml
@@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!-- based on vic20tapes.org dumps -->
<softwarelist name="vic1001_cass" description="Commodore VIC-1001 / VIC-20 cassettes">
-
+
<software name="3dmaze">
<description>3D Maze</description>
<year>1984</year>
diff --git a/src/emu/cpu/arm7/arm7core.h b/src/emu/cpu/arm7/arm7core.h
index 73dcd4d5593..8c803237065 100644
--- a/src/emu/cpu/arm7/arm7core.h
+++ b/src/emu/cpu/arm7/arm7core.h
@@ -93,7 +93,7 @@ enum
};
/* Coprocessor-related macros */
-#define COPRO_TLB_BASE arm->tlbBase
+#define COPRO_TLB_BASE arm->tlbBase
#define COPRO_TLB_BASE_MASK 0xffffc000
#define COPRO_TLB_VADDR_FLTI_MASK 0xfff00000
#define COPRO_TLB_VADDR_FLTI_MASK_SHIFT 18
@@ -117,7 +117,7 @@ enum
#define COPRO_TLB_SECTION_TABLE 2
#define COPRO_TLB_FINE_TABLE 3
-#define COPRO_CTRL arm->control
+#define COPRO_CTRL arm->control
#define COPRO_CTRL_MMU_EN 0x00000001
#define COPRO_CTRL_ADDRFAULT_EN 0x00000002
#define COPRO_CTRL_DCACHE_EN 0x00000004
@@ -143,12 +143,12 @@ enum
#define COPRO_DOMAIN_ACCESS_CONTROL arm->domainAccessControl
-#define COPRO_FAULT_STATUS_D arm->faultStatus[0]
-#define COPRO_FAULT_STATUS_P arm->faultStatus[1]
+#define COPRO_FAULT_STATUS_D arm->faultStatus[0]
+#define COPRO_FAULT_STATUS_P arm->faultStatus[1]
-#define COPRO_FAULT_ADDRESS arm->faultAddress
+#define COPRO_FAULT_ADDRESS arm->faultAddress
-#define COPRO_FCSE_PID arm->fcsePID
+#define COPRO_FCSE_PID arm->fcsePID
/* Coprocessor Registers */
#define ARM7COPRO_REGS \
diff --git a/src/emu/cpu/arm7/arm7drc.c b/src/emu/cpu/arm7/arm7drc.c
index 858173f88a5..26ead621a2b 100644
--- a/src/emu/cpu/arm7/arm7drc.c
+++ b/src/emu/cpu/arm7/arm7drc.c
@@ -120,7 +120,7 @@ struct arm7imp_state
/* core state */
drc_cache * cache; /* pointer to the DRC code cache */
drcuml_state * drcuml; /* DRC UML generator state */
- arm7_frontend * drcfe; /* pointer to the DRC front-end state */
+ arm7_frontend * drcfe; /* pointer to the DRC front-end state */
UINT32 drcoptions; /* configurable DRC options */
/* internal stuff */
@@ -143,13 +143,13 @@ struct arm7imp_state
code_handle * out_of_cycles; /* out of cycles exception handler */
code_handle * tlb_translate; /* tlb translation handler */
code_handle * detect_fault; /* tlb fault detection handler */
- code_handle * check_irq; /* irq check handler */
- code_handle * read8; /* read byte */
- code_handle * write8; /* write byte */
- code_handle * read16; /* read half */
- code_handle * write16; /* write half */
- code_handle * read32; /* read word */
- code_handle * write32; /* write word */
+ code_handle * check_irq; /* irq check handler */
+ code_handle * read8; /* read byte */
+ code_handle * write8; /* write byte */
+ code_handle * read16; /* read half */
+ code_handle * write16; /* write half */
+ code_handle * read32; /* read word */
+ code_handle * write32; /* write word */
/* fast RAM */
UINT32 fastram_select;
@@ -335,15 +335,15 @@ static void arm7_init(arm7_flavor flavor, int bigendian, legacy_cpu_device *devi
{
arm->impstate->drcuml->get_backend_info(beinfo);
if (beinfo.direct_iregs > 4)
- { // PC
+ { // PC
arm->impstate->regmap[eR15] = I4;
}
if (beinfo.direct_iregs > 5)
- { // Status
+ { // Status
arm->impstate->regmap[eCPSR] = I5;
}
if (beinfo.direct_iregs > 6)
- { // SP
+ { // SP
arm->impstate->regmap[eR13] = I6;
}
}
@@ -1340,8 +1340,8 @@ static void code_compile_block(arm_state *arm, UINT8 mode, offs_t pc)
/* if the last instruction can change modes, use a variable mode; otherwise, assume the same mode */
/*if (seqlast->flags & OPFLAG_CAN_CHANGE_MODES)
- UML_HASHJMP(block, mem(&arm->impstate->mode), nextpc, *arm->impstate->nocode);
- // hashjmp <mode>,nextpc,nocode
+ UML_HASHJMP(block, mem(&arm->impstate->mode), nextpc, *arm->impstate->nocode);
+ // hashjmp <mode>,nextpc,nocode
else*/ if (seqlast->next() == NULL || seqlast->next()->pc != nextpc)
UML_HASHJMP(block, arm->impstate->mode, nextpc, *arm->impstate->nocode);
// hashjmp <mode>,nextpc,nocode
@@ -1422,7 +1422,7 @@ static void static_generate_entry_point(arm_state *arm)
alloc_handle(drcuml, &arm->impstate->tlb_translate, "tlb_translate");
alloc_handle(drcuml, &arm->impstate->entry, "entry");
- UML_HANDLE(block, *arm->impstate->entry); // handle entry
+ UML_HANDLE(block, *arm->impstate->entry); // handle entry
/* load fast integer registers */
load_fast_iregs(arm, block);
@@ -1430,7 +1430,7 @@ static void static_generate_entry_point(arm_state *arm)
UML_CALLH(block, *arm->impstate->check_irq);
/* generate a hash jump via the current mode and PC */
- UML_HASHJMP(block, 0, mem(&arm->pc), *arm->impstate->nocode); // hashjmp 0,<pc>,nocode
+ UML_HASHJMP(block, 0, mem(&arm->pc), *arm->impstate->nocode); // hashjmp 0,<pc>,nocode
block->end();
}
@@ -1458,7 +1458,7 @@ static void static_generate_check_irq(arm_state *arm)
/* generate a hash jump via the current mode and PC */
alloc_handle(drcuml, &arm->impstate->check_irq, "check_irq");
- UML_HANDLE(block, *arm->impstate->check_irq); // handle check_irq
+ UML_HANDLE(block, *arm->impstate->check_irq); // handle check_irq
/* Exception priorities:
Reset
@@ -1470,135 +1470,135 @@ static void static_generate_check_irq(arm_state *arm)
Software Interrupt
*/
- UML_ADD(block, I0, mem(&R15), 4); // add i0, PC, 4 ;insn pc
+ UML_ADD(block, I0, mem(&R15), 4); // add i0, PC, 4 ;insn pc
// Data Abort
- UML_TEST(block, mem(&arm->pendingAbtD, 1); // test pendingAbtD, 1
- UML_JMPc(block, COND_Z, nodabt = label++); // jmpz nodabt
-
- UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_ABT, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_ABT, 0, MODE_FLAG
- UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&GET_CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x00000010); // mov PC, 0x10 (Data Abort vector address)
- UML_MOV(block, mem(&arm->pendingAbtD, 0); // mov pendingAbtD, 0
- UML_JMP(block, irqadjust = label++); // jmp irqadjust
+ UML_TEST(block, mem(&arm->pendingAbtD, 1); // test pendingAbtD, 1
+ UML_JMPc(block, COND_Z, nodabt = label++); // jmpz nodabt
+
+ UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_ABT, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_ABT, 0, MODE_FLAG
+ UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&GET_CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x00000010); // mov PC, 0x10 (Data Abort vector address)
+ UML_MOV(block, mem(&arm->pendingAbtD, 0); // mov pendingAbtD, 0
+ UML_JMP(block, irqadjust = label++); // jmp irqadjust
UML_LABEL(block, nodabt); // nodabt:
// FIQ
- UML_TEST(block, mem(&arm->pendingFiq, 1); // test pendingFiq, 1
- UML_JMPc(block, COND_Z, nofiq = label++); // jmpz nofiq
- UML_TEST(block, mem(&GET_CPSR), F_MASK); // test CPSR, F_MASK
- UML_JMPc(block, COND_Z, nofiq); // jmpz nofiq
+ UML_TEST(block, mem(&arm->pendingFiq, 1); // test pendingFiq, 1
+ UML_JMPc(block, COND_Z, nofiq = label++); // jmpz nofiq
+ UML_TEST(block, mem(&GET_CPSR), F_MASK); // test CPSR, F_MASK
+ UML_JMPc(block, COND_Z, nofiq); // jmpz nofiq
- UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK | F_MASK); // or CPSR, CPSR, I_MASK | F_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x0000001c); // mov PC, 0x1c (FIQ vector address)
- UML_MOV(block, mem(&arm->pendingFiq, 0); // mov pendingFiq, 0
- UML_JMP(block, irqadjust); // jmp irqadjust
+ UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK | F_MASK); // or CPSR, CPSR, I_MASK | F_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x0000001c); // mov PC, 0x1c (FIQ vector address)
+ UML_MOV(block, mem(&arm->pendingFiq, 0); // mov pendingFiq, 0
+ UML_JMP(block, irqadjust); // jmp irqadjust
- UML_LABEL(block, nofiq); // nofiq:
+ UML_LABEL(block, nofiq); // nofiq:
// IRQ
- UML_TEST(block, mem(&arm->pendingIrq, 1); // test pendingIrq, 1
- UML_JMPc(block, COND_Z, noirq = label++); // jmpz noirq
- UML_TEST(block, mem(&GET_CPSR), I_MASK); // test CPSR, I_MASK
- UML_JMPc(block, COND_Z, noirq); // jmpz noirq
-
- UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
- UML_TEST(block, mem(&GET_CPSR), SR_MODE32); // test CPSR, MODE32
- UML_JMPc(block, COND_NZ, irq32 = label++); // jmpnz irq32
- UML_AND(block, I1, I0, 0xf4000000); // and i1, i0, 0xf4000000
- UML_OR(block, mem(&R15), I1, 0x0800001a); // or PC, i1, 0x0800001a
- UML_AND(block, I1, mem(&GET_CPSR), 0x0fffff3f); // and i1, CPSR, 0x0fffff3f
- UML_ROLAND(block, I0, mem(&R15), 32-20, 0x0000000c); // roland i0, R15, 32-20, 0x0000000c
- UML_ROLINS(block, I0, mem(&R15), 0, 0xf0000000); // rolins i0, R15, 0, 0xf0000000
- UML_OR(block, mem(&GET_CPSR), I0, I1); // or CPSR, i0, i1
- UML_JMP(block, irqadjust); // jmp irqadjust
-
- UML_LABEL(block, irq32); // irq32:
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x00000018); // mov PC, 0x18 (IRQ vector address)
-
- UML_JMP(block, irqadjust); // jmp irqadjust
-
- UML_LABEL(block, noirq); // noirq:
+ UML_TEST(block, mem(&arm->pendingIrq, 1); // test pendingIrq, 1
+ UML_JMPc(block, COND_Z, noirq = label++); // jmpz noirq
+ UML_TEST(block, mem(&GET_CPSR), I_MASK); // test CPSR, I_MASK
+ UML_JMPc(block, COND_Z, noirq); // jmpz noirq
+
+ UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
+ UML_TEST(block, mem(&GET_CPSR), SR_MODE32); // test CPSR, MODE32
+ UML_JMPc(block, COND_NZ, irq32 = label++); // jmpnz irq32
+ UML_AND(block, I1, I0, 0xf4000000); // and i1, i0, 0xf4000000
+ UML_OR(block, mem(&R15), I1, 0x0800001a); // or PC, i1, 0x0800001a
+ UML_AND(block, I1, mem(&GET_CPSR), 0x0fffff3f); // and i1, CPSR, 0x0fffff3f
+ UML_ROLAND(block, I0, mem(&R15), 32-20, 0x0000000c); // roland i0, R15, 32-20, 0x0000000c
+ UML_ROLINS(block, I0, mem(&R15), 0, 0xf0000000); // rolins i0, R15, 0, 0xf0000000
+ UML_OR(block, mem(&GET_CPSR), I0, I1); // or CPSR, i0, i1
+ UML_JMP(block, irqadjust); // jmp irqadjust
+
+ UML_LABEL(block, irq32); // irq32:
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x00000018); // mov PC, 0x18 (IRQ vector address)
+
+ UML_JMP(block, irqadjust); // jmp irqadjust
+
+ UML_LABEL(block, noirq); // noirq:
// Prefetch Abort
- UML_TEST(block, mem(&arm->pendingAbtP, 1); // test pendingAbtP, 1
- UML_JMPc(block, COND_Z, nopabt = label++); // jmpz nopabt
-
- UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_ABT, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_ABT, 0, MODE_FLAG
- UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x0000000c); // mov PC, 0x0c (Prefetch Abort vector address)
- UML_MOV(block, mem(&arm->pendingAbtP, 0); // mov pendingAbtP, 0
- UML_JMP(block, irqadjust); // jmp irqadjust
+ UML_TEST(block, mem(&arm->pendingAbtP, 1); // test pendingAbtP, 1
+ UML_JMPc(block, COND_Z, nopabt = label++); // jmpz nopabt
+
+ UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_ABT, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_ABT, 0, MODE_FLAG
+ UML_MOV(block, mem(&GET_REGISTER(arm, 14)), I0); // mov LR, i0
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x0000000c); // mov PC, 0x0c (Prefetch Abort vector address)
+ UML_MOV(block, mem(&arm->pendingAbtP, 0); // mov pendingAbtP, 0
+ UML_JMP(block, irqadjust); // jmp irqadjust
UML_LABEL(block, nopabt); // nopabt:
// Undefined instruction
- UML_TEST(block, mem(&arm->pendingUnd, 1); // test pendingUnd, 1
- UML_JMPc(block, COND_Z, nopabt = label++); // jmpz nound
-
- UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_UND, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_UND, 0, MODE_FLAG
- UML_MOV(block, I1, -4); // mov i1, -4
- UML_TEST(block, mem(&GET_CPSR), T_MASK); // test CPSR, T_MASK
- UML_MOVc(block, COND_NZ, I1, -2); // movnz i1, -2
- UML_ADD(block, mem(&GET_REGISTER(arm, 14)), I0, I1); // add LR, i0, i1
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x00000004); // mov PC, 0x0c (Undefined Insn vector address)
- UML_MOV(block, mem(&arm->pendingUnd, 0); // mov pendingUnd, 0
- UML_JMP(block, irqadjust); // jmp irqadjust
+ UML_TEST(block, mem(&arm->pendingUnd, 1); // test pendingUnd, 1
+ UML_JMPc(block, COND_Z, nopabt = label++); // jmpz nound
+
+ UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_UND, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_UND, 0, MODE_FLAG
+ UML_MOV(block, I1, -4); // mov i1, -4
+ UML_TEST(block, mem(&GET_CPSR), T_MASK); // test CPSR, T_MASK
+ UML_MOVc(block, COND_NZ, I1, -2); // movnz i1, -2
+ UML_ADD(block, mem(&GET_REGISTER(arm, 14)), I0, I1); // add LR, i0, i1
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x00000004); // mov PC, 0x0c (Undefined Insn vector address)
+ UML_MOV(block, mem(&arm->pendingUnd, 0); // mov pendingUnd, 0
+ UML_JMP(block, irqadjust); // jmp irqadjust
UML_LABEL(block, nopabt); // nopabt:
// Software Interrupt
- UML_TEST(block, mem(&arm->pendingSwi, 1); // test pendingSwi, 1
- UML_JMPc(block, COND_Z, done = label++); // jmpz done
-
- UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_SVC, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_SVC, 0, MODE_FLAG
- UML_MOV(block, I1, -4); // mov i1, -4
- UML_TEST(block, mem(&GET_CPSR), T_MASK); // test CPSR, T_MASK
- UML_MOVc(block, COND_NZ, I1, -2); // movnz i1, -2
- UML_ADD(block, mem(&GET_REGISTER(arm, 14)), I0, I1); // add LR, i0, i1
-
- UML_TEST(block, mem(&GET_CPSR), SR_MODE32); // test CPSR, MODE32
- UML_JMPc(block, COND_NZ, swi32 = label++); // jmpnz swi32
- UML_AND(block, I1, I0, 0xf4000000); // and i1, i0, 0xf4000000
- UML_OR(block, mem(&R15), I1, 0x0800001b); // or PC, i1, 0x0800001b
- UML_AND(block, I1, mem(&GET_CPSR), 0x0fffff3f); // and i1, CPSR, 0x0fffff3f
- UML_ROLAND(block, I0, mem(&R15), 32-20, 0x0000000c); // roland i0, R15, 32-20, 0x0000000c
- UML_ROLINS(block, I0, mem(&R15), 0, 0xf0000000); // rolins i0, R15, 0, 0xf0000000
- UML_OR(block, mem(&GET_CPSR), I0, I1); // or CPSR, i0, i1
- UML_MOV(block, mem(&arm->pendingSwi, 0); // mov pendingSwi, 0
- UML_JMP(block, irqadjust); // jmp irqadjust
-
- UML_LABEL(block, swi32); // irq32:
- UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
- UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
- UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
- UML_MOV(block, mem(&R15), 0x00000008); // mov PC, 0x08 (SWI vector address)
- UML_MOV(block, mem(&arm->pendingSwi, 0); // mov pendingSwi, 0
- UML_JMP(block, irqadjust); // jmp irqadjust
-
- UML_LABEL(block, irqadjust); // irqadjust:
- UML_MOV(block, I1, 0); // mov i1, 0
- UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN | COPRO_CTRL_INTVEC_ADJUST); // test COPRO_CTRL, MMU_EN | INTVEC_ADJUST
- UML_MOVc(block, COND_NZ, I1, 0xffff0000); // movnz i1, 0xffff0000
- UML_OR(block, mem(&R15), mem(R15), I1); // or PC, i1
-
- UML_LABEL(block, done); // done:
+ UML_TEST(block, mem(&arm->pendingSwi, 1); // test pendingSwi, 1
+ UML_JMPc(block, COND_Z, done = label++); // jmpz done
+
+ UML_ROLINS(block, mem(&GET_CPSR), eARM7_MODE_SVC, 0, MODE_FLAG) // rolins CPSR, eARM7_MODE_SVC, 0, MODE_FLAG
+ UML_MOV(block, I1, -4); // mov i1, -4
+ UML_TEST(block, mem(&GET_CPSR), T_MASK); // test CPSR, T_MASK
+ UML_MOVc(block, COND_NZ, I1, -2); // movnz i1, -2
+ UML_ADD(block, mem(&GET_REGISTER(arm, 14)), I0, I1); // add LR, i0, i1
+
+ UML_TEST(block, mem(&GET_CPSR), SR_MODE32); // test CPSR, MODE32
+ UML_JMPc(block, COND_NZ, swi32 = label++); // jmpnz swi32
+ UML_AND(block, I1, I0, 0xf4000000); // and i1, i0, 0xf4000000
+ UML_OR(block, mem(&R15), I1, 0x0800001b); // or PC, i1, 0x0800001b
+ UML_AND(block, I1, mem(&GET_CPSR), 0x0fffff3f); // and i1, CPSR, 0x0fffff3f
+ UML_ROLAND(block, I0, mem(&R15), 32-20, 0x0000000c); // roland i0, R15, 32-20, 0x0000000c
+ UML_ROLINS(block, I0, mem(&R15), 0, 0xf0000000); // rolins i0, R15, 0, 0xf0000000
+ UML_OR(block, mem(&GET_CPSR), I0, I1); // or CPSR, i0, i1
+ UML_MOV(block, mem(&arm->pendingSwi, 0); // mov pendingSwi, 0
+ UML_JMP(block, irqadjust); // jmp irqadjust
+
+ UML_LABEL(block, swi32); // irq32:
+ UML_MOV(block, mem(&GET_REGISTER(arm, SPSR)), mem(&GET_CPSR)); // mov SPSR, CPSR
+ UML_OR(block, mem(&GET_CPSR), mem(&GET_CPSR), I_MASK); // or CPSR, CPSR, I_MASK
+ UML_ROLAND(block, mem(&GET_CPSR), mem(&CPSR), 0, ~T_MASK); // roland CPSR, CPSR, 0, ~T_MASK
+ UML_MOV(block, mem(&R15), 0x00000008); // mov PC, 0x08 (SWI vector address)
+ UML_MOV(block, mem(&arm->pendingSwi, 0); // mov pendingSwi, 0
+ UML_JMP(block, irqadjust); // jmp irqadjust
+
+ UML_LABEL(block, irqadjust); // irqadjust:
+ UML_MOV(block, I1, 0); // mov i1, 0
+ UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN | COPRO_CTRL_INTVEC_ADJUST); // test COPRO_CTRL, MMU_EN | INTVEC_ADJUST
+ UML_MOVc(block, COND_NZ, I1, 0xffff0000); // movnz i1, 0xffff0000
+ UML_OR(block, mem(&R15), mem(R15), I1); // or PC, i1
+
+ UML_LABEL(block, done); // done:
block->end();
};
@@ -1620,7 +1620,7 @@ static void static_generate_nocode_handler(arm_state *arm)
alloc_handle(drcuml, &arm->impstate->nocode, "nocode");
UML_HANDLE(block, *arm->impstate->nocode); // handle nocode
UML_GETEXP(block, I0); // getexp i0
- UML_MOV(block, mem(&R15), I0); // mov [pc],i0
+ UML_MOV(block, mem(&R15), I0); // mov [pc],i0
save_fast_iregs(arm, block);
UML_EXIT(block, EXECUTE_MISSING_CODE); // exit EXECUTE_MISSING_CODE
@@ -1643,9 +1643,9 @@ static void static_generate_out_of_cycles(arm_state *arm)
/* generate a hash jump via the current mode and PC */
alloc_handle(drcuml, &arm->impstate->out_of_cycles, "out_of_cycles");
- UML_HANDLE(block, *arm->impstate->out_of_cycles); // handle out_of_cycles
+ UML_HANDLE(block, *arm->impstate->out_of_cycles); // handle out_of_cycles
UML_GETEXP(block, I0); // getexp i0
- UML_MOV(block, mem(&R15), I0); // mov <pc>,i0
+ UML_MOV(block, mem(&R15), I0); // mov <pc>,i0
save_fast_iregs(arm, block);
UML_EXIT(block, EXECUTE_OUT_OF_CYCLES); // exit EXECUTE_OUT_OF_CYCLES
@@ -1672,63 +1672,63 @@ static void static_generate_detect_fault(arm_state *arm, code_handle **handleptr
/* add a global entry for this */
alloc_handle(drcuml, &arm->impstate->detect_fault, "detect_fault");
- UML_HANDLE(block, *arm->impstate->detect_fault); // handle detect_fault
+ UML_HANDLE(block, *arm->impstate->detect_fault); // handle detect_fault
- UML_ROLAND(block, I6, I4, 32-4, 0x0f<<1); // roland i6, i4, 32-4, 0xf<<1
- UML_ROLAND(block, I6, mem(&COPRO_DOMAIN_ACCESS_CONTROL), I6, 3);// roland i6, COPRO_DOMAIN_ACCESS_CONTROL, i6, 3
+ UML_ROLAND(block, I6, I4, 32-4, 0x0f<<1); // roland i6, i4, 32-4, 0xf<<1
+ UML_ROLAND(block, I6, mem(&COPRO_DOMAIN_ACCESS_CONTROL), I6, 3);// roland i6, COPRO_DOMAIN_ACCESS_CONTROL, i6, 3
// if permission == 3, FAULT_NONE
- UML_CMP(block, I6, 3); // cmp i6, 3
- UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
- UML_JMPc(block, COND_E, donefault = label++); // jmpe donefault
+ UML_CMP(block, I6, 3); // cmp i6, 3
+ UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
+ UML_JMPc(block, COND_E, donefault = label++); // jmpe donefault
// if permission == 0 || permission == 2, FAULT_DOMAIN
- UML_CMP(block, I6, 1); // cmp i6, 1
- UML_MOVc(block, COND_NE, I6, FAULT_DOMAIN); // movne i6, FAULT_DOMAIN
- UML_JMPc(block, COND_NE, donefault); // jmpne donefault
+ UML_CMP(block, I6, 1); // cmp i6, 1
+ UML_MOVc(block, COND_NE, I6, FAULT_DOMAIN); // movne i6, FAULT_DOMAIN
+ UML_JMPc(block, COND_NE, donefault); // jmpne donefault
// if permission == 1
- UML_CMP(block, I5, 3); // cmp i5, 3
- UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
- UML_JMPc(block, COND_E, donefault); // jmpe donefault
- UML_CMP(block, I5, 0); // cmp i5, 1
- UML_JMPc(block, COND_NE, checkuser = label++); // jmpne checkuser
- UML_ROLAND(block, I6, mem(&COPRO_CTRL), // roland i6, COPRO_CTRL, 32 - COPRO_CTRL_SYSTEM_SHIFT,
- 32 - COPRO_CTRL_SYSTEM_SHIFT, // COPRO_CTRL_SYSTEM | COPRO_CTRL_ROM
+ UML_CMP(block, I5, 3); // cmp i5, 3
+ UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
+ UML_JMPc(block, COND_E, donefault); // jmpe donefault
+ UML_CMP(block, I5, 0); // cmp i5, 1
+ UML_JMPc(block, COND_NE, checkuser = label++); // jmpne checkuser
+ UML_ROLAND(block, I6, mem(&COPRO_CTRL), // roland i6, COPRO_CTRL, 32 - COPRO_CTRL_SYSTEM_SHIFT,
+ 32 - COPRO_CTRL_SYSTEM_SHIFT, // COPRO_CTRL_SYSTEM | COPRO_CTRL_ROM
COPRO_CTRL_SYSTEM | COPRO_CTRL_ROM);
// if s == 0 && r == 0, FAULT_PERMISSION
- UML_CMP(block, I6, 0); // cmp i6, 0
- UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
- UML_JMPc(block, COND_E, donefault); // jmpe donefault
+ UML_CMP(block, I6, 0); // cmp i6, 0
+ UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
+ UML_JMPc(block, COND_E, donefault); // jmpe donefault
// if s == 1 && r == 1, FAULT_PERMISSION
- UML_CMP(block, I6, 3); // cmp i6, 3
- UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
- UML_JMPc(block, COND_E, donefault); // jmpe donefault
+ UML_CMP(block, I6, 3); // cmp i6, 3
+ UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
+ UML_JMPc(block, COND_E, donefault); // jmpe donefault
// if flags & TLB_WRITE, FAULT_PERMISSION
- UML_TEST(block, I2, ARM7_TLB_WRITE); // test i2, ARM7_TLB_WRITE
- UML_MOVc(block, COND_NZ, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
- UML_JMPc(block, COND_NZ, donefault); // jmpe donefault
+ UML_TEST(block, I2, ARM7_TLB_WRITE); // test i2, ARM7_TLB_WRITE
+ UML_MOVc(block, COND_NZ, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
+ UML_JMPc(block, COND_NZ, donefault); // jmpe donefault
// if r == 1 && s == 0, FAULT_NONE
- UML_CMP(block, I6, 2); // cmp i6, 2
- UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
- UML_JMPc(block, COND_E, donefault); // jmpe donefault
- UML_AND(block, I6, mem(&GET_CPSR), MODE_FLAG); // and i6, GET_CPSR, MODE_FLAG
- UML_CMP(block, I6, eARM7_MODE_USER); // cmp i6, eARM7_MODE_USER
+ UML_CMP(block, I6, 2); // cmp i6, 2
+ UML_MOVc(block, COND_E, I6, FAULT_NONE); // move i6, FAULT_NONE
+ UML_JMPc(block, COND_E, donefault); // jmpe donefault
+ UML_AND(block, I6, mem(&GET_CPSR), MODE_FLAG); // and i6, GET_CPSR, MODE_FLAG
+ UML_CMP(block, I6, eARM7_MODE_USER); // cmp i6, eARM7_MODE_USER
// if r == 0 && s == 1 && usermode, FAULT_PERMISSION
- UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
- UML_MOVc(block, COND_NE, I6, FAULT_NONE); // movne i6, FAULT_NONE
- UML_JMP(block, donefault); // jmp donefault
+ UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
+ UML_MOVc(block, COND_NE, I6, FAULT_NONE); // movne i6, FAULT_NONE
+ UML_JMP(block, donefault); // jmp donefault
- UML_LABEL(block, checkuser); // checkuser:
+ UML_LABEL(block, checkuser); // checkuser:
// if !write, FAULT_NONE
- UML_TEST(block, I2, ARM7_TLB_WRITE); // test i2, ARM7_TLB_WRITE
- UML_MOVc(block, COND_Z, I6, FAULT_NONE); // movz i6, FAULT_NONE
- UML_JMPc(block, COND_Z, donefault); // jmp donefault
- UML_AND(block, I6, mem(&GET_CPSR), MODE_FLAG); // and i6, GET_CPSR, MODE_FLAG
- UML_CMP(block, I6, eARM7_MODE_USER); // cmp i6, eARM7_MODE_USER
- UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
- UML_MOVc(block, COND_NE, I6, FAULT_NONE); // move i6, FAULT_NONE
-
- UML_LABEL(block, donefault); // donefault:
- UML_RET(block); // ret
+ UML_TEST(block, I2, ARM7_TLB_WRITE); // test i2, ARM7_TLB_WRITE
+ UML_MOVc(block, COND_Z, I6, FAULT_NONE); // movz i6, FAULT_NONE
+ UML_JMPc(block, COND_Z, donefault); // jmp donefault
+ UML_AND(block, I6, mem(&GET_CPSR), MODE_FLAG); // and i6, GET_CPSR, MODE_FLAG
+ UML_CMP(block, I6, eARM7_MODE_USER); // cmp i6, eARM7_MODE_USER
+ UML_MOVc(block, COND_E, I6, FAULT_PERMISSION); // move i6, FAULT_PERMISSION
+ UML_MOVc(block, COND_NE, I6, FAULT_NONE); // move i6, FAULT_NONE
+
+ UML_LABEL(block, donefault); // donefault:
+ UML_RET(block); // ret
}
/*------------------------------------------------------------------
@@ -1761,179 +1761,179 @@ static void static_generate_tlb_translate(arm_state *arm, code_handle **handlept
block = drcuml->begin_block(170);
alloc_handle(drcuml, &arm->impstate->tlb_translate, "tlb_translate");
- UML_HANDLE(block, *arm->impstate->tlb_translate); // handle tlb_translate
+ UML_HANDLE(block, *arm->impstate->tlb_translate); // handle tlb_translate
// I3: vaddr
- UML_CMP(block, I0, 32 * 1024 * 1024); // cmp i0, 32*1024*1024
- UML_JMPc(block, COND_GE, nopid = label++); // jmpge nopid
- UML_AND(block, I3, mem(&COPRO_FCSE_PID), 0xfe000000); // and i3, COPRO_FCSE_PID, 0xfe000000
- UML_ADD(block, I3, I3, I0); // add i3, i3, i0
+ UML_CMP(block, I0, 32 * 1024 * 1024); // cmp i0, 32*1024*1024
+ UML_JMPc(block, COND_GE, nopid = label++); // jmpge nopid
+ UML_AND(block, I3, mem(&COPRO_FCSE_PID), 0xfe000000); // and i3, COPRO_FCSE_PID, 0xfe000000
+ UML_ADD(block, I3, I3, I0); // add i3, i3, i0
// I4: desc_lvl1
- UML_AND(block, I4, mem(&COPRO_TLB_BASE), COPRO_TLB_BASE_MASK); // and i4, COPRO_TLB_BASE, COPRO_TLB_BASE_MASK
- UML_ROLINS(block, I4, I3, 32 - COPRO_TLB_VADDR_FLTI_MASK_SHIFT, // rolins i4, i3, 32-COPRO_TLB_VADDR_FLTI_MASK_SHIFT,
- COPRO_TLB_VADDR_FLTI_MASK); // COPRO_TLB_VADDR_FLTI_MASK
- UML_READ(block, I4, I4, SIZE_DWORD, SPACE_PROGRAM); // read32 i4, i4, PROGRAM
+ UML_AND(block, I4, mem(&COPRO_TLB_BASE), COPRO_TLB_BASE_MASK); // and i4, COPRO_TLB_BASE, COPRO_TLB_BASE_MASK
+ UML_ROLINS(block, I4, I3, 32 - COPRO_TLB_VADDR_FLTI_MASK_SHIFT, // rolins i4, i3, 32-COPRO_TLB_VADDR_FLTI_MASK_SHIFT,
+ COPRO_TLB_VADDR_FLTI_MASK); // COPRO_TLB_VADDR_FLTI_MASK
+ UML_READ(block, I4, I4, SIZE_DWORD, SPACE_PROGRAM); // read32 i4, i4, PROGRAM
// I7: desc_lvl1 & 3
- UML_AND(block, I7, I4, 3); // and i7, i4, 3
+ UML_AND(block, I7, I4, 3); // and i7, i4, 3
- UML_CMP(block, I7, COPRO_TLB_UNMAPPED); // cmp i7, COPRO_TLB_UNMAPPED
- UML_JMPc(block, COND_NE, nounmapped = label++); // jmpne nounmapped
+ UML_CMP(block, I7, COPRO_TLB_UNMAPPED); // cmp i7, COPRO_TLB_UNMAPPED
+ UML_JMPc(block, COND_NE, nounmapped = label++); // jmpne nounmapped
// TLB Unmapped
- UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
- UML_MOVc(block, COND_E, mem(&COPRO_FAULT_STATUS_D), (5 << 0)); // move COPRO_FAULT_STATUS_D, (5 << 0)
- UML_MOVc(block, COND_E, mem(&COPRO_FAULT_ADDRESS), I3); // move COPRO_FAULT_ADDRESS, i3
- UML_MOVc(block, COND_E, mem(&arm->pendingAbtD), 1); // move pendingAbtD, 1
- UML_MOVc(block, COND_E, I2, 0); // move i2, 0
+ UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
+ UML_MOVc(block, COND_E, mem(&COPRO_FAULT_STATUS_D), (5 << 0)); // move COPRO_FAULT_STATUS_D, (5 << 0)
+ UML_MOVc(block, COND_E, mem(&COPRO_FAULT_ADDRESS), I3); // move COPRO_FAULT_ADDRESS, i3
+ UML_MOVc(block, COND_E, mem(&arm->pendingAbtD), 1); // move pendingAbtD, 1
+ UML_MOVc(block, COND_E, I2, 0); // move i2, 0
UML_RETc(block, COND_E); // rete
- UML_TEST(block, I2, ARM7_TLB_ABORT_P); // test i2, ARM7_TLB_ABORT_P
- UML_MOVc(block, COND_E, mem(&arm->pendingAbtP), 1); // move pendingAbtP, 1
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
+ UML_TEST(block, I2, ARM7_TLB_ABORT_P); // test i2, ARM7_TLB_ABORT_P
+ UML_MOVc(block, COND_E, mem(&arm->pendingAbtP), 1); // move pendingAbtP, 1
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
- UML_LABEL(block, nounmapped); // nounmapped:
- UML_CMP(block, I7, COPRO_TLB_COARSE_TABLE); // cmp i7, COPRO_TLB_COARSE_TABLE
- UML_JMPc(block, COND_NE, nocoarse = label++); // jmpne nocoarse
+ UML_LABEL(block, nounmapped); // nounmapped:
+ UML_CMP(block, I7, COPRO_TLB_COARSE_TABLE); // cmp i7, COPRO_TLB_COARSE_TABLE
+ UML_JMPc(block, COND_NE, nocoarse = label++); // jmpne nocoarse
- UML_ROLAND(block, I5, I4, 32-4, 0x0f<<1); // roland i5, i4, 32-4, 0xf<<1
- UML_ROLAND(block, I5, mem(&COPRO_DOMAIN_ACCESS_CONTROL), I5, 3);// roland i5, COPRO_DOMAIN_ACCESS_CONTROL, i5, 3
- UML_CMP(block, I5, 1); // cmp i5, 1
- UML_JMPc(block, COND_E, level2 = label++); // jmpe level2
- UML_CMP(block, I5, 3); // cmp i5, 3
- UML_JMPc(block, COND_NE, nofine = label++); // jmpne nofine
- UML_LABEL(block, level2); // level2:
+ UML_ROLAND(block, I5, I4, 32-4, 0x0f<<1); // roland i5, i4, 32-4, 0xf<<1
+ UML_ROLAND(block, I5, mem(&COPRO_DOMAIN_ACCESS_CONTROL), I5, 3);// roland i5, COPRO_DOMAIN_ACCESS_CONTROL, i5, 3
+ UML_CMP(block, I5, 1); // cmp i5, 1
+ UML_JMPc(block, COND_E, level2 = label++); // jmpe level2
+ UML_CMP(block, I5, 3); // cmp i5, 3
+ UML_JMPc(block, COND_NE, nofine = label++); // jmpne nofine
+ UML_LABEL(block, level2); // level2:
// I7: desc_level2
- UML_AND(block, I7, I4, COPRO_TLB_CFLD_ADDR_MASK); // and i7, i4, COPRO_TLB_CFLD_ADDR_MASK
- UML_ROLINS(block, I7, I3, 32 - COPRO_TLB_VADDR_CSLTI_MASK_SHIFT,// rolins i7, i3, 32 - COPRO_TLB_VADDR_CSLTI_MASK_SHIFT
- COPRO_TLB_VADDR_CSLTI_MASK); // COPRO_TLB_VADDR_CSLTI_MASK
- UML_READ(block, I7, I7, SIZE_DWORD, SPACE_PROGRAM); // read32 i7, i7, PROGRAM
- UML_JMP(block, nofine); // jmp nofine
+ UML_AND(block, I7, I4, COPRO_TLB_CFLD_ADDR_MASK); // and i7, i4, COPRO_TLB_CFLD_ADDR_MASK
+ UML_ROLINS(block, I7, I3, 32 - COPRO_TLB_VADDR_CSLTI_MASK_SHIFT,// rolins i7, i3, 32 - COPRO_TLB_VADDR_CSLTI_MASK_SHIFT
+ COPRO_TLB_VADDR_CSLTI_MASK); // COPRO_TLB_VADDR_CSLTI_MASK
+ UML_READ(block, I7, I7, SIZE_DWORD, SPACE_PROGRAM); // read32 i7, i7, PROGRAM
+ UML_JMP(block, nofine); // jmp nofine
- UML_LABEL(block, nocoarse); // nocoarse:
- UML_CMP(block, I7, COPRO_TLB_SECTION_TABLE); // cmp i7, COPRO_TLB_SECTION_TABLE
- UML_JMPc(block, COND_NE, nosection = label++); // jmpne nosection
+ UML_LABEL(block, nocoarse); // nocoarse:
+ UML_CMP(block, I7, COPRO_TLB_SECTION_TABLE); // cmp i7, COPRO_TLB_SECTION_TABLE
+ UML_JMPc(block, COND_NE, nosection = label++); // jmpne nosection
- UML_ROLAND(block, I5, I4, 32-10, 3); // roland i7, i4, 32-10, 3
+ UML_ROLAND(block, I5, I4, 32-10, 3); // roland i7, i4, 32-10, 3
// result in I6
- UML_CALLH(block, *arm->impstate->detect_fault); // callh detect_fault
- UML_CMP(block, I6, FAULT_NONE); // cmp i6, FAULT_NONE
- UML_JMPc(block, COND_NE, handlefault = label++); // jmpne handlefault
+ UML_CALLH(block, *arm->impstate->detect_fault); // callh detect_fault
+ UML_CMP(block, I6, FAULT_NONE); // cmp i6, FAULT_NONE
+ UML_JMPc(block, COND_NE, handlefault = label++); // jmpne handlefault
// no fault, return translated address
- UML_AND(block, I0, I3, ~COPRO_TLB_SECTION_PAGE_MASK); // and i0, i3, ~COPRO_TLB_SECTION_PAGE_MASK
- UML_ROLINS(block, I0, I4, 0, COPRO_TLB_SECTION_PAGE_MASK); // rolins i0, i4, COPRO_TLB_SECTION_PAGE_MASK
- UML_MOV(block, I2, 1); // mov i2, 1
- UML_RET(block); // ret
-
- UML_LABEL(block, handlefault); // handlefault:
- UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
- UML_JMPc(block, COND_Z, prefetch = label++); // jmpz prefetch
- UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
- UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov arm->pendingAbtD, 1
- UML_ROLAND(block, I5, I4, 31, 0xf0); // roland i5, i4, 31, 0xf0
- UML_CMP(block, I6, FAULT_DOMAIN); // cmp i6, FAULT_DOMAIN
- UML_MOVc(block, COND_E, I6, 9 << 0); // move i6, 9 << 0
- UML_MOVc(block, COND_NE, I6, 13 << 0); // movne i6, 13 << 0
- UML_OR(block, mem(&COPRO_FAULT_STATUS_D), I5, I6); // or COPRO_FAULT_STATUS_D, i5, i6
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, prefetch); // prefetch:
- UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov arm->pendingAbtP, 1
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, nosection); // nosection:
- UML_CMP(block, I7, COPRO_TLB_FINE_TABLE); // cmp i7, COPRO_TLB_FINE_TABLE
- UML_JMPc(block, COND_NE, nofine); // jmpne nofine
+ UML_AND(block, I0, I3, ~COPRO_TLB_SECTION_PAGE_MASK); // and i0, i3, ~COPRO_TLB_SECTION_PAGE_MASK
+ UML_ROLINS(block, I0, I4, 0, COPRO_TLB_SECTION_PAGE_MASK); // rolins i0, i4, COPRO_TLB_SECTION_PAGE_MASK
+ UML_MOV(block, I2, 1); // mov i2, 1
+ UML_RET(block); // ret
+
+ UML_LABEL(block, handlefault); // handlefault:
+ UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
+ UML_JMPc(block, COND_Z, prefetch = label++); // jmpz prefetch
+ UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
+ UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov arm->pendingAbtD, 1
+ UML_ROLAND(block, I5, I4, 31, 0xf0); // roland i5, i4, 31, 0xf0
+ UML_CMP(block, I6, FAULT_DOMAIN); // cmp i6, FAULT_DOMAIN
+ UML_MOVc(block, COND_E, I6, 9 << 0); // move i6, 9 << 0
+ UML_MOVc(block, COND_NE, I6, 13 << 0); // movne i6, 13 << 0
+ UML_OR(block, mem(&COPRO_FAULT_STATUS_D), I5, I6); // or COPRO_FAULT_STATUS_D, i5, i6
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, prefetch); // prefetch:
+ UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov arm->pendingAbtP, 1
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, nosection); // nosection:
+ UML_CMP(block, I7, COPRO_TLB_FINE_TABLE); // cmp i7, COPRO_TLB_FINE_TABLE
+ UML_JMPc(block, COND_NE, nofine); // jmpne nofine
// Not yet implemented
- UML_MOV(block, I2, 1); // mov i2, 1
- UML_RET(block); // ret
+ UML_MOV(block, I2, 1); // mov i2, 1
+ UML_RET(block); // ret
- UML_LABEL(block, nofine); // nofine:
+ UML_LABEL(block, nofine); // nofine:
// I7: desc_lvl2
- UML_AND(block, I6, I7, 3); // and i6, i7, 3
- UML_CMP(block, I6, COPRO_TLB_UNMAPPED); // cmp i6, COPRO_TLB_UNMAPPED
- UML_JMPc(block, COND_NE, nounmapped2 = label++); // jmpne nounmapped2
-
- UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
- UML_JMPc(block, COND_Z, prefetch2 = label++); // jmpz prefetch2
- UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
- UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov arm->pendingAbtD, 1
- UML_ROLAND(block, I5, I4, 31, 0xf0); // roland i5, i4, 31, 0xf0
- UML_OR(block, I5, I5, 7 << 0); // or i5, i5, 7 << 0
- UML_OR(block, mem(&COPRO_FAULT_STATUS_D), I5, I6); // or COPRO_FAULT_STATUS_D, i5, i6
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, prefetch2); // prefetch2:
- UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov arm->pendingAbtP, 1
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, nounmapped2); // nounmapped2:
- UML_CMP(block, I6, COPRO_TLB_LARGE_PAGE); // cmp i6, COPRO_TLB_LARGE_PAGE
- UML_JMPc(block, COND_NE, nolargepage = label++); // jmpne nolargepage
-
- UML_AND(block, I0, I3, ~COPRO_TLB_LARGE_PAGE_MASK); // and i0, i3, ~COPRO_TLB_LARGE_PAGE_MASK
- UML_ROLINS(block, I0, I7, 0, COPRO_TLB_LARGE_PAGE_MASK); // rolins i0, i7, 0, COPRO_TLB_LARGE_PAGE_MASK
- UML_MOV(block, I2, 1); // mov i2, 1
- UML_RET(block); // ret
-
- UML_LABEL(block, nolargepage); // nolargepage:
- UML_CMP(block, I6, COPRO_TLB_SMALL_PAGE); // cmp i6, COPRO_TLB_SMALL_PAGE
- UML_JMPc(block, COND_NE, nosmallpage = label++); // jmpne nosmallpage
-
- UML_ROLAND(block, I5, I3, 32-9, 3<<1); // roland i5, i3, 32-9, 3<<1
- UML_ROLAND(block, I6, I7, 32-4, 0xff); // roland i6, i7, 32-4, 0xff
- UML_SHR(block, I5, I7, I5); // shr i5, i7, i5
- UML_AND(block, I5, I5, 3); // and i5, i5, 3
+ UML_AND(block, I6, I7, 3); // and i6, i7, 3
+ UML_CMP(block, I6, COPRO_TLB_UNMAPPED); // cmp i6, COPRO_TLB_UNMAPPED
+ UML_JMPc(block, COND_NE, nounmapped2 = label++); // jmpne nounmapped2
+
+ UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
+ UML_JMPc(block, COND_Z, prefetch2 = label++); // jmpz prefetch2
+ UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
+ UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov arm->pendingAbtD, 1
+ UML_ROLAND(block, I5, I4, 31, 0xf0); // roland i5, i4, 31, 0xf0
+ UML_OR(block, I5, I5, 7 << 0); // or i5, i5, 7 << 0
+ UML_OR(block, mem(&COPRO_FAULT_STATUS_D), I5, I6); // or COPRO_FAULT_STATUS_D, i5, i6
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, prefetch2); // prefetch2:
+ UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov arm->pendingAbtP, 1
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, nounmapped2); // nounmapped2:
+ UML_CMP(block, I6, COPRO_TLB_LARGE_PAGE); // cmp i6, COPRO_TLB_LARGE_PAGE
+ UML_JMPc(block, COND_NE, nolargepage = label++); // jmpne nolargepage
+
+ UML_AND(block, I0, I3, ~COPRO_TLB_LARGE_PAGE_MASK); // and i0, i3, ~COPRO_TLB_LARGE_PAGE_MASK
+ UML_ROLINS(block, I0, I7, 0, COPRO_TLB_LARGE_PAGE_MASK); // rolins i0, i7, 0, COPRO_TLB_LARGE_PAGE_MASK
+ UML_MOV(block, I2, 1); // mov i2, 1
+ UML_RET(block); // ret
+
+ UML_LABEL(block, nolargepage); // nolargepage:
+ UML_CMP(block, I6, COPRO_TLB_SMALL_PAGE); // cmp i6, COPRO_TLB_SMALL_PAGE
+ UML_JMPc(block, COND_NE, nosmallpage = label++); // jmpne nosmallpage
+
+ UML_ROLAND(block, I5, I3, 32-9, 3<<1); // roland i5, i3, 32-9, 3<<1
+ UML_ROLAND(block, I6, I7, 32-4, 0xff); // roland i6, i7, 32-4, 0xff
+ UML_SHR(block, I5, I7, I5); // shr i5, i7, i5
+ UML_AND(block, I5, I5, 3); // and i5, i5, 3
// result in I6
- UML_CALLH(block, *arm->impstate->detect_fault); // callh detect_fault
-
- UML_CMP(block, I6, FAULT_NONE); // cmp i6, FAULT_NONE
- UML_JMPc(block, COND_NE, smallfault = label++); // jmpne smallfault
- UML_AND(block, I0, I7, COPRO_TLB_SMALL_PAGE_MASK); // and i0, i7, COPRO_TLB_SMALL_PAGE_MASK
- UML_ROLINS(block, I0, I3, 0, ~COPRO_TLB_SMALL_PAGE_MASK); // rolins i0, i3, 0, ~COPRO_TLB_SMALL_PAGE_MASK
- UML_MOV(block, I2, 1); // mov i2, 1
- UML_RET(block); // ret
-
- UML_LABEL(block, smallfault); // smallfault:
- UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
- UML_JMPc(block, COND_NZ, smallprefetch = label++); // jmpnz smallprefetch
- UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
- UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov pendingAbtD, 1
- UML_CMP(block, I6, FAULT_DOMAIN); // cmp i6, FAULT_DOMAIN
- UML_MOVc(block, COND_E, I5, 11 << 0); // move i5, 11 << 0
- UML_MOVc(block, COND_NE, I5, 15 << 0); // movne i5, 15 << 0
- UML_ROLINS(block, I5, I4, 31, 0xf0); // rolins i5, i4, 31, 0xf0
- UML_MOV(block, mem(&COPRO_FAULT_STATUS_D), I5); // mov COPRO_FAULT_STATUS_D, i5
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, smallprefetch); // smallprefetch:
- UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov pendingAbtP, 1
- UML_MOV(block, I2, 0); // mov i2, 0
- UML_RET(block); // ret
-
- UML_LABEL(block, nosmallpage); // nosmallpage:
- UML_CMP(block, I6, COPRO_TLB_TINY_PAGE); // cmp i6, COPRO_TLB_TINY_PAGE
- UML_JMPc(block, COND_NE, notinypage = label++); // jmpne notinypage
-
- UML_AND(block, I0, I3, ~COPRO_TLB_TINY_PAGE_MASK); // and i0, i3, ~COPRO_TLB_TINY_PAGE_MASK
- UML_ROLINS(block, I0, I7, 0, COPRO_TLB_TINY_PAGE_MASK); // rolins i0, i7, 0, COPRO_TLB_TINY_PAGE_MASK
- UML_MOV(block, I2, 1); // mov i2, 1
- UML_RET(block); // ret
-
- UML_LABEL(block, notinypage); // notinypage:
- UML_MOV(block, I0, I3); // mov i0, i3
- UML_RET(block); // ret
+ UML_CALLH(block, *arm->impstate->detect_fault); // callh detect_fault
+
+ UML_CMP(block, I6, FAULT_NONE); // cmp i6, FAULT_NONE
+ UML_JMPc(block, COND_NE, smallfault = label++); // jmpne smallfault
+ UML_AND(block, I0, I7, COPRO_TLB_SMALL_PAGE_MASK); // and i0, i7, COPRO_TLB_SMALL_PAGE_MASK
+ UML_ROLINS(block, I0, I3, 0, ~COPRO_TLB_SMALL_PAGE_MASK); // rolins i0, i3, 0, ~COPRO_TLB_SMALL_PAGE_MASK
+ UML_MOV(block, I2, 1); // mov i2, 1
+ UML_RET(block); // ret
+
+ UML_LABEL(block, smallfault); // smallfault:
+ UML_TEST(block, I2, ARM7_TLB_ABORT_D); // test i2, ARM7_TLB_ABORT_D
+ UML_JMPc(block, COND_NZ, smallprefetch = label++); // jmpnz smallprefetch
+ UML_MOV(block, mem(&COPRO_FAULT_ADDRESS), I3); // mov COPRO_FAULT_ADDRESS, i3
+ UML_MOV(block, mem(&arm->pendingAbtD), 1); // mov pendingAbtD, 1
+ UML_CMP(block, I6, FAULT_DOMAIN); // cmp i6, FAULT_DOMAIN
+ UML_MOVc(block, COND_E, I5, 11 << 0); // move i5, 11 << 0
+ UML_MOVc(block, COND_NE, I5, 15 << 0); // movne i5, 15 << 0
+ UML_ROLINS(block, I5, I4, 31, 0xf0); // rolins i5, i4, 31, 0xf0
+ UML_MOV(block, mem(&COPRO_FAULT_STATUS_D), I5); // mov COPRO_FAULT_STATUS_D, i5
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, smallprefetch); // smallprefetch:
+ UML_MOV(block, mem(&arm->pendingAbtP), 1); // mov pendingAbtP, 1
+ UML_MOV(block, I2, 0); // mov i2, 0
+ UML_RET(block); // ret
+
+ UML_LABEL(block, nosmallpage); // nosmallpage:
+ UML_CMP(block, I6, COPRO_TLB_TINY_PAGE); // cmp i6, COPRO_TLB_TINY_PAGE
+ UML_JMPc(block, COND_NE, notinypage = label++); // jmpne notinypage
+
+ UML_AND(block, I0, I3, ~COPRO_TLB_TINY_PAGE_MASK); // and i0, i3, ~COPRO_TLB_TINY_PAGE_MASK
+ UML_ROLINS(block, I0, I7, 0, COPRO_TLB_TINY_PAGE_MASK); // rolins i0, i7, 0, COPRO_TLB_TINY_PAGE_MASK
+ UML_MOV(block, I2, 1); // mov i2, 1
+ UML_RET(block); // ret
+
+ UML_LABEL(block, notinypage); // notinypage:
+ UML_MOV(block, I0, I3); // mov i0, i3
+ UML_RET(block); // ret
block->end();
}
@@ -1957,21 +1957,21 @@ static void static_generate_memory_accessor(arm_state *arm, int size, bool istlb
/* add a global entry for this */
alloc_handle(drcuml, handleptr, name);
- UML_HANDLE(block, **handleptr); // handle *handleptr
+ UML_HANDLE(block, **handleptr); // handle *handleptr
if (istlb)
{
- UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN); // test COPRO_CTRL, COPRO_CTRL_MMU_EN
+ UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN); // test COPRO_CTRL, COPRO_CTRL_MMU_EN
if (iswrite)
{
- UML_MOVc(block, COND_NZ, I3, ARM7_TLB_WRITE); // movnz i3, ARM7_TLB_WRITE
+ UML_MOVc(block, COND_NZ, I3, ARM7_TLB_WRITE); // movnz i3, ARM7_TLB_WRITE
}
else
{
- UML_MOVc(block, COND_NZ, I3, ARM7_TLB_READ); // movnz i3, ARM7_TLB_READ
+ UML_MOVc(block, COND_NZ, I3, ARM7_TLB_READ); // movnz i3, ARM7_TLB_READ
}
- UML_OR(block, I2, I2, I3); // or i2, i2, i3
- UML_CALLHc(block, COND_NZ, *arm->impstate->tlb_translate); // callhnz tlb_translate
+ UML_OR(block, I2, I2, I3); // or i2, i2, i3
+ UML_CALLHc(block, COND_NZ, *arm->impstate->tlb_translate); // callhnz tlb_translate
}
/* general case: assume paging and perform a translation */
@@ -1985,13 +1985,13 @@ static void static_generate_memory_accessor(arm_state *arm, int size, bool istlb
UINT32 skip = label++;
if (arm->impstate->fastram[ramnum].end != 0xffffffff)
{
- UML_CMP(block, I0, arm->impstate->fastram[ramnum].end); // cmp i0, end
- UML_JMPc(block, COND_A, skip); // ja skip
+ UML_CMP(block, I0, arm->impstate->fastram[ramnum].end); // cmp i0, end
+ UML_JMPc(block, COND_A, skip); // ja skip
}
if (arm->impstate->fastram[ramnum].start != 0x00000000)
{
- UML_CMP(block, I0, arm->impstate->fastram[ramnum].start); // cmp i0, fastram_start
- UML_JMPc(block, COND_B, skip); // jb skip
+ UML_CMP(block, I0, arm->impstate->fastram[ramnum].start); // cmp i0, fastram_start
+ UML_JMPc(block, COND_B, skip); // jb skip
}
if (!iswrite)
@@ -2000,19 +2000,19 @@ static void static_generate_memory_accessor(arm_state *arm, int size, bool istlb
{
UML_XOR(block, I0, I0, (arm->endianess == ENDIANNESS_BIG) ? BYTE4_XOR_BE(0) : BYTE4_XOR_LE(0));
// xor i0, i0, bytexor
- UML_LOAD(block, I0, fastbase, I0, SIZE_BYTE, SCALE_x1); // load i0, fastbase, i0, byte
+ UML_LOAD(block, I0, fastbase, I0, SIZE_BYTE, SCALE_x1); // load i0, fastbase, i0, byte
}
else if (size == 2)
{
UML_XOR(block, I0, I0, (arm->endianess == ENDIANNESS_BIG) ? WORD_XOR_BE(0) : WORD_XOR_LE(0));
// xor i0, i0, wordxor
- UML_LOAD(block, I0, fastbase, I0, SIZE_WORD, SCALE_x1); // load i0, fastbase, i0, word_x1
+ UML_LOAD(block, I0, fastbase, I0, SIZE_WORD, SCALE_x1); // load i0, fastbase, i0, word_x1
}
else if (size == 4)
{
- UML_LOAD(block, I0, fastbase, I0, SIZE_DWORD, SCALE_x1); // load i0, fastbase, i0, dword_x1
+ UML_LOAD(block, I0, fastbase, I0, SIZE_DWORD, SCALE_x1); // load i0, fastbase, i0, dword_x1
}
- UML_RET(block); // ret
+ UML_RET(block); // ret
}
else
{
@@ -2020,22 +2020,22 @@ static void static_generate_memory_accessor(arm_state *arm, int size, bool istlb
{
UML_XOR(block, I0, I0, (arm->endianess == ENDIANNESS_BIG) ? BYTE4_XOR_BE(0) : BYTE4_XOR_LE(0));
// xor i0, i0, bytexor
- UML_STORE(block, fastbase, I0, I1, SIZE_BYTE, SCALE_x1); // store fastbase, i0, i1, byte
+ UML_STORE(block, fastbase, I0, I1, SIZE_BYTE, SCALE_x1); // store fastbase, i0, i1, byte
}
else if (size == 2)
{
UML_XOR(block, I0, I0, arm->bigendian ? WORD_XOR_BE(0) : WORD_XOR_LE(0));
// xor i0, i0, wordxor
- UML_STORE(block, fastbase, I0, I1, SIZE_WORD, SCALE_x1); // store fastbase, i0, i1, word_x1
+ UML_STORE(block, fastbase, I0, I1, SIZE_WORD, SCALE_x1); // store fastbase, i0, i1, word_x1
}
else if (size == 4)
{
- UML_STORE(block, fastbase, I0, I1, SIZE_DWORD, SCALE_x1); // store fastbase,i0,i1,dword_x1
+ UML_STORE(block, fastbase, I0, I1, SIZE_DWORD, SCALE_x1); // store fastbase,i0,i1,dword_x1
}
UML_RET(block); // ret
}
- UML_LABEL(block, skip); // skip:
+ UML_LABEL(block, skip); // skip:
}
}
}
@@ -2045,33 +2045,33 @@ static void static_generate_memory_accessor(arm_state *arm, int size, bool istlb
case 1:
if (iswrite)
{
- UML_WRITE(block, I0, I1, SIZE_BYTE, SPACE_PROGRAM); // write i0, i1, program_byte
+ UML_WRITE(block, I0, I1, SIZE_BYTE, SPACE_PROGRAM); // write i0, i1, program_byte
}
else
{
- UML_READ(block, I0, I0, SIZE_BYTE, SPACE_PROGRAM); // read i0, i0, program_byte
+ UML_READ(block, I0, I0, SIZE_BYTE, SPACE_PROGRAM); // read i0, i0, program_byte
}
break;
case 2:
if (iswrite)
{
- UML_WRITE(block, I0, I1, SIZE_WORD, SPACE_PROGRAM); // write i0,i1,program_word
+ UML_WRITE(block, I0, I1, SIZE_WORD, SPACE_PROGRAM); // write i0,i1,program_word
}
else
{
- UML_READ(block, I0, I0, SIZE_WORD, SPACE_PROGRAM); // read i0,i0,program_word
+ UML_READ(block, I0, I0, SIZE_WORD, SPACE_PROGRAM); // read i0,i0,program_word
}
break;
case 4:
if (iswrite)
{
- UML_WRITE(block, I0, I1, SIZE_DWORD, SPACE_PROGRAM); // write i0,i1,program_dword
+ UML_WRITE(block, I0, I1, SIZE_DWORD, SPACE_PROGRAM); // write i0,i1,program_dword
}
else
{
- UML_READ(block, I0, I0, SIZE_DWORD, SPACE_PROGRAM); // read i0,i0,program_dword
+ UML_READ(block, I0, I0, SIZE_DWORD, SPACE_PROGRAM); // read i0,i0,program_dword
}
break;
}
@@ -2106,7 +2106,7 @@ static void generate_update_cycles(arm_state *arm, drcuml_block *block, compiler
{
UML_SUB(block, mem(&arm->icount), mem(&arm->icount), MAPVAR_CYCLES); // sub icount,icount,cycles
UML_MAPVAR(block, MAPVAR_CYCLES, 0); // mapvar cycles,0
- UML_EXHc(block, COND_S, *arm->impstate->out_of_cycles, param); // exh out_of_cycles,nextpc
+ UML_EXHc(block, COND_S, *arm->impstate->out_of_cycles, param); // exh out_of_cycles,nextpc
}
compiler->cycles = 0;
}
@@ -2132,19 +2132,19 @@ static void generate_checksum_block(arm_state *arm, drcuml_block *block, compile
{
UINT32 sum = seqhead->opptr.l[0];
void *base = arm->direct->read_decrypted_ptr(seqhead->physpc);
- UML_LOAD(block, I0, base, 0, SIZE_DWORD, SCALE_x4); // load i0,base,0,dword
+ UML_LOAD(block, I0, base, 0, SIZE_DWORD, SCALE_x4); // load i0,base,0,dword
if (seqhead->delay.first() != NULL && seqhead->physpc != seqhead->delay.first()->physpc)
{
base = arm->direct->read_decrypted_ptr(seqhead->delay.first()->physpc);
- UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
- UML_ADD(block, I0, I0, I1); // add i0,i0,i1
+ UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
+ UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += seqhead->delay.first()->opptr.l[0];
}
- UML_CMP(block, I0, sum); // cmp i0,opptr[0]
- UML_EXHc(block, COND_NE, *arm->impstate->nocode, epc(seqhead)); // exne nocode,seqhead->pc
+ UML_CMP(block, I0, sum); // cmp i0,opptr[0]
+ UML_EXHc(block, COND_NE, *arm->impstate->nocode, epc(seqhead)); // exne nocode,seqhead->pc
}
}
@@ -2153,26 +2153,26 @@ static void generate_checksum_block(arm_state *arm, drcuml_block *block, compile
{
UINT32 sum = 0;
void *base = arm->direct->read_decrypted_ptr(seqhead->physpc);
- UML_LOAD(block, I0, base, 0, SIZE_DWORD, SCALE_x4); // load i0,base,0,dword
+ UML_LOAD(block, I0, base, 0, SIZE_DWORD, SCALE_x4); // load i0,base,0,dword
sum += seqhead->opptr.l[0];
for (curdesc = seqhead->next(); curdesc != seqlast->next(); curdesc = curdesc->next())
if (!(curdesc->flags & OPFLAG_VIRTUAL_NOOP))
{
base = arm->direct->read_decrypted_ptr(curdesc->physpc);
- UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
- UML_ADD(block, I0, I0, I1); // add i0,i0,i1
+ UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
+ UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += curdesc->opptr.l[0];
if (curdesc->delay.first() != NULL && (curdesc == seqlast || (curdesc->next() != NULL && curdesc->next()->physpc != curdesc->delay.first()->physpc)))
{
base = arm->direct->read_decrypted_ptr(curdesc->delay.first()->physpc);
- UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
- UML_ADD(block, I0, I0, I1); // add i0,i0,i1
+ UML_LOAD(block, I1, base, 0, SIZE_DWORD, SCALE_x4); // load i1,base,dword
+ UML_ADD(block, I0, I0, I1); // add i0,i0,i1
sum += curdesc->delay.first()->opptr.l[0];
}
}
- UML_CMP(block, I0, sum); // cmp i0,sum
- UML_EXHc(block, COND_NE, *arm->impstate->nocode, epc(seqhead)); // exne nocode,seqhead->pc
+ UML_CMP(block, I0, sum); // cmp i0,sum
+ UML_EXHc(block, COND_NE, *arm->impstate->nocode, epc(seqhead)); // exne nocode,seqhead->pc
}
}
@@ -2199,7 +2199,7 @@ static void generate_sequence_instruction(arm_state *arm, drcuml_block *block, c
compiler->cycles += desc->cycles;
/* update the icount map variable */
- UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
+ UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
/* is this a hotspot? */
for (hotnum = 0; hotnum < MIPS3_MAX_HOTSPOTS; hotnum++)
@@ -2212,22 +2212,22 @@ static void generate_sequence_instruction(arm_state *arm, drcuml_block *block, c
}
/* update the icount map variable */
- UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
+ UML_MAPVAR(block, MAPVAR_CYCLES, compiler->cycles); // mapvar CYCLES,compiler->cycles
/* if we are debugging, call the debugger */
if ((arm->device->machine().debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
- UML_MOV(block, mem(&R15), desc->pc); // mov [pc],desc->pc
+ UML_MOV(block, mem(&R15), desc->pc); // mov [pc],desc->pc
save_fast_iregs(arm, block);
- UML_DEBUG(block, desc->pc); // debug desc->pc
+ UML_DEBUG(block, desc->pc); // debug desc->pc
}
/* if we hit an unmapped address, fatal error */
if (desc->flags & OPFLAG_COMPILER_UNMAPPED)
{
- UML_MOV(block, mem(&R15), desc->pc); // mov R15,desc->pc
+ UML_MOV(block, mem(&R15), desc->pc); // mov R15,desc->pc
save_fast_iregs(arm, block);
- UML_EXIT(block, EXECUTE_UNMAPPED_CODE); // exit EXECUTE_UNMAPPED_CODE
+ UML_EXIT(block, EXECUTE_UNMAPPED_CODE); // exit EXECUTE_UNMAPPED_CODE
}
/* otherwise, unless this is a virtual no-op, it's a regular instruction */
@@ -2236,9 +2236,9 @@ static void generate_sequence_instruction(arm_state *arm, drcuml_block *block, c
/* compile the instruction */
if (!generate_opcode(arm, block, compiler, desc))
{
- UML_MOV(block, mem(&R15), desc->pc); // mov R15,desc->pc
- UML_MOV(block, mem(&arm->impstate->arg0), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
- UML_CALLC(block, cfunc_unimplemented, arm); // callc cfunc_unimplemented
+ UML_MOV(block, mem(&R15), desc->pc); // mov R15,desc->pc
+ UML_MOV(block, mem(&arm->impstate->arg0), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
+ UML_CALLC(block, cfunc_unimplemented, arm); // callc cfunc_unimplemented
}
}
}
@@ -2256,7 +2256,7 @@ static void generate_delay_slot_and_branch(arm_state *arm, drcuml_block *block,
/* update the cycles and jump through the hash table to the target */
if (desc->targetpc != BRANCH_TARGET_DYNAMIC)
{
- generate_update_cycles(arm, block, &compiler_temp, desc->targetpc, TRUE); // <subtract cycles>
+ generate_update_cycles(arm, block, &compiler_temp, desc->targetpc, TRUE); // <subtract cycles>
UML_HASHJMP(block, 0, desc->targetpc, *arm->impstate->nocode);
// hashjmp 0,desc->targetpc,nocode
}
@@ -2627,13 +2627,13 @@ static int generate_opcode(arm_state *arm, drcuml_block *block, compiler_state *
UML_AND(block, I0, DRC_PC, ~3);
}
- UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN); // test COPRO_CTRL, COPRO_CTRL_MMU_EN
- UML_MOVc(block, COND_NZ, I2, ARM7_TLB_ABORT_P | ARM7_TLB_READ); // movnz i0, ARM7_TLB_ABORT_P | ARM7_TLB_READ
- UML_CALLHc(block, COND_NZ, *arm->impstate->tlb_translate); // callhnz tlb_translate);
+ UML_TEST(block, mem(&COPRO_CTRL), COPRO_CTRL_MMU_EN); // test COPRO_CTRL, COPRO_CTRL_MMU_EN
+ UML_MOVc(block, COND_NZ, I2, ARM7_TLB_ABORT_P | ARM7_TLB_READ); // movnz i0, ARM7_TLB_ABORT_P | ARM7_TLB_READ
+ UML_CALLHc(block, COND_NZ, *arm->impstate->tlb_translate); // callhnz tlb_translate);
if (T_IS_SET(GET_CPSR))
{
- UML_CALLH(block, *arm->impstate->drcthumb[(op & 0xffc0) >> 6); // callh drcthumb[op]
+ UML_CALLH(block, *arm->impstate->drcthumb[(op & 0xffc0) >> 6); // callh drcthumb[op]
return TRUE;
}
@@ -2739,7 +2739,7 @@ static int generate_opcode(arm_state *arm, drcuml_block *block, compiler_state *
UML_LABEL(block, unexecuted);
UML_ADD(block, DRC_PC, DRC_PC, 4);
- UML_ADD(block, MAPVAR_CYCLES, MAPVAR_CYCLES, 2); // add cycles, cycles, 2
+ UML_ADD(block, MAPVAR_CYCLES, MAPVAR_CYCLES, 2); // add cycles, cycles, 2
UML_LABEL(block, skip);
diff --git a/src/emu/cpu/arm7/arm7help.h b/src/emu/cpu/arm7/arm7help.h
index e425014928b..6b67dbf6885 100644
--- a/src/emu/cpu/arm7/arm7help.h
+++ b/src/emu/cpu/arm7/arm7help.h
@@ -42,22 +42,22 @@ extern void SwitchMode(arm_state *arm, int cpsr_mode_val);
| HandleALUNZFlags(rd))); \
R15 += 2;
-#define DRCHandleThumbALUAddFlags(rd, rn, op2) \
- UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | V_MASK | C_MASK)); \
- DRCHandleALUNZFlags(rd); \
- UML_XOR(block, I1, rn, ~0); \
- UML_CMP(block, I1, op2); \
- UML_MOVc(block, COND_B, I1, C_BIT); \
- UML_MOVc(block, COND_AE, I1, 0); \
- UML_OR(block, I0, I0, I1); \
- UML_XOR(block, I1, rn, op2); \
- UML_XOR(block, I2, rn, rd); \
- UML_AND(block, I1, I1, I2); \
- UML_TEST(block, I1, 1 << 31); \
- UML_MOVc(block, COND_NZ, I1, V_BIT); \
- UML_MOVc(block, COND_Z, I1, 0); \
- UML_OR(block, I0, I0, I1); \
- UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
+#define DRCHandleThumbALUAddFlags(rd, rn, op2) \
+ UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | V_MASK | C_MASK)); \
+ DRCHandleALUNZFlags(rd); \
+ UML_XOR(block, I1, rn, ~0); \
+ UML_CMP(block, I1, op2); \
+ UML_MOVc(block, COND_B, I1, C_BIT); \
+ UML_MOVc(block, COND_AE, I1, 0); \
+ UML_OR(block, I0, I0, I1); \
+ UML_XOR(block, I1, rn, op2); \
+ UML_XOR(block, I2, rn, rd); \
+ UML_AND(block, I1, I1, I2); \
+ UML_TEST(block, I1, 1 << 31); \
+ UML_MOVc(block, COND_NZ, I1, V_BIT); \
+ UML_MOVc(block, COND_Z, I1, 0); \
+ UML_OR(block, I0, I0, I1); \
+ UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
UML_ADD(block, DRC_PC, DRC_PC, 2);
#define HandleALUSubFlags(rd, rn, op2) \
@@ -75,31 +75,31 @@ extern void SwitchMode(arm_state *arm, int cpsr_mode_val);
| HandleALUNZFlags(rd))); \
R15 += 2;
-#define DRCHandleThumbALUSubFlags(rd, rn, op2) \
- UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | V_MASK | C_MASK)); \
- DRCHandleALUNZFlags(rd); \
- UML_XOR(block, I1, rn, op2); \
- UML_XOR(block, I2, rn, rd); \
- UML_AND(block, I1, I1, I2); \
- UML_TEST(block, I1, 1 << 31); \
- UML_MOVc(block, COND_NZ, I1, V_BIT); \
- UML_MOVc(block, COND_Z, I1, 0); \
- UML_OR(block, I0, I0, I1); \
- UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
- UML_AND(block, I0, rd, 1 << 31); \
- UML_AND(block, I1, op2, 1 << 31); \
- UML_AND(block, I2, rn, 1 << 31); \
- UML_XOR(block, I2, I2, ~0); \
- UML_AND(block, I1, I1, I2); \
- UML_AND(block, I2, I2, I0); \
- UML_OR(block, I1, I1, I2); \
- UML_AND(block, I2, op2, 1 << 31); \
- UML_AND(block, I2, I2, I0); \
- UML_OR(block, I1, I1, I2); \
- UML_TEST(block, I1, 1 << 31); \
- UML_MOVc(block, COND_NZ, I0, C_MASK); \
- UML_MOVc(block, COND_Z, I0, 0); \
- UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
+#define DRCHandleThumbALUSubFlags(rd, rn, op2) \
+ UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | V_MASK | C_MASK)); \
+ DRCHandleALUNZFlags(rd); \
+ UML_XOR(block, I1, rn, op2); \
+ UML_XOR(block, I2, rn, rd); \
+ UML_AND(block, I1, I1, I2); \
+ UML_TEST(block, I1, 1 << 31); \
+ UML_MOVc(block, COND_NZ, I1, V_BIT); \
+ UML_MOVc(block, COND_Z, I1, 0); \
+ UML_OR(block, I0, I0, I1); \
+ UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
+ UML_AND(block, I0, rd, 1 << 31); \
+ UML_AND(block, I1, op2, 1 << 31); \
+ UML_AND(block, I2, rn, 1 << 31); \
+ UML_XOR(block, I2, I2, ~0); \
+ UML_AND(block, I1, I1, I2); \
+ UML_AND(block, I2, I2, I0); \
+ UML_OR(block, I1, I1, I2); \
+ UML_AND(block, I2, op2, 1 << 31); \
+ UML_AND(block, I2, I2, I0); \
+ UML_OR(block, I1, I1, I2); \
+ UML_TEST(block, I1, 1 << 31); \
+ UML_MOVc(block, COND_NZ, I0, C_MASK); \
+ UML_MOVc(block, COND_Z, I0, 0); \
+ UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
UML_ADD(block, DRC_PC, DRC_PC, 2);
/* Set NZC flags for logical operations. */
@@ -109,11 +109,11 @@ extern void SwitchMode(arm_state *arm, int cpsr_mode_val);
#define HandleALUNZFlags(rd) \
(((rd) & SIGN_BIT) | ((!(rd)) << Z_BIT))
-#define DRCHandleALUNZFlags(rd) \
- UML_AND(block, I0, rd, SIGN_BIT); \
- UML_CMP(block, rd, 0); \
- UML_MOVc(block, COND_E, I1, 1); \
- UML_MOVc(block, COND_NE, I1, 0); \
+#define DRCHandleALUNZFlags(rd) \
+ UML_AND(block, I0, rd, SIGN_BIT); \
+ UML_CMP(block, rd, 0); \
+ UML_MOVc(block, COND_E, I1, 1); \
+ UML_MOVc(block, COND_NE, I1, 0); \
UML_ROLINS(block, I0, I1, Z_BIT, 1 << Z_BIT);
// Long ALU Functions use bit 63
@@ -127,23 +127,23 @@ extern void SwitchMode(arm_state *arm, int cpsr_mode_val);
| (((sc) != 0) << C_BIT))); \
R15 += 4;
-#define DRC_RD mem(&GET_REGISTER(arm, rd))
-#define DRC_RS mem(&GET_REGISTER(arm, rs))
-#define DRC_CPSR mem(&GET_CPSR)
-#define DRC_PC mem(&R15)
-#define DRC_REG(i) mem(&arm->r[(i)]);
-
-#define DRCHandleALULogicalFlags(rd, sc) \
- if (insn & INSN_S) \
- { \
- UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | C_MASK); \
- DRCHandleALUNZFlags(rd); \
- UML_TEST(block, sc, ~0); \
- UML_MOVc(block, COND_Z, I1, C_BIT); \
- UML_MOVc(block, COND_NZ, I1, 0); \
- UML_OR(block, I0, I0, I1); \
- UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
- } \
+#define DRC_RD mem(&GET_REGISTER(arm, rd))
+#define DRC_RS mem(&GET_REGISTER(arm, rs))
+#define DRC_CPSR mem(&GET_CPSR)
+#define DRC_PC mem(&R15)
+#define DRC_REG(i) mem(&arm->r[(i)]);
+
+#define DRCHandleALULogicalFlags(rd, sc) \
+ if (insn & INSN_S) \
+ { \
+ UML_AND(block, DRC_CPSR, DRC_CPSR, ~(N_MASK | Z_MASK | C_MASK); \
+ DRCHandleALUNZFlags(rd); \
+ UML_TEST(block, sc, ~0); \
+ UML_MOVc(block, COND_Z, I1, C_BIT); \
+ UML_MOVc(block, COND_NZ, I1, 0); \
+ UML_OR(block, I0, I0, I1); \
+ UML_OR(block, DRC_CPSR, DRC_CPSR, I0); \
+ } \
UML_ADD(block, DRC_PC, DRC_PC, 4);
void set_cpsr( arm_state *arm, UINT32 val);
diff --git a/src/emu/cpu/arm7/arm7tdrc.c b/src/emu/cpu/arm7/arm7tdrc.c
index b22ac905fd0..7159b63bc0a 100644
--- a/src/emu/cpu/arm7/arm7tdrc.c
+++ b/src/emu/cpu/arm7/arm7tdrc.c
@@ -8,149 +8,149 @@
arm7thumb_drcophandler drcthumb_handler[0x40*0x10] =
{
// #define THUMB_SHIFT_R ((UINT16)0x0800)
- drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
- drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
- drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
- drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
- drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
- drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
- drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
- drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
+ drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
+ drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
+ drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
+ drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0, drctg00_0,
+ drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
+ drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
+ drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
+ drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1, drctg00_1,
// #define THUMB_INSN_ADDSUB ((UINT16)0x0800) // #define THUMB_ADDSUB_TYPE ((UINT16)0x0600)
- drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
- drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
- drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
- drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
- drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10,
- drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11,
- drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12,
- drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13,
+ drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
+ drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
+ drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
+ drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0, drctg01_0,
+ drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10, drctg01_10,
+ drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11, drctg01_11,
+ drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12, drctg01_12,
+ drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13, drctg01_13,
// #define THUMB_INSN_CMP ((UINT16)0x0800)
- drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
- drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
- drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
- drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
- drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
- drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
- drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
- drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
+ drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
+ drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
+ drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
+ drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0, drctg02_0,
+ drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
+ drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
+ drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
+ drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1, drctg02_1,
// #define THUMB_INSN_SUB ((UINT16)0x0800)
- drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
- drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
- drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
- drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
- drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
- drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
- drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
- drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
+ drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
+ drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
+ drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
+ drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0, drctg03_0,
+ drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
+ drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
+ drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
+ drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1, drctg03_1,
//#define THUMB_GROUP4_TYPE ((UINT16)0x0c00) //#define THUMB_ALUOP_TYPE ((UINT16)0x03c0) // #define THUMB_HIREG_OP ((UINT16)0x0300) // #define THUMB_HIREG_H ((UINT16)0x00c0)
- drctg04_00_00, drctg04_00_01, drctg04_00_02, drctg04_00_03, drctg04_00_04, drctg04_00_05, drctg04_00_06, drctg04_00_07,
- drctg04_00_08, drctg04_00_09, drctg04_00_0a, drctg04_00_0b, drctg04_00_0c, drctg04_00_0d, drctg04_00_0e, drctg04_00_0f,
- drctg04_01_00, drctg04_01_01, drctg04_01_02, drctg04_01_03, drctg04_01_10, drctg04_01_11, drctg04_01_12, drctg04_01_13,
- drctg04_01_20, drctg04_01_21, drctg04_01_22, drctg04_01_23, drctg04_01_30, drctg04_01_31, drctg04_01_32, drctg04_01_33,
- drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
- drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
- drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
- drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
+ drctg04_00_00, drctg04_00_01, drctg04_00_02, drctg04_00_03, drctg04_00_04, drctg04_00_05, drctg04_00_06, drctg04_00_07,
+ drctg04_00_08, drctg04_00_09, drctg04_00_0a, drctg04_00_0b, drctg04_00_0c, drctg04_00_0d, drctg04_00_0e, drctg04_00_0f,
+ drctg04_01_00, drctg04_01_01, drctg04_01_02, drctg04_01_03, drctg04_01_10, drctg04_01_11, drctg04_01_12, drctg04_01_13,
+ drctg04_01_20, drctg04_01_21, drctg04_01_22, drctg04_01_23, drctg04_01_30, drctg04_01_31, drctg04_01_32, drctg04_01_33,
+ drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
+ drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
+ drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
+ drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203, drctg04_0203,
//#define THUMB_GROUP5_TYPE ((UINT16)0x0e00)
- drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0,
- drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1,
- drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2,
- drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3,
- drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4,
- drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5,
- drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6,
- drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7,
+ drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0, drctg05_0,
+ drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1, drctg05_1,
+ drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2, drctg05_2,
+ drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3, drctg05_3,
+ drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4, drctg05_4,
+ drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5, drctg05_5,
+ drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6, drctg05_6,
+ drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7, drctg05_7,
//#define THUMB_LSOP_L ((UINT16)0x0800)
- drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
- drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
- drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
- drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
- drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
- drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
- drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
- drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
+ drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
+ drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
+ drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
+ drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0, drctg06_0,
+ drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
+ drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
+ drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
+ drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1, drctg06_1,
//#define THUMB_LSOP_L ((UINT16)0x0800)
- drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
- drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
- drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
- drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
- drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
- drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
- drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
- drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
+ drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
+ drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
+ drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
+ drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0, drctg07_0,
+ drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
+ drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
+ drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
+ drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1, drctg07_1,
// #define THUMB_HALFOP_L ((UINT16)0x0800)
- drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
- drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
- drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
- drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
- drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
- drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
- drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
- drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
+ drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
+ drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
+ drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
+ drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0, drctg08_0,
+ drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
+ drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
+ drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
+ drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1, drctg08_1,
// #define THUMB_STACKOP_L ((UINT16)0x0800)
- drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
- drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
- drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
- drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
- drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
- drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
- drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
- drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
+ drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
+ drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
+ drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
+ drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0, drctg09_0,
+ drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
+ drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
+ drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
+ drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1, drctg09_1,
// #define THUMB_RELADDR_SP ((UINT16)0x0800)
- drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
- drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
- drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
- drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
- drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
- drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
- drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
- drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
+ drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
+ drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
+ drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
+ drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0, drctg0a_0,
+ drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
+ drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
+ drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
+ drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1, drctg0a_1,
// #define THUMB_STACKOP_TYPE ((UINT16)0x0f00)
- drctg0b_0, drctg0b_0, drctg0b_0, drctg0b_0, drctg0b_1, drctg0b_1, drctg0b_1, drctg0b_1,
- drctg0b_2, drctg0b_2, drctg0b_2, drctg0b_2, drctg0b_3, drctg0b_3, drctg0b_3, drctg0b_3,
- drctg0b_4, drctg0b_4, drctg0b_4, drctg0b_4, drctg0b_5, drctg0b_5, drctg0b_5, drctg0b_5,
- drctg0b_6, drctg0b_6, drctg0b_6, drctg0b_6, drctg0b_7, drctg0b_7, drctg0b_7, drctg0b_7,
- drctg0b_8, drctg0b_8, drctg0b_8, drctg0b_8, drctg0b_9, drctg0b_9, drctg0b_9, drctg0b_9,
- drctg0b_a, drctg0b_a, drctg0b_a, drctg0b_a, drctg0b_b, drctg0b_b, drctg0b_b, drctg0b_b,
- drctg0b_c, drctg0b_c, drctg0b_c, drctg0b_c, drctg0b_d, drctg0b_d, drctg0b_d, drctg0b_d,
- drctg0b_e, drctg0b_e, drctg0b_e, drctg0b_e, drctg0b_f, drctg0b_f, drctg0b_f, drctg0b_f,
+ drctg0b_0, drctg0b_0, drctg0b_0, drctg0b_0, drctg0b_1, drctg0b_1, drctg0b_1, drctg0b_1,
+ drctg0b_2, drctg0b_2, drctg0b_2, drctg0b_2, drctg0b_3, drctg0b_3, drctg0b_3, drctg0b_3,
+ drctg0b_4, drctg0b_4, drctg0b_4, drctg0b_4, drctg0b_5, drctg0b_5, drctg0b_5, drctg0b_5,
+ drctg0b_6, drctg0b_6, drctg0b_6, drctg0b_6, drctg0b_7, drctg0b_7, drctg0b_7, drctg0b_7,
+ drctg0b_8, drctg0b_8, drctg0b_8, drctg0b_8, drctg0b_9, drctg0b_9, drctg0b_9, drctg0b_9,
+ drctg0b_a, drctg0b_a, drctg0b_a, drctg0b_a, drctg0b_b, drctg0b_b, drctg0b_b, drctg0b_b,
+ drctg0b_c, drctg0b_c, drctg0b_c, drctg0b_c, drctg0b_d, drctg0b_d, drctg0b_d, drctg0b_d,
+ drctg0b_e, drctg0b_e, drctg0b_e, drctg0b_e, drctg0b_f, drctg0b_f, drctg0b_f, drctg0b_f,
// #define THUMB_MULTLS ((UINT16)0x0800)
- drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
- drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
- drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
- drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
- drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
- drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
- drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
- drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
+ drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
+ drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
+ drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
+ drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0, drctg0c_0,
+ drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
+ drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
+ drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
+ drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1, drctg0c_1,
// #define THUMB_COND_TYPE ((UINT16)0x0f00)
- drctg0d_0, drctg0d_0, drctg0d_0, drctg0d_0, drctg0d_1, drctg0d_1, drctg0d_1, drctg0d_1,
- drctg0d_2, drctg0d_2, drctg0d_2, drctg0d_2, drctg0d_3, drctg0d_3, drctg0d_3, drctg0d_3,
- drctg0d_4, drctg0d_4, drctg0d_4, drctg0d_4, drctg0d_5, drctg0d_5, drctg0d_5, drctg0d_5,
- drctg0d_6, drctg0d_6, drctg0d_6, drctg0d_6, drctg0d_7, drctg0d_7, drctg0d_7, drctg0d_7,
- drctg0d_8, drctg0d_8, drctg0d_8, drctg0d_8, drctg0d_9, drctg0d_9, drctg0d_9, drctg0d_9,
- drctg0d_a, drctg0d_a, drctg0d_a, drctg0d_a, drctg0d_b, drctg0d_b, drctg0d_b, drctg0d_b,
- drctg0d_c, drctg0d_c, drctg0d_c, drctg0d_c, drctg0d_d, drctg0d_d, drctg0d_d, drctg0d_d,
- drctg0d_e, drctg0d_e, drctg0d_e, drctg0d_e, drctg0d_f, drctg0d_f, drctg0d_f, drctg0d_f,
+ drctg0d_0, drctg0d_0, drctg0d_0, drctg0d_0, drctg0d_1, drctg0d_1, drctg0d_1, drctg0d_1,
+ drctg0d_2, drctg0d_2, drctg0d_2, drctg0d_2, drctg0d_3, drctg0d_3, drctg0d_3, drctg0d_3,
+ drctg0d_4, drctg0d_4, drctg0d_4, drctg0d_4, drctg0d_5, drctg0d_5, drctg0d_5, drctg0d_5,
+ drctg0d_6, drctg0d_6, drctg0d_6, drctg0d_6, drctg0d_7, drctg0d_7, drctg0d_7, drctg0d_7,
+ drctg0d_8, drctg0d_8, drctg0d_8, drctg0d_8, drctg0d_9, drctg0d_9, drctg0d_9, drctg0d_9,
+ drctg0d_a, drctg0d_a, drctg0d_a, drctg0d_a, drctg0d_b, drctg0d_b, drctg0d_b, drctg0d_b,
+ drctg0d_c, drctg0d_c, drctg0d_c, drctg0d_c, drctg0d_d, drctg0d_d, drctg0d_d, drctg0d_d,
+ drctg0d_e, drctg0d_e, drctg0d_e, drctg0d_e, drctg0d_f, drctg0d_f, drctg0d_f, drctg0d_f,
// #define THUMB_BLOP_LO ((UINT16)0x0800)
- drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
- drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
- drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
- drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
- drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
- drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
- drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
- drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
+ drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
+ drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
+ drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
+ drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0, drctg0e_0,
+ drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
+ drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
+ drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
+ drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1, drctg0e_1,
// #define THUMB_BLOP_LO ((UINT16)0x0800)
- drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
- drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
- drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
- drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
- drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
- drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
- drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
- drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
+ drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
+ drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
+ drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
+ drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0, drctg0f_0,
+ drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
+ drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
+ drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
+ drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1, drctg0f_1,
};
/* Shift operations */
@@ -1578,4 +1578,4 @@ const void drctg0f_1(arm_state *arm, drcuml_block *block, compiler_state *compil
UML_MOV(block, DRC_PC, I0);
}
-#endif // ARM7_USE_DRC \ No newline at end of file
+#endif // ARM7_USE_DRC
diff --git a/src/emu/cpu/cpu.mak b/src/emu/cpu/cpu.mak
index 7164e95e61e..f2026947a68 100644
--- a/src/emu/cpu/cpu.mak
+++ b/src/emu/cpu/cpu.mak
@@ -287,7 +287,7 @@ OBJDIRS += $(CPUOBJ)/es5510
CPUOBJS += $(CPUOBJ)/es5510/es5510.o
endif
-$(CPUOBJ)/es5510.o: $(CPUSRC)/es5510/es5510.c \
+$(CPUOBJ)/es5510.o: $(CPUSRC)/es5510/es5510.c \
$(CPUSRC)/es5510/es5510.h
diff --git a/src/emu/cpu/dsp16/dsp16.c b/src/emu/cpu/dsp16/dsp16.c
index d8a0ecf6190..f2ba79621a8 100644
--- a/src/emu/cpu/dsp16/dsp16.c
+++ b/src/emu/cpu/dsp16/dsp16.c
@@ -30,46 +30,46 @@ const device_type DSP16 = &device_creator<dsp16_device>;
dsp16_device::dsp16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: cpu_device(mconfig, DSP16, "DSP16", tag, owner, clock),
- m_program_config("program", ENDIANNESS_LITTLE, 16, 16, -1),
- m_data_config("data", ENDIANNESS_LITTLE, 16, 16, -1),
- m_i(0),
- m_pc(0),
- m_pt(0),
- m_pr(0),
- m_pi(0),
- m_j(0),
- m_k(0),
- m_rb(0),
- m_re(0),
- m_r0(0),
- m_r1(0),
- m_r2(0),
- m_r3(0),
- m_x(0),
- m_y(0),
- m_p(0),
- m_a0(0),
- m_a1(0),
- m_auc(0),
- m_psw(0),
- m_c0(0),
- m_c1(0),
- m_c2(0),
- m_sioc(0),
- m_srta(0),
- m_sdx(0),
- m_pioc(0),
- m_pdx0(0),
- m_pdx1(0),
- m_ppc(0),
- m_cacheStart(CACHE_INVALID),
- m_cacheEnd(CACHE_INVALID),
- m_cacheRedoNextPC(CACHE_INVALID),
- m_cacheIterations(0),
- m_program(NULL),
- m_data(NULL),
- m_direct(NULL),
- m_icount(0)
+ m_program_config("program", ENDIANNESS_LITTLE, 16, 16, -1),
+ m_data_config("data", ENDIANNESS_LITTLE, 16, 16, -1),
+ m_i(0),
+ m_pc(0),
+ m_pt(0),
+ m_pr(0),
+ m_pi(0),
+ m_j(0),
+ m_k(0),
+ m_rb(0),
+ m_re(0),
+ m_r0(0),
+ m_r1(0),
+ m_r2(0),
+ m_r3(0),
+ m_x(0),
+ m_y(0),
+ m_p(0),
+ m_a0(0),
+ m_a1(0),
+ m_auc(0),
+ m_psw(0),
+ m_c0(0),
+ m_c1(0),
+ m_c2(0),
+ m_sioc(0),
+ m_srta(0),
+ m_sdx(0),
+ m_pioc(0),
+ m_pdx0(0),
+ m_pdx1(0),
+ m_ppc(0),
+ m_cacheStart(CACHE_INVALID),
+ m_cacheEnd(CACHE_INVALID),
+ m_cacheRedoNextPC(CACHE_INVALID),
+ m_cacheIterations(0),
+ m_program(NULL),
+ m_data(NULL),
+ m_direct(NULL),
+ m_icount(0)
{
// Allocate & setup
}
@@ -195,8 +195,8 @@ void dsp16_device::device_reset()
const address_space_config *dsp16_device::memory_space_config(address_spacenum spacenum) const
{
return (spacenum == AS_PROGRAM) ? &m_program_config :
- (spacenum == AS_DATA) ? &m_data_config :
- NULL;
+ (spacenum == AS_DATA) ? &m_data_config :
+ NULL;
}
@@ -325,7 +325,7 @@ void dsp16_device::execute_run()
do
{
// debugging
- m_ppc = m_pc; // copy PC to previous PC
+ m_ppc = m_pc; // copy PC to previous PC
debugger_instruction_hook(this, m_pc);
// instruction fetch & execute
diff --git a/src/emu/cpu/dsp16/dsp16.h b/src/emu/cpu/dsp16/dsp16.h
index b87f775a8e7..274f6f72f57 100644
--- a/src/emu/cpu/dsp16/dsp16.h
+++ b/src/emu/cpu/dsp16/dsp16.h
@@ -55,7 +55,7 @@ protected:
// CPU registers
// ROM Address Arithmetic Unit (XAAU)
- UINT16 m_i; // 12 bits
+ UINT16 m_i; // 12 bits
UINT16 m_pc;
UINT16 m_pt;
UINT16 m_pr;
@@ -73,9 +73,9 @@ protected:
UINT16 m_x;
UINT32 m_y;
UINT32 m_p;
- UINT64 m_a0; // 36 bits
- UINT64 m_a1; // 36 bits
- UINT8 m_auc; // 6 bits
+ UINT64 m_a0; // 36 bits
+ UINT64 m_a1; // 36 bits
+ UINT8 m_auc; // 6 bits
UINT16 m_psw;
UINT8 m_c0;
UINT8 m_c1;
@@ -85,8 +85,8 @@ protected:
UINT16 m_srta;
UINT16 m_sdx;
UINT16 m_pioc;
- UINT16 m_pdx0; // pdx0 & pdx1 refer to the same physical register (page 6-1)
- UINT16 m_pdx1; // but we keep them seperate for logic's sake.
+ UINT16 m_pdx0; // pdx0 & pdx1 refer to the same physical register (page 6-1)
+ UINT16 m_pdx1; // but we keep them seperate for logic's sake.
// internal stuff
UINT16 m_ppc;
@@ -143,12 +143,12 @@ extern const device_type DSP16;
enum
{
- DSP16_I, // ROM Address Arithmetic Unit (XAAU)
+ DSP16_I, // ROM Address Arithmetic Unit (XAAU)
DSP16_PC,
DSP16_PT,
DSP16_PR,
DSP16_PI,
- DSP16_J, // RAM Address Arithmetic Unit (YAAU)
+ DSP16_J, // RAM Address Arithmetic Unit (YAAU)
DSP16_K,
DSP16_RB,
DSP16_RE,
@@ -156,7 +156,7 @@ enum
DSP16_R1,
DSP16_R2,
DSP16_R3,
- DSP16_X, // Data Arithmetic Unit (DAU)
+ DSP16_X, // Data Arithmetic Unit (DAU)
DSP16_Y,
DSP16_P,
DSP16_A0,
@@ -170,8 +170,8 @@ enum
DSP16_SRTA,
DSP16_SDX,
DSP16_PIOC,
- DSP16_PDX0,
- DSP16_PDX1
+ DSP16_PDX0,
+ DSP16_PDX1
};
diff --git a/src/emu/cpu/dsp16/dsp16dis.c b/src/emu/cpu/dsp16/dsp16dis.c
index 9b58d190306..8b648f7a6d3 100644
--- a/src/emu/cpu/dsp16/dsp16dis.c
+++ b/src/emu/cpu/dsp16/dsp16dis.c
@@ -234,8 +234,8 @@ bool disasmSIField(const UINT8& SI)
{
switch (SI)
{
- case 0x00: return 0; // Not a software interrupt
- case 0x01: return 1; // Software Interrupt
+ case 0x00: return 0; // Not a software interrupt
+ case 0x01: return 1; // Software Interrupt
}
return false;
}
@@ -505,7 +505,7 @@ CPU_DISASSEMBLE( dsp16a )
const UINT8 R = (op & 0x03f0) >> 4;
astring yString = disasmYField(Y);
astring rString = disasmRField(R);
- // TODO: page 3-31 "special function encoding"
+ // TODO: page 3-31 "special function encoding"
sprintf(buffer, "%s = %s", yString.cstr(), rString.cstr());
break;
}
diff --git a/src/emu/cpu/dsp16/dsp16ops.c b/src/emu/cpu/dsp16/dsp16ops.c
index 778d0b7b1af..4bd704bade9 100644
--- a/src/emu/cpu/dsp16/dsp16ops.c
+++ b/src/emu/cpu/dsp16/dsp16ops.c
@@ -49,24 +49,24 @@ bool dsp16_device::conditionTest(const UINT8& CON)
{
switch (CON)
{
- case 0x00: return (m_psw & 0x8000); // mi (negative result)
- case 0x01: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // pl (positive result)
- case 0x02: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // eq (result == 0)
- case 0x03: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // ne (result != 0)
- case 0x04: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // lvs (logical overflow set)
- case 0x05: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // lvc (logical overflow clear)
- case 0x06: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // mvs (math. overflow set)
- case 0x07: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // mvc (math. overflow clear)
- case 0x08: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // heads (random bit set)
- case 0x09: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // tails (random bit clear)
- case 0x0a: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c0ge (counter0 >= 0)
- case 0x0b: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c0lt (counter0 < 0)
- case 0x0c: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c1ge (counter1 >= 0)
- case 0x0d: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c1lt (counter1 < 0)
- case 0x0e: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // true (always)
- case 0x0f: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // false (never)
- case 0x10: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // gt (result > 0
- case 0x11: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // le (result <= 0)
+ case 0x00: return (m_psw & 0x8000); // mi (negative result)
+ case 0x01: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // pl (positive result)
+ case 0x02: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // eq (result == 0)
+ case 0x03: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // ne (result != 0)
+ case 0x04: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // lvs (logical overflow set)
+ case 0x05: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // lvc (logical overflow clear)
+ case 0x06: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // mvs (math. overflow set)
+ case 0x07: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // mvc (math. overflow clear)
+ case 0x08: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // heads (random bit set)
+ case 0x09: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // tails (random bit clear)
+ case 0x0a: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c0ge (counter0 >= 0)
+ case 0x0b: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c0lt (counter0 < 0)
+ case 0x0c: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c1ge (counter1 >= 0)
+ case 0x0d: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // c1lt (counter1 < 0)
+ case 0x0e: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // true (always)
+ case 0x0f: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // false (never)
+ case 0x10: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // gt (result > 0
+ case 0x11: printf("UNIMPLEMENTED condition check @ PC 0x%04x\n", m_pc); return false; // le (result <= 0)
default: logerror("Unrecognized condition at PC=0x%04x\n", m_pc); break;
}
return false;
@@ -112,11 +112,11 @@ void* dsp16_device::registerFromRTable(const UINT8 &R)
case 0x10: return (void*)&m_x;
case 0x11: return (void*)&m_y;
case 0x12: return (void*)addressYL();
- case 0x13: return (void*)&m_auc; // zero extended
+ case 0x13: return (void*)&m_auc; // zero extended
case 0x14: return (void*)&m_psw;
- case 0x15: return (void*)&m_c0; // sign extended
- case 0x16: return (void*)&m_c1; // sign extended
- case 0x17: return (void*)&m_c2; // sign extended
+ case 0x15: return (void*)&m_c0; // sign extended
+ case 0x16: return (void*)&m_c1; // sign extended
+ case 0x17: return (void*)&m_c2; // sign extended
case 0x18: return (void*)&m_sioc;
case 0x19: return (void*)&m_srta;
case 0x1a: return (void*)&m_sdx;
@@ -137,20 +137,20 @@ void dsp16_device::executeF1Field(const UINT8& F1, const UINT8& D, const UINT8&
//UINT64* destinationReg = NULL;
//switch (D)
//{
- // case 0x00: destinationReg = &m_a0;
- // case 0x01: destinationReg = &m_a1;
- // default: break;
+ // case 0x00: destinationReg = &m_a0;
+ // case 0x01: destinationReg = &m_a1;
+ // default: break;
//}
// Which source is being used?
//UINT64* sourceReg = NULL;
//switch (S)
//{
- // case 0x00: sourceReg = &m_a0;
- // case 0x01: sourceReg = &m_a1;
- // default: break;
+ // case 0x00: sourceReg = &m_a0;
+ // case 0x01: sourceReg = &m_a1;
+ // default: break;
//}
-
+
switch (F1)
{
case 0x00: printf("UNIMPLEMENTED F1 operation @ PC 0x%04x\n", m_pc); break;
@@ -201,7 +201,7 @@ void dsp16_device::executeYFieldPost(const UINT8& Y)
case 0x03: opReg = &m_r3; break;
default: break;
}
-
+
const UINT8 lower = Y & 0x03;
switch (lower)
{
@@ -341,7 +341,7 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
case 0x00: m_pt++; break;
case 0x01: m_pt += m_i; break;
}
- cycles = 2; // TODO: 1 if cached
+ cycles = 2; // TODO: 1 if cached
pcAdvance = 1;
break;
}
@@ -355,15 +355,15 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
const UINT8 F1 = (op & 0x01e0) >> 5;
bool useA1 = (opcode == 0x1b);
if (Y != 0x00) printf("Unknown opcode @ PC=0x%04x", m_pc);
- m_y = (useA1) ? (m_a1 & 0xffffffff) : (m_a0 & 0xffffffff); // TODO: What happens to Ax when it goes 32 bit (pc=3f & pc=47)?
+ m_y = (useA1) ? (m_a1 & 0xffffffff) : (m_a0 & 0xffffffff); // TODO: What happens to Ax when it goes 32 bit (pc=3f & pc=47)?
executeF1Field(F1, D, S);
- writeRegister(&m_x, data_read(m_pt)); // TODO: EXM Pin & internal/external ROM? Research.
+ writeRegister(&m_x, data_read(m_pt)); // TODO: EXM Pin & internal/external ROM? Research.
switch (X)
{
case 0x00: m_pt++; break;
case 0x01: m_pt += m_i; break;
}
- cycles = 2; // TODO: 1 if cached
+ cycles = 2; // TODO: 1 if cached
pcAdvance = 1;
break;
}
@@ -425,30 +425,30 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
const UINT8 S = (op & 0x0200) >> 9;
const UINT8 D = (op & 0x0400) >> 10;
const UINT8 F1 = (op & 0x01e0) >> 5;
- executeF1Field(F1, D, S);
- UINT16 temp = 0x0000;
- UINT16* rN = (UINT16*)registerFromYFieldUpper(Z);
- switch (X)
- {
- case 0x00:
- temp = m_y & 0x0000ffff;
- m_y &= 0xffff0000;
- m_y |= data_read(*rN);
- executeZFieldPartOne(Z, rN);
- data_write(*rN, temp);
- executeZFieldPartTwo(Z, rN);
- break;
- case 0x01:
- temp = (m_y & 0xffff0000) >> 16;
- m_y &= 0x0000ffff;
- m_y |= (data_read(*rN) << 16);
- executeZFieldPartOne(Z, rN);
- data_write(*rN, temp);
- executeZFieldPartTwo(Z, rN);
- break;
- }
- cycles = 2;
- pcAdvance = 1;
+ executeF1Field(F1, D, S);
+ UINT16 temp = 0x0000;
+ UINT16* rN = (UINT16*)registerFromYFieldUpper(Z);
+ switch (X)
+ {
+ case 0x00:
+ temp = m_y & 0x0000ffff;
+ m_y &= 0xffff0000;
+ m_y |= data_read(*rN);
+ executeZFieldPartOne(Z, rN);
+ data_write(*rN, temp);
+ executeZFieldPartTwo(Z, rN);
+ break;
+ case 0x01:
+ temp = (m_y & 0xffff0000) >> 16;
+ m_y &= 0x0000ffff;
+ m_y |= (data_read(*rN) << 16);
+ executeZFieldPartOne(Z, rN);
+ data_write(*rN, temp);
+ executeZFieldPartTwo(Z, rN);
+ break;
+ }
+ cycles = 2;
+ pcAdvance = 1;
break;
}
case 0x1d:
@@ -539,7 +539,7 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
// if CON [goto/call/return] : (page 3-22)
const UINT8 CON = (op & 0x001f);
bool conditionFulfilled = conditionTest(CON);
- cycles = 3; // TODO: This may need to interact with the next opcode to make sure it doesn't exceed 3?
+ cycles = 3; // TODO: This may need to interact with the next opcode to make sure it doesn't exceed 3?
pcAdvance = 1;
if (!conditionFulfilled)
{
@@ -577,7 +577,7 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
}
void* sourceReg = registerFromRTable(R);
*destinationReg &= U64(0x00000ffff);
- *destinationReg |= (*(UINT16*)sourceReg) << 16; // TODO: Fix for all registers
+ *destinationReg |= (*(UINT16*)sourceReg) << 16; // TODO: Fix for all registers
if (*(UINT16*)sourceReg & 0x8000)
*destinationReg |= U64(0xf00000000);
// TODO: Special function encoding
@@ -639,7 +639,7 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
const INT8 M = (op & 0x00ff);
const UINT8 R = (op & 0x0e00) >> 9;
void* reg = registerFromRImmediateField(R);
- writeRegister(reg, (INT16)M); // Sign extend 8 bit int
+ writeRegister(reg, (INT16)M); // Sign extend 8 bit int
cycles = 1;
pcAdvance = 1;
break;
@@ -656,14 +656,14 @@ void dsp16_device::execute_one(const UINT16& op, UINT8& cycles, UINT8& pcAdvance
// Do
m_cacheStart = m_pc + 1;
m_cacheEnd = m_pc + NI + 1;
- m_cacheIterations = K-1; // -1 because we check the counter @ the end
+ m_cacheIterations = K-1; // -1 because we check the counter @ the end
cycles = 1;
pcAdvance = 1;
}
else
{
// Redo
- m_cacheIterations = K-1; // -1 because we check the counter @ the end
+ m_cacheIterations = K-1; // -1 because we check the counter @ the end
m_cacheRedoNextPC = m_pc + 1;
m_pc = m_cacheStart;
pcAdvance = 0;
diff --git a/src/emu/cpu/es5510/es5510.c b/src/emu/cpu/es5510/es5510.c
index 72705b188cd..0e1a6590f18 100644
--- a/src/emu/cpu/es5510/es5510.c
+++ b/src/emu/cpu/es5510/es5510.c
@@ -29,106 +29,106 @@ char *stpcpy_int (char *dst, const char *src)
}
inline static UINT8 setFlag(UINT8 ccr, UINT8 flag) {
- return ccr | flag;
+ return ccr | flag;
}
inline static UINT8 clearFlag(UINT8 ccr, UINT8 flag) {
- return ccr & ~flag;
+ return ccr & ~flag;
}
inline static UINT8 setFlagTo(UINT8 ccr, UINT8 flag, bool set) {
- return set ? setFlag(ccr, flag) : clearFlag(ccr, flag);
+ return set ? setFlag(ccr, flag) : clearFlag(ccr, flag);
}
inline static bool isFlagSet(UINT8 ccr, UINT8 flag) {
- return (ccr & flag) != 0;
+ return (ccr & flag) != 0;
}
inline static INT32 add(INT32 a, INT32 b, UINT8 &flags) {
- INT32 aSign = a & 0x00800000;
- INT32 bSign = (b & 0x00800000) == 0;
- INT32 result = a + b;
- INT32 resultSign = result & 0x00800000;
- bool overflow = (aSign == bSign) && (aSign != resultSign);
- bool carry = result & 0x01000000;
- bool negative = resultSign != 0;
- bool lessThan = (overflow && !negative) || (!overflow && negative);
- flags = setFlagTo(flags, FLAG_C, carry);
- flags = setFlagTo(flags, FLAG_N, negative);
- flags = setFlagTo(flags, FLAG_Z, result == 0);
- flags = setFlagTo(flags, FLAG_V, overflow);
- flags = setFlagTo(flags, FLAG_LT, lessThan);
- return result;
+ INT32 aSign = a & 0x00800000;
+ INT32 bSign = (b & 0x00800000) == 0;
+ INT32 result = a + b;
+ INT32 resultSign = result & 0x00800000;
+ bool overflow = (aSign == bSign) && (aSign != resultSign);
+ bool carry = result & 0x01000000;
+ bool negative = resultSign != 0;
+ bool lessThan = (overflow && !negative) || (!overflow && negative);
+ flags = setFlagTo(flags, FLAG_C, carry);
+ flags = setFlagTo(flags, FLAG_N, negative);
+ flags = setFlagTo(flags, FLAG_Z, result == 0);
+ flags = setFlagTo(flags, FLAG_V, overflow);
+ flags = setFlagTo(flags, FLAG_LT, lessThan);
+ return result;
}
inline static INT32 saturate(INT32 value, UINT8 &flags) {
- if (isFlagSet(flags, FLAG_V)) {
- return isFlagSet(flags, FLAG_N) ? 0x00800000 : 0x007fffff;
- } else {
- return value;
- }
+ if (isFlagSet(flags, FLAG_V)) {
+ return isFlagSet(flags, FLAG_N) ? 0x00800000 : 0x007fffff;
+ } else {
+ return value;
+ }
}
inline static INT32 negate(INT32 value) {
- return (value ^ 0x00ffffff) + 1;
+ return (value ^ 0x00ffffff) + 1;
}
inline static INT32 asl(INT32 value, int shift, UINT8 &flags) {
- INT32 signBefore = value & 0x00800000;
- INT32 result = (value << shift) & 0x00ffffff;
- INT32 signAfter = result & 0x00800000;
- bool overflow = signBefore != signAfter;
- flags = setFlagTo(flags, FLAG_V, overflow);
- return saturate(result, flags);
+ INT32 signBefore = value & 0x00800000;
+ INT32 result = (value << shift) & 0x00ffffff;
+ INT32 signAfter = result & 0x00800000;
+ bool overflow = signBefore != signAfter;
+ flags = setFlagTo(flags, FLAG_V, overflow);
+ return saturate(result, flags);
}
es5510_device::es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : cpu_device(mconfig, ES5510, "ES5510", tag, owner, clock)
+ : cpu_device(mconfig, ES5510, "ES5510", tag, owner, clock)
{
- // Initialize ESP to mostly zeroed, configured for 64k samples of delay line memory, running (not halted)
- icount = 0;
- pc = 0;
- state = STATE_HALTED;
- memset(gpr, 0, 0xc0 * sizeof(gpr[0]));
- ser0r = 0;
- ser0l = 0;
- ser1r = 0;
- ser1l = 0;
- ser2r = 0;
- ser2l = 0;
- ser3r = 0;
- ser3l = 0;
- machl = 0;
- dil = 0;
- memsiz = 0x00ffffff;
- memmask = 0x00000000;
- memincrement = 0x01000000;
- memshift = 24;
- dlength = 0;
- abase = 0;
- bbase = 0;
- dbase = 0;
- sigreg = 1;
- mulshift = 1;
- ccr = 0;
- cmr = 0;
- dol[0] = dol[1] = 0;
- dol_count = 0;
-
- memset(instr, 0, 160 * sizeof(instr[0]));
- memset(dram, 0, (1<<20) * sizeof(dram[0]));
-
- dol_latch = 0;
- dil_latch = 0;
- dadr_latch = 0;
- gpr_latch = 0;
- instr_latch = 0;
- ram_sel = 0;
- host_control = 0;
-
- memset(&alu, 0, sizeof(alu));
- memset(&mulacc, 0, sizeof(mulacc));
+ // Initialize ESP to mostly zeroed, configured for 64k samples of delay line memory, running (not halted)
+ icount = 0;
+ pc = 0;
+ state = STATE_HALTED;
+ memset(gpr, 0, 0xc0 * sizeof(gpr[0]));
+ ser0r = 0;
+ ser0l = 0;
+ ser1r = 0;
+ ser1l = 0;
+ ser2r = 0;
+ ser2l = 0;
+ ser3r = 0;
+ ser3l = 0;
+ machl = 0;
+ dil = 0;
+ memsiz = 0x00ffffff;
+ memmask = 0x00000000;
+ memincrement = 0x01000000;
+ memshift = 24;
+ dlength = 0;
+ abase = 0;
+ bbase = 0;
+ dbase = 0;
+ sigreg = 1;
+ mulshift = 1;
+ ccr = 0;
+ cmr = 0;
+ dol[0] = dol[1] = 0;
+ dol_count = 0;
+
+ memset(instr, 0, 160 * sizeof(instr[0]));
+ memset(dram, 0, (1<<20) * sizeof(dram[0]));
+
+ dol_latch = 0;
+ dil_latch = 0;
+ dadr_latch = 0;
+ gpr_latch = 0;
+ instr_latch = 0;
+ ram_sel = 0;
+ host_control = 0;
+
+ memset(&alu, 0, sizeof(alu));
+ memset(&mulacc, 0, sizeof(mulacc));
}
typedef es5510_device::alu_op_t alu_op_t;
@@ -141,733 +141,733 @@ static inline INT64 SX64(INT64 x) { return (x & U64(0x0000800000000000)) ? x | U
static inline INT64 SC64(INT64 x) { return x & U64(0x0000ffffffffffff); }
static inline const char * const REGNAME(UINT8 r) {
- static char rn[8];
- if (r < 234) { sprintf(rn, "GPR_%02x", r); return rn; }
- switch(r) {
- case 234: return "SER0R";
- case 235: return "SER0L";
- case 236: return "SER1R";
- case 237: return "SER1L";
- case 238: return "SER2R";
- case 239: return "SER2L";
- case 240: return "SER3R";
- case 241: return "SER3L";
- case 242: return "MACL";
- case 243: return "MACH";
- case 244: return "DIL/MEMSIZ";
- case 245: return "DLENGTH";
- case 246: return "ABASE";
- case 247: return "BBASE";
- case 248: return "DBASE";
- case 249: return "SIGREG";
- case 250: return "CCR";
- case 251: return "CMR";
- case 252: return "MINUS1";
- case 253: return "MIN";
- case 254: return "MAX";
- case 255: return "ZERO";
- }
- return NULL;
+ static char rn[8];
+ if (r < 234) { sprintf(rn, "GPR_%02x", r); return rn; }
+ switch(r) {
+ case 234: return "SER0R";
+ case 235: return "SER0L";
+ case 236: return "SER1R";
+ case 237: return "SER1L";
+ case 238: return "SER2R";
+ case 239: return "SER2L";
+ case 240: return "SER3R";
+ case 241: return "SER3L";
+ case 242: return "MACL";
+ case 243: return "MACH";
+ case 244: return "DIL/MEMSIZ";
+ case 245: return "DLENGTH";
+ case 246: return "ABASE";
+ case 247: return "BBASE";
+ case 248: return "DBASE";
+ case 249: return "SIGREG";
+ case 250: return "CCR";
+ case 251: return "CMR";
+ case 252: return "MINUS1";
+ case 253: return "MIN";
+ case 254: return "MAX";
+ case 255: return "ZERO";
+ }
+ return NULL;
}
static inline char * DESCRIBE_REG(char *s, UINT8 r) {
- return stpcpy_int(s, REGNAME(r));
+ return stpcpy_int(s, REGNAME(r));
}
const alu_op_t es5510_device::ALU_OPS[16] = {
- { 2, "ADD" },
- { 2, "SUB" },
- { 2, "ADDU" },
- { 2, "SUBU" },
- { 2, "CMP" },
- { 2, "AND" },
- { 2, "OR" },
- { 2, "XOR" },
- { 1, "ABS" },
- { 1, "MOV" },
- { 1, "ASL2" },
- { 1, "ASL8" },
- { 1, "LS15" },
- { 2, "DIFF" },
- { 1, "ASR" },
- { 0, "END" },
+ { 2, "ADD" },
+ { 2, "SUB" },
+ { 2, "ADDU" },
+ { 2, "SUBU" },
+ { 2, "CMP" },
+ { 2, "AND" },
+ { 2, "OR" },
+ { 2, "XOR" },
+ { 1, "ABS" },
+ { 1, "MOV" },
+ { 1, "ASL2" },
+ { 1, "ASL8" },
+ { 1, "LS15" },
+ { 2, "DIFF" },
+ { 1, "ASR" },
+ { 0, "END" },
};
// The CMP operation is not affected by being skippable
#define OP_CMP (4)
const op_select_t es5510_device::OPERAND_SELECT[16] = {
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
- { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_BOTH },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_REG, es5510_device::SRC_DST_REG },
+ { es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_BOTH, es5510_device::SRC_DST_DELAY, es5510_device::SRC_DST_REG },
};
static inline char * DESCRIBE_SRC_DST(char *s, UINT8 reg, op_src_dst_t src_dst) {
- switch (src_dst) {
- case es5510_device::SRC_DST_REG:
- return DESCRIBE_REG(s, reg);
- case es5510_device::SRC_DST_DELAY:
- return stpcpy_int(s, "Delay");
- case es5510_device::SRC_DST_BOTH:
- s = DESCRIBE_REG(s, reg);
- return stpcpy_int(s, ",Delay");
- }
- // should never happen!
- return s;
+ switch (src_dst) {
+ case es5510_device::SRC_DST_REG:
+ return DESCRIBE_REG(s, reg);
+ case es5510_device::SRC_DST_DELAY:
+ return stpcpy_int(s, "Delay");
+ case es5510_device::SRC_DST_BOTH:
+ s = DESCRIBE_REG(s, reg);
+ return stpcpy_int(s, ",Delay");
+ }
+ // should never happen!
+ return s;
}
const es5510_device::ram_control_t es5510_device::RAM_CONTROL[8] = {
- { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_DELAY, "Read Delay+%06x" },
- { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_DELAY, "Write Delay+%06x" },
- { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_TABLE_A, "Read Table A+%06x" },
- { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_TABLE_A, "Write Table A+%06x" },
- { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_TABLE_B, "Read Table B+%06x" },
- { es5510_device::RAM_CYCLE_DUMP_FIFO, es5510_device::RAM_CONTROL_DELAY, "Read Delay+%06x and Dump FIFO" },
- { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_IO, "Read I/O at %06x" },
- { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_IO, "Write I/o %06x" },
+ { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_DELAY, "Read Delay+%06x" },
+ { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_DELAY, "Write Delay+%06x" },
+ { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_TABLE_A, "Read Table A+%06x" },
+ { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_TABLE_A, "Write Table A+%06x" },
+ { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_TABLE_B, "Read Table B+%06x" },
+ { es5510_device::RAM_CYCLE_DUMP_FIFO, es5510_device::RAM_CONTROL_DELAY, "Read Delay+%06x and Dump FIFO" },
+ { es5510_device::RAM_CYCLE_READ, es5510_device::RAM_CONTROL_IO, "Read I/O at %06x" },
+ { es5510_device::RAM_CYCLE_WRITE, es5510_device::RAM_CONTROL_IO, "Write I/o %06x" },
};
static inline char * DESCRIBE_RAM(char *s, UINT8 ramControl, UINT32 gprContents) {
- return s + sprintf(s, es5510_device::RAM_CONTROL[ramControl].description, SC(gprContents));
+ return s + sprintf(s, es5510_device::RAM_CONTROL[ramControl].description, SC(gprContents));
}
static inline char * DESCRIBE_ALU(char *s, UINT8 opcode, UINT8 aReg, UINT8 bReg, const op_select_t &opSelect) {
- const alu_op_t &op = es5510_device::ALU_OPS[opcode];
+ const alu_op_t &op = es5510_device::ALU_OPS[opcode];
- switch (op.operands) {
- case 0:
- return stpcpy_int(s, op.opcode);
+ switch (op.operands) {
+ case 0:
+ return stpcpy_int(s, op.opcode);
- case 1:
- s += sprintf(s, "%s %s >", op.opcode, REGNAME(bReg));
- return DESCRIBE_SRC_DST(s, aReg, opSelect.alu_dst);
-
- case 2:
- s += sprintf(s, "%s %s,", op.opcode, REGNAME(bReg));
- s = DESCRIBE_SRC_DST(s, aReg, opSelect.alu_src);
- s += sprintf(s, " >");
- return DESCRIBE_SRC_DST(s, aReg, opSelect.alu_dst);
- }
- return s;
+ case 1:
+ s += sprintf(s, "%s %s >", op.opcode, REGNAME(bReg));
+ return DESCRIBE_SRC_DST(s, aReg, opSelect.alu_dst);
+
+ case 2:
+ s += sprintf(s, "%s %s,", op.opcode, REGNAME(bReg));
+ s = DESCRIBE_SRC_DST(s, aReg, opSelect.alu_src);
+ s += sprintf(s, " >");
+ return DESCRIBE_SRC_DST(s, aReg, opSelect.alu_dst);
+ }
+ return s;
}
static inline char * DESCRIBE_MAC(char *s, UINT8 mac, UINT8 cReg, UINT8 dReg, const op_select_t &opSelect)
{
- if (mac)
- {
- s += sprintf(s, "MAC + ");
- }
- s = DESCRIBE_REG(s, dReg);
- s += sprintf(s, " * ");
- s = DESCRIBE_SRC_DST(s, cReg, opSelect.mac_src);
- s += sprintf(s, " >");
- return DESCRIBE_SRC_DST(s, cReg, opSelect.mac_dst);
+ if (mac)
+ {
+ s += sprintf(s, "MAC + ");
+ }
+ s = DESCRIBE_REG(s, dReg);
+ s += sprintf(s, " * ");
+ s = DESCRIBE_SRC_DST(s, cReg, opSelect.mac_src);
+ s += sprintf(s, " >");
+ return DESCRIBE_SRC_DST(s, cReg, opSelect.mac_dst);
}
static inline char * DESCRIBE_INSTR(char *s, UINT64 instr, UINT32 gpr)
{
- UINT8 dReg = (UINT8)((instr >> 40) & 0xff);
- UINT8 cReg = (UINT8)((instr >> 32) & 0xff);
- UINT8 bReg = (UINT8)((instr >> 24) & 0xff);
- UINT8 aReg = (UINT8)((instr >> 16) & 0xff);
- UINT8 aluOpcode = (UINT8)((instr >> 12) & 0x0f);
- UINT8 operandSelect = (UINT8)((instr >> 8) & 0x0f);
- UINT8 skip = (UINT8)((instr >> 7) & 0x01);
- UINT8 mac = (UINT8)((instr >> 6) & 0x01);
- UINT8 ramControl = (UINT8)((instr >> 3) & 0x07);
-
- const op_select_t &opSelect = es5510_device::OPERAND_SELECT[operandSelect];
-
- s = DESCRIBE_ALU(s, aluOpcode, aReg, bReg, opSelect);
- s += sprintf(s, "; ");
- s = DESCRIBE_MAC(s, mac, cReg, dReg, opSelect);
- s += sprintf(s, "; ");
- s = DESCRIBE_RAM(s, ramControl, gpr);
- if (skip) {
- s += sprintf(s, "; skippable");
- }
+ UINT8 dReg = (UINT8)((instr >> 40) & 0xff);
+ UINT8 cReg = (UINT8)((instr >> 32) & 0xff);
+ UINT8 bReg = (UINT8)((instr >> 24) & 0xff);
+ UINT8 aReg = (UINT8)((instr >> 16) & 0xff);
+ UINT8 aluOpcode = (UINT8)((instr >> 12) & 0x0f);
+ UINT8 operandSelect = (UINT8)((instr >> 8) & 0x0f);
+ UINT8 skip = (UINT8)((instr >> 7) & 0x01);
+ UINT8 mac = (UINT8)((instr >> 6) & 0x01);
+ UINT8 ramControl = (UINT8)((instr >> 3) & 0x07);
+
+ const op_select_t &opSelect = es5510_device::OPERAND_SELECT[operandSelect];
+
+ s = DESCRIBE_ALU(s, aluOpcode, aReg, bReg, opSelect);
+ s += sprintf(s, "; ");
+ s = DESCRIBE_MAC(s, mac, cReg, dReg, opSelect);
+ s += sprintf(s, "; ");
+ s = DESCRIBE_RAM(s, ramControl, gpr);
+ if (skip) {
+ s += sprintf(s, "; skippable");
+ }
- return s;
+ return s;
}
READ8_MEMBER(es5510_device::host_r)
{
- // printf("%06x: DSP read offset %04x (data is %04x)\n",space.device().safe_pc(),offset,dsp_ram[offset]);
-
- // VFX hack
- if (mame_stricmp(space.machine().system().name, "vfx") == 0)
- {
- if (space.device().safe_pc() == 0xc091f0)
- {
- return space.device().state().state_int(M68K_D2);
- }
- }
-
- switch(offset)
- {
- case 0x00: logerror("ES5510: Read GPR latch[2]: %02x\n", (gpr_latch >> 16) & 0xff); return (gpr_latch >> 16) & 0xff;
- case 0x01: logerror("ES5510: Read GPR latch[1]: %02x\n", (gpr_latch >> 8) & 0xff); return (gpr_latch >> 8) & 0xff;
- case 0x02: logerror("ES5510: Read GPR latch[0]: %02x\n", (gpr_latch >> 0) & 0xff); return (gpr_latch >> 0) & 0xff;
-
- case 0x03: logerror("ES5510: Read INSTR latch[5]: %02x\n", (UINT8)((instr_latch >> 40) & 0xff)); return (instr_latch >> 40) & 0xff;
- case 0x04: logerror("ES5510: Read INSTR latch[4]: %02x\n", (UINT8)((instr_latch >> 32) & 0xff)); return (instr_latch >> 32) & 0xff;
- case 0x05: logerror("ES5510: Read INSTR latch[3]: %02x\n", (UINT8)((instr_latch >> 24) & 0xff)); return (instr_latch >> 24) & 0xff;
- case 0x06: logerror("ES5510: Read INSTR latch[2]: %02x\n", (UINT8)((instr_latch >> 16) & 0xff)); return (instr_latch >> 16) & 0xff;
- case 0x07: logerror("ES5510: Read INSTR latch[1]: %02x\n", (UINT8)((instr_latch >> 8) & 0xff)); return (instr_latch >> 8) & 0xff;
- case 0x08: logerror("ES5510: Read INSTR latch[0]: %02x\n", (UINT8)((instr_latch >> 0) & 0xff)); return (instr_latch >> 0) & 0xff;
-
- case 0x09: logerror("ES5510: Read DIL latch[2]: %02x\n", (dil_latch >> 16) & 0xff); return (dil_latch >> 16) & 0xff;
- case 0x0a: logerror("ES5510: Read DIL latch[1]: %02x\n", (dil_latch >> 8) & 0xff); return (dil_latch >> 8) & 0xff;
- case 0x0b: logerror("ES5510: Read DIL latch[0]: %02x\n", (dil_latch >> 0) & 0xff); return (dil_latch >> 0) & 0xff; //TODO: docs says that this always returns 0
-
- case 0x0c: logerror("ES5510: Read DOL latch[2]: %02x\n", (dol_latch >> 16) & 0xff); return (dol_latch >> 16) & 0xff;
- case 0x0d: logerror("ES5510: Read DOL latch[1]: %02x\n", (dol_latch >> 8) & 0xff); return (dol_latch >> 8) & 0xff;
- case 0x0e: logerror("ES5510: Read DOL latch[0]: %02x\n", (dol_latch >> 0) & 0xff); return (dol_latch >> 0) & 0xff; //TODO: docs says that this always returns 0
-
- case 0x0f: logerror("ES5510: Read DADR latch[2]: %02x\n", (dadr_latch >> 16) & 0xff); return (dadr_latch >> 16) & 0xff;
- case 0x10: logerror("ES5510: Read DADR latch[1]: %02x\n", (dadr_latch >> 8) & 0xff); return (dadr_latch >> 8) & 0xff;
- case 0x11: logerror("ES5510: Read DADR latch[0]: %02x\n", (dadr_latch >> 0) & 0xff); return (dadr_latch >> 0) & 0xff;
-
- case 0x12: logerror("ES5510: Reading Host Control\n"); return 0; // Host Control
-
- case 0x16: return 0x27; // Program Counter, for test purposes only
- }
-
- // default: 0.
- return 0x00;
+ // printf("%06x: DSP read offset %04x (data is %04x)\n",space.device().safe_pc(),offset,dsp_ram[offset]);
+
+ // VFX hack
+ if (mame_stricmp(space.machine().system().name, "vfx") == 0)
+ {
+ if (space.device().safe_pc() == 0xc091f0)
+ {
+ return space.device().state().state_int(M68K_D2);
+ }
+ }
+
+ switch(offset)
+ {
+ case 0x00: logerror("ES5510: Read GPR latch[2]: %02x\n", (gpr_latch >> 16) & 0xff); return (gpr_latch >> 16) & 0xff;
+ case 0x01: logerror("ES5510: Read GPR latch[1]: %02x\n", (gpr_latch >> 8) & 0xff); return (gpr_latch >> 8) & 0xff;
+ case 0x02: logerror("ES5510: Read GPR latch[0]: %02x\n", (gpr_latch >> 0) & 0xff); return (gpr_latch >> 0) & 0xff;
+
+ case 0x03: logerror("ES5510: Read INSTR latch[5]: %02x\n", (UINT8)((instr_latch >> 40) & 0xff)); return (instr_latch >> 40) & 0xff;
+ case 0x04: logerror("ES5510: Read INSTR latch[4]: %02x\n", (UINT8)((instr_latch >> 32) & 0xff)); return (instr_latch >> 32) & 0xff;
+ case 0x05: logerror("ES5510: Read INSTR latch[3]: %02x\n", (UINT8)((instr_latch >> 24) & 0xff)); return (instr_latch >> 24) & 0xff;
+ case 0x06: logerror("ES5510: Read INSTR latch[2]: %02x\n", (UINT8)((instr_latch >> 16) & 0xff)); return (instr_latch >> 16) & 0xff;
+ case 0x07: logerror("ES5510: Read INSTR latch[1]: %02x\n", (UINT8)((instr_latch >> 8) & 0xff)); return (instr_latch >> 8) & 0xff;
+ case 0x08: logerror("ES5510: Read INSTR latch[0]: %02x\n", (UINT8)((instr_latch >> 0) & 0xff)); return (instr_latch >> 0) & 0xff;
+
+ case 0x09: logerror("ES5510: Read DIL latch[2]: %02x\n", (dil_latch >> 16) & 0xff); return (dil_latch >> 16) & 0xff;
+ case 0x0a: logerror("ES5510: Read DIL latch[1]: %02x\n", (dil_latch >> 8) & 0xff); return (dil_latch >> 8) & 0xff;
+ case 0x0b: logerror("ES5510: Read DIL latch[0]: %02x\n", (dil_latch >> 0) & 0xff); return (dil_latch >> 0) & 0xff; //TODO: docs says that this always returns 0
+
+ case 0x0c: logerror("ES5510: Read DOL latch[2]: %02x\n", (dol_latch >> 16) & 0xff); return (dol_latch >> 16) & 0xff;
+ case 0x0d: logerror("ES5510: Read DOL latch[1]: %02x\n", (dol_latch >> 8) & 0xff); return (dol_latch >> 8) & 0xff;
+ case 0x0e: logerror("ES5510: Read DOL latch[0]: %02x\n", (dol_latch >> 0) & 0xff); return (dol_latch >> 0) & 0xff; //TODO: docs says that this always returns 0
+
+ case 0x0f: logerror("ES5510: Read DADR latch[2]: %02x\n", (dadr_latch >> 16) & 0xff); return (dadr_latch >> 16) & 0xff;
+ case 0x10: logerror("ES5510: Read DADR latch[1]: %02x\n", (dadr_latch >> 8) & 0xff); return (dadr_latch >> 8) & 0xff;
+ case 0x11: logerror("ES5510: Read DADR latch[0]: %02x\n", (dadr_latch >> 0) & 0xff); return (dadr_latch >> 0) & 0xff;
+
+ case 0x12: logerror("ES5510: Reading Host Control\n"); return 0; // Host Control
+
+ case 0x16: return 0x27; // Program Counter, for test purposes only
+ }
+
+ // default: 0.
+ return 0x00;
}
WRITE8_MEMBER(es5510_device::host_w)
{
- static char buf[1024];
- switch (offset) {
- case 0x00:
- gpr_latch = (gpr_latch&0x00ffff) | ((data&0xff)<<16);
- logerror("ES5510: Write GPR latch[2] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
- break;
- case 0x01:
- gpr_latch = (gpr_latch&0xff00ff) | ((data&0xff)<< 8);
- logerror("ES5510: Write GPR latch[1] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
- break;
- case 0x02:
- gpr_latch = (gpr_latch&0xffff00) | ((data&0xff)<< 0);
- logerror("ES5510: Write GPR latch[0] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
- break;
-
- /* 0x03 to 0x08 INSTR Register */
- case 0x03: instr_latch = ((instr_latch&U64(0x00ffffffffff)) | ((INT64)data&0xff)<<40); logerror("ES5510: Write INSTR latch[5] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
- case 0x04: instr_latch = ((instr_latch&U64(0xff00ffffffff)) | ((INT64)data&0xff)<<32); logerror("ES5510: Write INSTR latch[4] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
- case 0x05: instr_latch = ((instr_latch&U64(0xffff00ffffff)) | ((INT64)data&0xff)<<24); logerror("ES5510: Write INSTR latch[3] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
- case 0x06: instr_latch = ((instr_latch&U64(0xffffff00ffff)) | ((INT64)data&0xff)<<16); logerror("ES5510: Write INSTR latch[2] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
- case 0x07: instr_latch = ((instr_latch&U64(0xffffffff00ff)) | ((INT64)data&0xff)<< 8); logerror("ES5510: Write INSTR latch[1] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
- case 0x08: instr_latch = ((instr_latch&U64(0xffffffffff00)) | ((INT64)data&0xff)<< 0); logerror("ES5510: Write INSTR latch[0] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
-
- /* 0x09 to 0x0b DIL Register (r/o) */
-
- case 0x0c: dol_latch = (dol_latch&0x00ffff) | ((data&0xff)<<16); logerror("ES5510: Write DOL latch[2] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break;
- case 0x0d: dol_latch = (dol_latch&0xff00ff) | ((data&0xff)<< 8); logerror("ES5510: Write DOL latch[1] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break;
- case 0x0e: dol_latch = (dol_latch&0xffff00) | ((data&0xff)<< 0); logerror("ES5510: Write DOL latch[0] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break; //TODO: docs says that this always returns 0xff
-
- case 0x0f:
- dadr_latch = (dadr_latch&0x00ffff) | ((data&0xff)<<16);
- if (ram_sel)
- {
- dil_latch = dram[dadr_latch];
- }
- else
- {
- dram[dadr_latch] = dol_latch;
- }
- break;
-
- case 0x10: dadr_latch = (dadr_latch&0xff00ff) | ((data&0xff)<< 8); break;
- case 0x11: dadr_latch = (dadr_latch&0xffff00) | ((data&0xff)<< 0); break;
-
- /* 0x12 Host Control */
-
- case 0x14: ram_sel = data & 0x80; /* bit 6 is i/o select, everything else is undefined */break;
-
- /* 0x16 Program Counter (test purpose, r/o?) */
- /* 0x17 Internal Refresh counter (test purpose) */
- /* 0x18 Host Serial Control */
- case 0x18:
- logerror("ES5510: Write Host Serial control %02x: %s, %s, ser3 %s, ser2 %s, ser1 %s, ser0 %s\n", data,
- data&0x80 ? "Master" : "Slave",
- data&0x40 ? "Sony" : "I2S",
- data & 0x20 ? "Out" : "In",
- data & 0x10 ? "Out" : "In",
- data & 0x08 ? "Out" : "In",
- data & 0x04 ? "Out" : "In");
- break;
-
- /* 0x1f Halt enable (w) / Frame Counter (r) */
- case 0x1F:
- logerror("ES5510: Write Halt Enable %02x; HALT line is %d\n", data, input_state(ES5510_HALT));
- if (input_state(ES5510_HALT)) {
- logerror("ES5510: Write to Halt Enable while HALT line is asserted: Halting!\n");
- state = STATE_HALTED;
- }
- break;
-
- case 0x80: /* Read select - GPR + INSTR */
- logerror("ES5510: Read INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d)\n", data, REGNAME(data & 0xff), instr[data] & U64(0xffffffffffff), gpr[data] & 0xffffff, gpr[data]);
-
- /* Check if an INSTR address is selected */
- if (data < 0xa0) {
- instr_latch = instr[data];
- }
- if (data < 0xc0) {
- gpr_latch = gpr[data] & 0xffffff;
- } else if (data >= 0xea) {
- gpr_latch = read_reg(data);
- }
- break;
-
- case 0xa0: /* Write select - GPR */
- logerror("ES5510: Write GPR %02x (%s): %06x (%d)\n",data, REGNAME(data&0xff), gpr_latch, SX(gpr_latch));
- write_reg(data, gpr_latch);
- break;
-
- case 0xc0: /* Write select - INSTR */
- DESCRIBE_INSTR(buf, instr_latch, gpr[data]);
- logerror("ES5510: Write INSTR %02x %012" I64FMT "x: %s\n",data, instr_latch&U64(0xffffffffffff), buf);
- if (data < 0xa0) {
- instr[data] = instr_latch&U64(0xffffffffffff);
- }
- break;
-
- case 0xe0: /* Write select - GPR + INSTR */
- DESCRIBE_INSTR(buf, instr_latch, gpr_latch);
- logerror("ES5510: Write INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d): %s\n",data, REGNAME(data&0xff), instr_latch, gpr_latch, SX(gpr_latch), buf);
- if (data < 0xa0) {
- instr[data] = instr_latch;
- }
- write_reg(data, gpr_latch);
- break;
- }
+ static char buf[1024];
+ switch (offset) {
+ case 0x00:
+ gpr_latch = (gpr_latch&0x00ffff) | ((data&0xff)<<16);
+ logerror("ES5510: Write GPR latch[2] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
+ break;
+ case 0x01:
+ gpr_latch = (gpr_latch&0xff00ff) | ((data&0xff)<< 8);
+ logerror("ES5510: Write GPR latch[1] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
+ break;
+ case 0x02:
+ gpr_latch = (gpr_latch&0xffff00) | ((data&0xff)<< 0);
+ logerror("ES5510: Write GPR latch[0] = %02x -> %06x (%d)\n", data, gpr_latch, SX(gpr_latch));
+ break;
+
+ /* 0x03 to 0x08 INSTR Register */
+ case 0x03: instr_latch = ((instr_latch&U64(0x00ffffffffff)) | ((INT64)data&0xff)<<40); logerror("ES5510: Write INSTR latch[5] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+ case 0x04: instr_latch = ((instr_latch&U64(0xff00ffffffff)) | ((INT64)data&0xff)<<32); logerror("ES5510: Write INSTR latch[4] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+ case 0x05: instr_latch = ((instr_latch&U64(0xffff00ffffff)) | ((INT64)data&0xff)<<24); logerror("ES5510: Write INSTR latch[3] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+ case 0x06: instr_latch = ((instr_latch&U64(0xffffff00ffff)) | ((INT64)data&0xff)<<16); logerror("ES5510: Write INSTR latch[2] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+ case 0x07: instr_latch = ((instr_latch&U64(0xffffffff00ff)) | ((INT64)data&0xff)<< 8); logerror("ES5510: Write INSTR latch[1] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+ case 0x08: instr_latch = ((instr_latch&U64(0xffffffffff00)) | ((INT64)data&0xff)<< 0); logerror("ES5510: Write INSTR latch[0] = %02x -> %012" I64FMT "x\n", data, instr_latch); break;
+
+ /* 0x09 to 0x0b DIL Register (r/o) */
+
+ case 0x0c: dol_latch = (dol_latch&0x00ffff) | ((data&0xff)<<16); logerror("ES5510: Write DOL latch[2] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break;
+ case 0x0d: dol_latch = (dol_latch&0xff00ff) | ((data&0xff)<< 8); logerror("ES5510: Write DOL latch[1] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break;
+ case 0x0e: dol_latch = (dol_latch&0xffff00) | ((data&0xff)<< 0); logerror("ES5510: Write DOL latch[0] = %02x -> %06x (%d)\n", data, dol_latch, SX(dol_latch)); break; //TODO: docs says that this always returns 0xff
+
+ case 0x0f:
+ dadr_latch = (dadr_latch&0x00ffff) | ((data&0xff)<<16);
+ if (ram_sel)
+ {
+ dil_latch = dram[dadr_latch];
+ }
+ else
+ {
+ dram[dadr_latch] = dol_latch;
+ }
+ break;
+
+ case 0x10: dadr_latch = (dadr_latch&0xff00ff) | ((data&0xff)<< 8); break;
+ case 0x11: dadr_latch = (dadr_latch&0xffff00) | ((data&0xff)<< 0); break;
+
+ /* 0x12 Host Control */
+
+ case 0x14: ram_sel = data & 0x80; /* bit 6 is i/o select, everything else is undefined */break;
+
+ /* 0x16 Program Counter (test purpose, r/o?) */
+ /* 0x17 Internal Refresh counter (test purpose) */
+ /* 0x18 Host Serial Control */
+ case 0x18:
+ logerror("ES5510: Write Host Serial control %02x: %s, %s, ser3 %s, ser2 %s, ser1 %s, ser0 %s\n", data,
+ data&0x80 ? "Master" : "Slave",
+ data&0x40 ? "Sony" : "I2S",
+ data & 0x20 ? "Out" : "In",
+ data & 0x10 ? "Out" : "In",
+ data & 0x08 ? "Out" : "In",
+ data & 0x04 ? "Out" : "In");
+ break;
+
+ /* 0x1f Halt enable (w) / Frame Counter (r) */
+ case 0x1F:
+ logerror("ES5510: Write Halt Enable %02x; HALT line is %d\n", data, input_state(ES5510_HALT));
+ if (input_state(ES5510_HALT)) {
+ logerror("ES5510: Write to Halt Enable while HALT line is asserted: Halting!\n");
+ state = STATE_HALTED;
+ }
+ break;
+
+ case 0x80: /* Read select - GPR + INSTR */
+ logerror("ES5510: Read INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d)\n", data, REGNAME(data & 0xff), instr[data] & U64(0xffffffffffff), gpr[data] & 0xffffff, gpr[data]);
+
+ /* Check if an INSTR address is selected */
+ if (data < 0xa0) {
+ instr_latch = instr[data];
+ }
+ if (data < 0xc0) {
+ gpr_latch = gpr[data] & 0xffffff;
+ } else if (data >= 0xea) {
+ gpr_latch = read_reg(data);
+ }
+ break;
+
+ case 0xa0: /* Write select - GPR */
+ logerror("ES5510: Write GPR %02x (%s): %06x (%d)\n",data, REGNAME(data&0xff), gpr_latch, SX(gpr_latch));
+ write_reg(data, gpr_latch);
+ break;
+
+ case 0xc0: /* Write select - INSTR */
+ DESCRIBE_INSTR(buf, instr_latch, gpr[data]);
+ logerror("ES5510: Write INSTR %02x %012" I64FMT "x: %s\n",data, instr_latch&U64(0xffffffffffff), buf);
+ if (data < 0xa0) {
+ instr[data] = instr_latch&U64(0xffffffffffff);
+ }
+ break;
+
+ case 0xe0: /* Write select - GPR + INSTR */
+ DESCRIBE_INSTR(buf, instr_latch, gpr_latch);
+ logerror("ES5510: Write INSTR+GPR %02x (%s): %012" I64FMT "x %06x (%d): %s\n",data, REGNAME(data&0xff), instr_latch, gpr_latch, SX(gpr_latch), buf);
+ if (data < 0xa0) {
+ instr[data] = instr_latch;
+ }
+ write_reg(data, gpr_latch);
+ break;
+ }
}
void es5510_device::device_start() {
- m_icountptr = &icount;
- state_add(STATE_GENPC,"GENPC", pc).noshow();
+ m_icountptr = &icount;
+ state_add(STATE_GENPC,"GENPC", pc).noshow();
}
void es5510_device::device_reset() {
- pc = 0x00;
- memset(gpr, 0, sizeof(*gpr) * 0xc0);
- memset(instr, 0, sizeof(*instr) * 0xa0);
- memset(dram, 0, sizeof(*dram) * (1<<20));
- state = STATE_RUNNING;
- dil_latch = dol_latch = dadr_latch = gpr_latch = 0;
- instr_latch = UINT64(0);
- ram_sel = 0;
- host_control = 0;
- memset(&ram, 0, sizeof(ram_t));
- memset(&ram_p, 0, sizeof(ram_t));
- memset(&ram_pp, 0, sizeof(ram_t));
+ pc = 0x00;
+ memset(gpr, 0, sizeof(*gpr) * 0xc0);
+ memset(instr, 0, sizeof(*instr) * 0xa0);
+ memset(dram, 0, sizeof(*dram) * (1<<20));
+ state = STATE_RUNNING;
+ dil_latch = dol_latch = dadr_latch = gpr_latch = 0;
+ instr_latch = UINT64(0);
+ ram_sel = 0;
+ host_control = 0;
+ memset(&ram, 0, sizeof(ram_t));
+ memset(&ram_p, 0, sizeof(ram_t));
+ memset(&ram_pp, 0, sizeof(ram_t));
}
const address_space_config *es5510_device::memory_space_config(address_spacenum spacenum) const {
- return 0;
+ return 0;
}
UINT64 es5510_device::execute_clocks_to_cycles(UINT64 clocks) const {
- return clocks / 3;
+ return clocks / 3;
}
UINT64 es5510_device::execute_cycles_to_clocks(UINT64 cycles) const {
- return cycles * 3;
+ return cycles * 3;
}
UINT32 es5510_device::execute_min_cycles() const {
- return 1;
+ return 1;
}
UINT32 es5510_device::execute_max_cycles() const {
- return 1;
+ return 1;
}
UINT32 es5510_device::execute_input_lines() const {
- return 1;
+ return 1;
}
void es5510_device::execute_run() {
- while (icount > 0) {
- if (state == STATE_HALTED) {
- // Currently halted, sample the HALT line
- if (input_state(ES5510_HALT)) {
+ while (icount > 0) {
+ if (state == STATE_HALTED) {
+ // Currently halted, sample the HALT line
+ if (input_state(ES5510_HALT)) {
// remain halted
host_control |= 0x04; // Signal Host Access OK
- } else {
+ } else {
logerror("ES5501: Starting!\n");
state = STATE_RUNNING;
-
+
UINT8 addr;
char buf[1024];
for (addr = 0; addr < 0xa0; addr++) {
- DESCRIBE_INSTR(buf, instr[addr], gpr[addr]);
- logerror("%02x: %012" I64FMT "x %06x %s\n", addr, instr[addr], gpr[addr]&0xffffff, buf);
+ DESCRIBE_INSTR(buf, instr[addr], gpr[addr]);
+ logerror("%02x: %012" I64FMT "x %06x %s\n", addr, instr[addr], gpr[addr]&0xffffff, buf);
}
for (; addr < 0xc0; addr++) {
- logerror("%02x: %06x (%d)\n", addr, gpr[addr]&0xffffff, gpr[addr]);
+ logerror("%02x: %06x (%d)\n", addr, gpr[addr]&0xffffff, gpr[addr]);
}
- }
- } else {
- // currently running, execute one instruction.
+ }
+ } else {
+ // currently running, execute one instruction.
+
+ ram_pp = ram_p;
+ ram_p = ram;
- ram_pp = ram_p;
- ram_p = ram;
-
- // *** T0, clock high
- // --- nothing to do!
+ // *** T0, clock high
+ // --- nothing to do!
- // *** T0, clock low
- // --- Read instruction N
- UINT64 instr = this->instr[pc];
+ // *** T0, clock low
+ // --- Read instruction N
+ UINT64 instr = this->instr[pc];
- // --- RAM cycle N-2 (if a Read cycle): data read from bus is stored in DIL
- if (ram_pp.cycle != RAM_CYCLE_WRITE) {
+ // --- RAM cycle N-2 (if a Read cycle): data read from bus is stored in DIL
+ if (ram_pp.cycle != RAM_CYCLE_WRITE) {
if (ram_pp.io) { // read from I/O and store into DIL
- dil = 0; // read_io(ram_pp.address);;
+ dil = 0; // read_io(ram_pp.address);;
} else { // read from DRAM and store into DIL
- dil = dram[ram_pp.address];
+ dil = dram[ram_pp.address];
}
- }
+ }
- // --- start of RAM cycle N
- ram_control_t ramControl = RAM_CONTROL[((instr >> 3) & 0x07)];
- ram.cycle = ramControl.cycle;
- ram.io = ramControl.access == RAM_CONTROL_IO;
+ // --- start of RAM cycle N
+ ram_control_t ramControl = RAM_CONTROL[((instr >> 3) & 0x07)];
+ ram.cycle = ramControl.cycle;
+ ram.io = ramControl.access == RAM_CONTROL_IO;
- // --- RAM cycle N: read offset N
- INT32 offset = gpr[pc];
- switch(ramControl.access) {
- case RAM_CONTROL_DELAY:
+ // --- RAM cycle N: read offset N
+ INT32 offset = gpr[pc];
+ switch(ramControl.access) {
+ case RAM_CONTROL_DELAY:
ram.address = (((dbase + offset) % (dlength + 1)) & memmask) >> memshift;
break;
- case RAM_CONTROL_TABLE_A:
+ case RAM_CONTROL_TABLE_A:
ram.address = ((abase + offset) & memmask) >> memshift;
break;
- case RAM_CONTROL_TABLE_B:
+ case RAM_CONTROL_TABLE_B:
ram.address = ((bbase + offset) & memmask) >> memshift;
break;
- case RAM_CONTROL_IO:
+ case RAM_CONTROL_IO:
ram.address = offset & 0x00fffff0; // mask off the low 4 bits
break;
- }
-
- // *** T1, clock high
- // --- Decode instruction N;
- // we will do this both here and in stages as the different parts of the instruction complete & recommence.
-
- UINT8 operandSelect = (UINT8)((instr >> 8) & 0x0f);
- const op_select_t &opSelect = OPERAND_SELECT[operandSelect];
- bool skip = false;
- bool skippable = ((instr >> 7) & 0x01) != 0; // aka the 'SKIP' bit in the instruction word
- if (skippable) {
+ }
+
+ // *** T1, clock high
+ // --- Decode instruction N;
+ // we will do this both here and in stages as the different parts of the instruction complete & recommence.
+
+ UINT8 operandSelect = (UINT8)((instr >> 8) & 0x0f);
+ const op_select_t &opSelect = OPERAND_SELECT[operandSelect];
+ bool skip = false;
+ bool skippable = ((instr >> 7) & 0x01) != 0; // aka the 'SKIP' bit in the instruction word
+ if (skippable) {
bool skipConditionSatisfied = (ccr & cmr & FLAG_MASK) != 0;
if (isFlagSet(cmr, FLAG_NOT)) {
- skipConditionSatisfied = !skipConditionSatisfied;
+ skipConditionSatisfied = !skipConditionSatisfied;
}
skip = skipConditionSatisfied;
- }
+ }
- // --- Write Multiplier result N-1
- if (mulacc.write_result) {
+ // --- Write Multiplier result N-1
+ if (mulacc.write_result) {
mulacc.product = (mulacc.cValue * mulacc.dValue) << mulshift;
mulacc.result = (mulacc.accumulate ? machl : 0) + mulacc.product;
INT32 tmp = (mulacc.result & U64(0x0000ffffff000000)) >> 24;
if (mulacc.dst & SRC_DST_REG) {
- machl = mulacc.result;
- write_reg(mulacc.cReg, tmp);
+ machl = mulacc.result;
+ write_reg(mulacc.cReg, tmp);
}
if (mulacc.dst & SRC_DST_DELAY) {
- write_to_dol(tmp);
+ write_to_dol(tmp);
}
- }
-
- // *** T1, clock low
- // --- Start of multiplier cycle N
- mulacc.cReg = (UINT8)((instr >> 32) & 0xff);
- mulacc.dReg = (UINT8)((instr >> 40) & 0xff);
- mulacc.src = opSelect.mac_src;
- mulacc.dst = opSelect.mac_dst;
- mulacc.accumulate = ((instr >> 6) & 0x01) != 0;
- mulacc.write_result = skip;
-
- // --- Read Multiplier Operands N
- if (mulacc.src == SRC_DST_REG) {
+ }
+
+ // *** T1, clock low
+ // --- Start of multiplier cycle N
+ mulacc.cReg = (UINT8)((instr >> 32) & 0xff);
+ mulacc.dReg = (UINT8)((instr >> 40) & 0xff);
+ mulacc.src = opSelect.mac_src;
+ mulacc.dst = opSelect.mac_dst;
+ mulacc.accumulate = ((instr >> 6) & 0x01) != 0;
+ mulacc.write_result = skip;
+
+ // --- Read Multiplier Operands N
+ if (mulacc.src == SRC_DST_REG) {
mulacc.cValue = read_reg(mulacc.cReg);
- } else { // must be SRC_DST_DELAY
+ } else { // must be SRC_DST_DELAY
mulacc.cValue = dil;
- }
- mulacc.dValue = read_reg(mulacc.dReg);
-
- // *** T2, clock high
- // --- Write ALU Result N-1
- if (alu.write_result) {
+ }
+ mulacc.dValue = read_reg(mulacc.dReg);
+
+ // *** T2, clock high
+ // --- Write ALU Result N-1
+ if (alu.write_result) {
UINT8 flags = ccr;
alu.result = alu_operation(alu.op, alu.aValue, alu.bValue, flags);
if (alu.dst & SRC_DST_REG) {
- write_reg(alu.aReg, alu.result);
+ write_reg(alu.aReg, alu.result);
}
if (alu.dst & SRC_DST_DELAY) {
- write_to_dol(alu.result);
+ write_to_dol(alu.result);
}
if (alu.update_ccr) {
- ccr = flags;
- }
- }
-
- // *** T2, clock low
- // --- Start of ALU cycle N
- alu.aReg = (instr >> 16) & 0xff;
- alu.bReg = (instr >> 24) & 0xff;
- alu.op = (instr >> 12) & 0x0f;
- alu.src = opSelect.alu_src;
- alu.dst = opSelect.alu_dst;
- alu.write_result = skip;
- alu.update_ccr = !skippable || (alu.op == OP_CMP);
-
- // --- Read ALU Operands N
- alu_op_t aluOp = ALU_OPS[alu.op];
- if (aluOp.operands == 2) {
+ ccr = flags;
+ }
+ }
+
+ // *** T2, clock low
+ // --- Start of ALU cycle N
+ alu.aReg = (instr >> 16) & 0xff;
+ alu.bReg = (instr >> 24) & 0xff;
+ alu.op = (instr >> 12) & 0x0f;
+ alu.src = opSelect.alu_src;
+ alu.dst = opSelect.alu_dst;
+ alu.write_result = skip;
+ alu.update_ccr = !skippable || (alu.op == OP_CMP);
+
+ // --- Read ALU Operands N
+ alu_op_t aluOp = ALU_OPS[alu.op];
+ if (aluOp.operands == 2) {
if (alu.src == SRC_DST_REG) {
- alu.aValue = read_reg(alu.aReg);
+ alu.aValue = read_reg(alu.aReg);
} else { // must be SRC_DST_DELAY
- alu.aValue = dil;
+ alu.aValue = dil;
}
- }
- if (aluOp.operands >= 1) {
+ }
+ if (aluOp.operands >= 1) {
alu.bValue = read_reg(alu.bReg);
- }
+ }
- // --- RAM cycle N-1
- if (ram_p.cycle != RAM_CYCLE_READ) {
+ // --- RAM cycle N-1
+ if (ram_p.cycle != RAM_CYCLE_READ) {
if (ram_p.cycle == RAM_CYCLE_WRITE) {
- // If this is a write cycle, write the frontmost DOL value to RAM or I/O
- if (ram_p.io) {
- // write_io(ram_p.io, dol[0]);
- } else {
- dram[ram_p.address] = dol[0];
- }
+ // If this is a write cycle, write the frontmost DOL value to RAM or I/O
+ if (ram_p.io) {
+ // write_io(ram_p.io, dol[0]);
+ } else {
+ dram[ram_p.address] = dol[0];
+ }
}
// If this is a Write or Dump cycle, eject the frontmost DL value.
dol[0] = dol[1];
if (dol_count > 0) {
- --dol_count;
+ --dol_count;
}
- }
+ }
- ++pc;
- }
- --icount;
- }
+ ++pc;
+ }
+ --icount;
+ }
}
UINT32 es5510_device::disasm_min_opcode_bytes() const
{
- return 6;
+ return 6;
}
UINT32 es5510_device::disasm_max_opcode_bytes() const
{
- return 6;
+ return 6;
}
offs_t es5510_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
{
- return pc;
+ return pc;
}
INT32 es5510_device::read_reg(UINT8 reg)
{
- if (reg < 0xc0) {
- return gpr[reg];
- } else {
- switch(reg)
- {
- case 234: return ser0r;
- case 235: return ser0l;
- case 236: return ser1r;
- case 237: return ser1l;
- case 238: return ser2r;
- case 239: return ser2l;
- case 240: return ser3r;
- case 241: return ser3l;
- case 242: return (machl >> 0) & 0x00ffffff;
- case 243: return (machl >> 24) & 0x00ffffff;
- case 244: return dil; // DIL when reading
- case 245: return dlength;
- case 246: return abase;
- case 247: return bbase;
- case 248: return dbase;
- case 249: return sigreg;
- case 250: return ccr;
- case 251: return cmr;
- case 252: return 0x00ffffff;
- case 253: return 0x00800000;
- case 254: return 0x007fffff;
- case 255: return 0x00000000;
- default:
- // unknown SPR
- return 0;
- }
- }
+ if (reg < 0xc0) {
+ return gpr[reg];
+ } else {
+ switch(reg)
+ {
+ case 234: return ser0r;
+ case 235: return ser0l;
+ case 236: return ser1r;
+ case 237: return ser1l;
+ case 238: return ser2r;
+ case 239: return ser2l;
+ case 240: return ser3r;
+ case 241: return ser3l;
+ case 242: return (machl >> 0) & 0x00ffffff;
+ case 243: return (machl >> 24) & 0x00ffffff;
+ case 244: return dil; // DIL when reading
+ case 245: return dlength;
+ case 246: return abase;
+ case 247: return bbase;
+ case 248: return dbase;
+ case 249: return sigreg;
+ case 250: return ccr;
+ case 251: return cmr;
+ case 252: return 0x00ffffff;
+ case 253: return 0x00800000;
+ case 254: return 0x007fffff;
+ case 255: return 0x00000000;
+ default:
+ // unknown SPR
+ return 0;
+ }
+ }
}
INT8 countLowOnes(INT32 x) {
- INT8 n = 0;
- while ((x & 1) == 1) {
- ++n;
- x >>= 1;
- }
- return n;
+ INT8 n = 0;
+ while ((x & 1) == 1) {
+ ++n;
+ x >>= 1;
+ }
+ return n;
}
void es5510_device::write_reg(UINT8 reg, INT32 value)
{
- value &= 0x00ffffff;
- if (reg < 0xc0) {
- gpr[reg] = value;
- } else {
- switch(reg)
- {
- case 234: ser0r = value;
- case 235: ser0l = value;
- case 236: ser1r = value;
- case 237: ser1l = value;
- case 238: ser2r = value;
- case 239: ser2l = value;
- case 240: ser3r = value;
- case 241: ser3l = value;
- case 242: machl = (machl & ~((INT64)0x00ffffff << 0)) | (value << 0);
- case 243: machl = (machl & ~((INT64)0x00ffffff << 24)) | (value << 24);
- case 244:
- memshift = countLowOnes(value);
- memsiz = 0x00ffffff >> (24 - memshift);
- memmask = 0x00ffffff & ~memsiz;
- memincrement = 1 << memshift;
- case 245: dlength = value;
- case 246: abase = value;
- case 247: bbase = value;
- case 248: dbase = value;
- case 249: sigreg = (value != 0);
- case 250: ccr = (value >> 16) & FLAG_MASK;
- case 251: cmr = (value >> 16) & (FLAG_MASK | FLAG_NOT);
- case 252: // no-op
- case 253: // no-op
- case 254: // no-op
- case 255: // no-op
- default:
- // unknown register
- ;
- }
- }
+ value &= 0x00ffffff;
+ if (reg < 0xc0) {
+ gpr[reg] = value;
+ } else {
+ switch(reg)
+ {
+ case 234: ser0r = value;
+ case 235: ser0l = value;
+ case 236: ser1r = value;
+ case 237: ser1l = value;
+ case 238: ser2r = value;
+ case 239: ser2l = value;
+ case 240: ser3r = value;
+ case 241: ser3l = value;
+ case 242: machl = (machl & ~((INT64)0x00ffffff << 0)) | (value << 0);
+ case 243: machl = (machl & ~((INT64)0x00ffffff << 24)) | (value << 24);
+ case 244:
+ memshift = countLowOnes(value);
+ memsiz = 0x00ffffff >> (24 - memshift);
+ memmask = 0x00ffffff & ~memsiz;
+ memincrement = 1 << memshift;
+ case 245: dlength = value;
+ case 246: abase = value;
+ case 247: bbase = value;
+ case 248: dbase = value;
+ case 249: sigreg = (value != 0);
+ case 250: ccr = (value >> 16) & FLAG_MASK;
+ case 251: cmr = (value >> 16) & (FLAG_MASK | FLAG_NOT);
+ case 252: // no-op
+ case 253: // no-op
+ case 254: // no-op
+ case 255: // no-op
+ default:
+ // unknown register
+ ;
+ }
+ }
}
void es5510_device::write_to_dol(INT32 value) {
- if (dol_count >= 2) {
- dol[0] = dol[1];
- dol[1] = value;
- } else {
- dol[dol_count++] = value;
- }
+ if (dol_count >= 2) {
+ dol[0] = dol[1];
+ dol[1] = value;
+ } else {
+ dol[dol_count++] = value;
+ }
}
INT32 es5510_device::alu_operation(UINT8 op, INT32 a, INT32 b, UINT8 &flags) {
- switch(op) {
- case 0x0: // ADD
- return saturate(add(a, b, flags), flags);
-
- case 0x1: // SUB
- return saturate(add(a, negate(b), flags), flags);
-
- case 0x2: // ADDU
- return add(a, b, flags);
-
- case 0x3: // SUBU
- return add(a, negate(b), flags);
-
- case 0x4: // CMP
- add(a, negate(b), flags);
- return a;
-
- case 0x5: // AND
- a &= b;
- setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
- setFlagTo(flags, FLAG_Z, a == 0);
- return a;
-
- case 0x6: // OR
- a |= b;
- setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
- setFlagTo(flags, FLAG_Z, a == 0);
- return a;
-
- case 0x7: // XOR
- a ^= b;
- setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
- setFlagTo(flags, FLAG_Z, a == 0);
- return a;
-
- case 0x8: // ABS
- {
- clearFlag(flags, FLAG_N);
- bool isNegative = (a & 0x00800000) != 0;
- setFlagTo(flags, FLAG_C, isNegative);
- if (isNegative) {
- a = (a ^ 0x00ffffff) + 1;
- }
- return a;
- }
-
- case 0x9: // MOV
- return b;
-
- case 0xA: // ASL2
- return asl(b, 2, flags);
-
- case 0xB: // ASL8
- return asl(b, 8, flags);
-
- case 0xC: // LS15
- return (b << 15) & 0x007fffff;
-
- case 0xD: // DIFF
- return add(0x007fffff, negate(b), flags);
-
- case 0xE: // ASR
- return (b >> 1) | (b & 0x00800000);
-
- case 0xF: // END
- // sample the HALT line
- if (input_state(ES5510_HALT)) {
- // halt
- state = STATE_HALTED;
- host_control |= 0x04; // Signal Host Access OK
- }
- // update the delay line base pointer
- dbase -= memincrement;
- if (dbase < 0) {
- dbase = dlength;
- }
-
- default:
- return 0;
- }
+ switch(op) {
+ case 0x0: // ADD
+ return saturate(add(a, b, flags), flags);
+
+ case 0x1: // SUB
+ return saturate(add(a, negate(b), flags), flags);
+
+ case 0x2: // ADDU
+ return add(a, b, flags);
+
+ case 0x3: // SUBU
+ return add(a, negate(b), flags);
+
+ case 0x4: // CMP
+ add(a, negate(b), flags);
+ return a;
+
+ case 0x5: // AND
+ a &= b;
+ setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
+ setFlagTo(flags, FLAG_Z, a == 0);
+ return a;
+
+ case 0x6: // OR
+ a |= b;
+ setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
+ setFlagTo(flags, FLAG_Z, a == 0);
+ return a;
+
+ case 0x7: // XOR
+ a ^= b;
+ setFlagTo(flags, FLAG_N, (a & 0x0080000000) != 0);
+ setFlagTo(flags, FLAG_Z, a == 0);
+ return a;
+
+ case 0x8: // ABS
+ {
+ clearFlag(flags, FLAG_N);
+ bool isNegative = (a & 0x00800000) != 0;
+ setFlagTo(flags, FLAG_C, isNegative);
+ if (isNegative) {
+ a = (a ^ 0x00ffffff) + 1;
+ }
+ return a;
+ }
+
+ case 0x9: // MOV
+ return b;
+
+ case 0xA: // ASL2
+ return asl(b, 2, flags);
+
+ case 0xB: // ASL8
+ return asl(b, 8, flags);
+
+ case 0xC: // LS15
+ return (b << 15) & 0x007fffff;
+
+ case 0xD: // DIFF
+ return add(0x007fffff, negate(b), flags);
+
+ case 0xE: // ASR
+ return (b >> 1) | (b & 0x00800000);
+
+ case 0xF: // END
+ // sample the HALT line
+ if (input_state(ES5510_HALT)) {
+ // halt
+ state = STATE_HALTED;
+ host_control |= 0x04; // Signal Host Access OK
+ }
+ // update the delay line base pointer
+ dbase -= memincrement;
+ if (dbase < 0) {
+ dbase = dlength;
+ }
+
+ default:
+ return 0;
+ }
}
diff --git a/src/emu/cpu/es5510/es5510.h b/src/emu/cpu/es5510/es5510.h
index 0ebb2462357..cdc42b27a0c 100644
--- a/src/emu/cpu/es5510/es5510.h
+++ b/src/emu/cpu/es5510/es5510.h
@@ -13,163 +13,163 @@
#include "emu.h"
class es5510_device : public cpu_device {
- public:
- es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
- DECLARE_READ8_MEMBER(host_r);
- DECLARE_WRITE8_MEMBER(host_w);
-
- DECLARE_READ16_MEMBER(ser_r);
- DECLARE_WRITE16_MEMBER(ser_w);
-
- enum line_t {
- ES5510_HALT = 0
- };
-
- enum state_t {
- STATE_RUNNING = 0,
- STATE_HALTED = 1
- };
-
- struct alu_op_t {
- int operands;
- const char * const opcode;
- };
-
- enum op_src_dst_t {
- SRC_DST_REG = 1 << 0,
- SRC_DST_DELAY = 1 << 1,
- SRC_DST_BOTH = (1 << 0) | (1 << 1)
- };
-
- struct op_select_t {
- const op_src_dst_t alu_src;
- const op_src_dst_t alu_dst;
- const op_src_dst_t mac_src;
- const op_src_dst_t mac_dst;
- };
-
- enum ram_control_access_t {
- RAM_CONTROL_DELAY = 0,
- RAM_CONTROL_TABLE_A,
- RAM_CONTROL_TABLE_B,
- RAM_CONTROL_IO
- };
-
- enum ram_cycle_t {
- RAM_CYCLE_READ = 0,
- RAM_CYCLE_WRITE = 1,
- RAM_CYCLE_DUMP_FIFO = 2
- };
-
- struct ram_control_t {
- ram_cycle_t cycle;
- ram_control_access_t access;
- const char * const description;
- };
-
- static const alu_op_t ALU_OPS[16];
- static const op_select_t OPERAND_SELECT[16];
- static const ram_control_t RAM_CONTROL[8];
-
- struct alu_t {
- UINT8 aReg;
- UINT8 bReg;
- op_src_dst_t src;
- op_src_dst_t dst;
- UINT8 op;
- INT32 aValue;
- INT32 bValue;
- INT32 result;
- bool update_ccr;
- bool write_result;
- };
-
- struct mulacc_t {
- UINT8 cReg;
- UINT8 dReg;
- op_src_dst_t src;
- op_src_dst_t dst;
- bool accumulate;
- INT64 cValue;
- INT64 dValue;
- INT64 product;
- INT64 result;
- bool write_result;
- };
-
- struct ram_t {
- INT32 address; // up to 20 bits, left-justified within the right 24 bits of the 32-bit word
- bool io; // I/O space, rather than delay line memory
- ram_cycle_t cycle; // cycle type
- };
-
- protected:
- virtual void device_start();
- virtual void device_reset();
- virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
- virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const;
- virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const;
- virtual UINT32 execute_min_cycles() const;
- virtual UINT32 execute_max_cycles() const;
- virtual UINT32 execute_input_lines() const;
- virtual void execute_run();
- virtual UINT32 disasm_min_opcode_bytes() const;
- virtual UINT32 disasm_max_opcode_bytes() const;
- virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
-
- INT32 read_reg(UINT8 reg);
- void write_reg(UINT8 reg, INT32 value);
- void write_to_dol(INT32 value);
-
- INT32 alu_operation(UINT8 op, INT32 aValue, INT32 bValue, UINT8 &flags);
-
- private:
- int icount;
- UINT8 pc;
- state_t state;
- INT32 gpr[0xc0]; // 24 bits, right justified and sign extended
- INT32 ser0r;
- INT32 ser0l;
- INT32 ser1r;
- INT32 ser1l;
- INT32 ser2r;
- INT32 ser2l;
- INT32 ser3r;
- INT32 ser3l;
- INT64 machl; // 48 bits, right justified and sign extended
- INT32 dil;
- INT32 memsiz;
- INT32 memmask;
- INT32 memincrement;
- INT8 memshift;
- INT32 dlength;
- INT32 abase;
- INT32 bbase;
- INT32 dbase;
- INT32 sigreg;
- int mulshift;
- INT8 ccr; // really, 5 bits, left justified
- INT8 cmr; // really, 6 bits, left justified
- INT32 dol[2];
- int dol_count;
-
- UINT64 instr[160]; // 48 bits, right justified
- UINT16 dram[1<<20]; // there are up to 20 address bits (at least 16 expected), left justified within the 24 bits of a gpr or dadr; we preallocate all of it.
-
- // latch registers for host interaction
- INT32 dol_latch; // 24 bits
- INT32 dil_latch; // 24 bits
- UINT32 dadr_latch; // 24 bits
- INT32 gpr_latch; // 24 bits, holding up to 20 address bits, left justified
- UINT64 instr_latch; // 48 bits, right justified
- UINT8 ram_sel; // effectively a boolean
- UINT8 host_control; //
-
- // currently executing instruction(s)
- alu_t alu;
- mulacc_t mulacc;
- ram_t ram, ram_p, ram_pp; // ram operations for cycles N, N-1 and N-2
+ public:
+ es5510_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ DECLARE_READ8_MEMBER(host_r);
+ DECLARE_WRITE8_MEMBER(host_w);
+
+ DECLARE_READ16_MEMBER(ser_r);
+ DECLARE_WRITE16_MEMBER(ser_w);
+
+ enum line_t {
+ ES5510_HALT = 0
+ };
+
+ enum state_t {
+ STATE_RUNNING = 0,
+ STATE_HALTED = 1
+ };
+
+ struct alu_op_t {
+ int operands;
+ const char * const opcode;
+ };
+
+ enum op_src_dst_t {
+ SRC_DST_REG = 1 << 0,
+ SRC_DST_DELAY = 1 << 1,
+ SRC_DST_BOTH = (1 << 0) | (1 << 1)
+ };
+
+ struct op_select_t {
+ const op_src_dst_t alu_src;
+ const op_src_dst_t alu_dst;
+ const op_src_dst_t mac_src;
+ const op_src_dst_t mac_dst;
+ };
+
+ enum ram_control_access_t {
+ RAM_CONTROL_DELAY = 0,
+ RAM_CONTROL_TABLE_A,
+ RAM_CONTROL_TABLE_B,
+ RAM_CONTROL_IO
+ };
+
+ enum ram_cycle_t {
+ RAM_CYCLE_READ = 0,
+ RAM_CYCLE_WRITE = 1,
+ RAM_CYCLE_DUMP_FIFO = 2
+ };
+
+ struct ram_control_t {
+ ram_cycle_t cycle;
+ ram_control_access_t access;
+ const char * const description;
+ };
+
+ static const alu_op_t ALU_OPS[16];
+ static const op_select_t OPERAND_SELECT[16];
+ static const ram_control_t RAM_CONTROL[8];
+
+ struct alu_t {
+ UINT8 aReg;
+ UINT8 bReg;
+ op_src_dst_t src;
+ op_src_dst_t dst;
+ UINT8 op;
+ INT32 aValue;
+ INT32 bValue;
+ INT32 result;
+ bool update_ccr;
+ bool write_result;
+ };
+
+ struct mulacc_t {
+ UINT8 cReg;
+ UINT8 dReg;
+ op_src_dst_t src;
+ op_src_dst_t dst;
+ bool accumulate;
+ INT64 cValue;
+ INT64 dValue;
+ INT64 product;
+ INT64 result;
+ bool write_result;
+ };
+
+ struct ram_t {
+ INT32 address; // up to 20 bits, left-justified within the right 24 bits of the 32-bit word
+ bool io; // I/O space, rather than delay line memory
+ ram_cycle_t cycle; // cycle type
+ };
+
+ protected:
+ virtual void device_start();
+ virtual void device_reset();
+ virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
+ virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const;
+ virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const;
+ virtual UINT32 execute_min_cycles() const;
+ virtual UINT32 execute_max_cycles() const;
+ virtual UINT32 execute_input_lines() const;
+ virtual void execute_run();
+ virtual UINT32 disasm_min_opcode_bytes() const;
+ virtual UINT32 disasm_max_opcode_bytes() const;
+ virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
+
+ INT32 read_reg(UINT8 reg);
+ void write_reg(UINT8 reg, INT32 value);
+ void write_to_dol(INT32 value);
+
+ INT32 alu_operation(UINT8 op, INT32 aValue, INT32 bValue, UINT8 &flags);
+
+ private:
+ int icount;
+ UINT8 pc;
+ state_t state;
+ INT32 gpr[0xc0]; // 24 bits, right justified and sign extended
+ INT32 ser0r;
+ INT32 ser0l;
+ INT32 ser1r;
+ INT32 ser1l;
+ INT32 ser2r;
+ INT32 ser2l;
+ INT32 ser3r;
+ INT32 ser3l;
+ INT64 machl; // 48 bits, right justified and sign extended
+ INT32 dil;
+ INT32 memsiz;
+ INT32 memmask;
+ INT32 memincrement;
+ INT8 memshift;
+ INT32 dlength;
+ INT32 abase;
+ INT32 bbase;
+ INT32 dbase;
+ INT32 sigreg;
+ int mulshift;
+ INT8 ccr; // really, 5 bits, left justified
+ INT8 cmr; // really, 6 bits, left justified
+ INT32 dol[2];
+ int dol_count;
+
+ UINT64 instr[160]; // 48 bits, right justified
+ UINT16 dram[1<<20]; // there are up to 20 address bits (at least 16 expected), left justified within the 24 bits of a gpr or dadr; we preallocate all of it.
+
+ // latch registers for host interaction
+ INT32 dol_latch; // 24 bits
+ INT32 dil_latch; // 24 bits
+ UINT32 dadr_latch; // 24 bits
+ INT32 gpr_latch; // 24 bits, holding up to 20 address bits, left justified
+ UINT64 instr_latch; // 48 bits, right justified
+ UINT8 ram_sel; // effectively a boolean
+ UINT8 host_control; //
+
+ // currently executing instruction(s)
+ alu_t alu;
+ mulacc_t mulacc;
+ ram_t ram, ram_p, ram_pp; // ram operations for cycles N, N-1 and N-2
};
extern const device_type ES5510;
diff --git a/src/emu/cpu/lr35902/lr35902.h b/src/emu/cpu/lr35902/lr35902.h
index 8a9da5cdaa5..95e8f4a16a7 100644
--- a/src/emu/cpu/lr35902/lr35902.h
+++ b/src/emu/cpu/lr35902/lr35902.h
@@ -5,15 +5,12 @@
#define MCFG_LR35902_TIMER_CB(_devcb) \
- lr35902_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb); \
-
+ lr35902_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb);
#define MCFG_LR35902_HALT_BUG \
- lr35902_cpu_device::set_halt_bug(*device); \
-
+ lr35902_cpu_device::set_halt_bug(*device);
// This should be removed/improved once all gameboy boot roms have been dumped
#define MCFG_LR35902_RESET_VALUES(_regs) \
- lr35902_cpu_device::set_reset_values(*device, _regs); \
-
+ lr35902_cpu_device::set_reset_values(*device, _regs);
enum
{
diff --git a/src/emu/cpu/m6502/m6502.h b/src/emu/cpu/m6502/m6502.h
index 9fe6c9180a9..97b662fe8ee 100644
--- a/src/emu/cpu/m6502/m6502.h
+++ b/src/emu/cpu/m6502/m6502.h
@@ -128,7 +128,7 @@ protected:
DASM_imz, /* load immediate byte, store to zero page address (M740) */
DASM_spg, /* "special page": implied FF00 plus immediate value (M740)*/
DASM_biz, /* bit, zero page (M740) */
- DASM_bzr /* bit, zero page, relative offset (M740) */
+ DASM_bzr /* bit, zero page, relative offset (M740) */
};
enum {
diff --git a/src/emu/cpu/mips/r3000.c b/src/emu/cpu/mips/r3000.c
index 9366100810b..f2583757106 100644
--- a/src/emu/cpu/mips/r3000.c
+++ b/src/emu/cpu/mips/r3000.c
@@ -75,36 +75,36 @@
HELPER MACROS
***************************************************************************/
-#define RSREG ((m_op >> 21) & 31)
-#define RTREG ((m_op >> 16) & 31)
-#define RDREG ((m_op >> 11) & 31)
-#define SHIFT ((m_op >> 6) & 31)
+#define RSREG ((m_op >> 21) & 31)
+#define RTREG ((m_op >> 16) & 31)
+#define RDREG ((m_op >> 11) & 31)
+#define SHIFT ((m_op >> 6) & 31)
-#define RSVAL m_r[RSREG]
-#define RTVAL m_r[RTREG]
-#define RDVAL m_r[RDREG]
+#define RSVAL m_r[RSREG]
+#define RTVAL m_r[RTREG]
+#define RDVAL m_r[RDREG]
-#define SIMMVAL ((INT16)m_op)
-#define UIMMVAL ((UINT16)m_op)
-#define LIMMVAL (m_op & 0x03ffffff)
+#define SIMMVAL ((INT16)m_op)
+#define UIMMVAL ((UINT16)m_op)
+#define LIMMVAL (m_op & 0x03ffffff)
-#define ADDPC(x) do { m_nextpc = m_pc + ((x) << 2); } while (0)
-#define ADDPCL(x,l) do { m_nextpc = m_pc + ((x) << 2); m_r[l] = m_pc + 4; } while (0)
-#define ABSPC(x) do { m_nextpc = (m_pc & 0xf0000000) | ((x) << 2); } while (0)
-#define ABSPCL(x,l) do { m_nextpc = (m_pc & 0xf0000000) | ((x) << 2); m_r[l] = m_pc + 4; } while (0)
-#define SETPC(x) do { m_nextpc = (x); } while (0)
-#define SETPCL(x,l) do { m_nextpc = (x); m_r[l] = m_pc + 4; } while (0)
+#define ADDPC(x) do { m_nextpc = m_pc + ((x) << 2); } while (0)
+#define ADDPCL(x,l) do { m_nextpc = m_pc + ((x) << 2); m_r[l] = m_pc + 4; } while (0)
+#define ABSPC(x) do { m_nextpc = (m_pc & 0xf0000000) | ((x) << 2); } while (0)
+#define ABSPCL(x,l) do { m_nextpc = (m_pc & 0xf0000000) | ((x) << 2); m_r[l] = m_pc + 4; } while (0)
+#define SETPC(x) do { m_nextpc = (x); } while (0)
+#define SETPCL(x,l) do { m_nextpc = (x); m_r[l] = m_pc + 4; } while (0)
-#define RBYTE(x) (this->*m_cur->m_read_byte)(x)
-#define RWORD(x) (this->*m_cur->m_read_word)(x)
-#define RLONG(x) (this->*m_cur->m_read_dword)(x)
+#define RBYTE(x) (this->*m_cur->m_read_byte)(x)
+#define RWORD(x) (this->*m_cur->m_read_word)(x)
+#define RLONG(x) (this->*m_cur->m_read_dword)(x)
-#define WBYTE(x,v) (this->*m_cur->m_write_byte)(x, v)
-#define WWORD(x,v) (this->*m_cur->m_write_word)(x, v)
-#define WLONG(x,v) (this->*m_cur->m_write_dword)(x, v)
+#define WBYTE(x,v) (this->*m_cur->m_write_byte)(x, v)
+#define WWORD(x,v) (this->*m_cur->m_write_word)(x, v)
+#define WLONG(x,v) (this->*m_cur->m_write_dword)(x, v)
-#define SR m_cpr[0][COP0_Status]
-#define CAUSE m_cpr[0][COP0_Cause]
+#define SR m_cpr[0][COP0_Status]
+#define CAUSE m_cpr[0][COP0_Cause]
//**************************************************************************
@@ -227,7 +227,7 @@ void r3000_device::device_start()
m_icache_size = 4096;
m_dcache_size = 2048;
break;
- }
+ }
case CHIP_TYPE_R3052:
{
m_icache_size = 8192;
@@ -238,17 +238,17 @@ void r3000_device::device_start()
// TODO: R3071 and R3081 have configurable cache sizes
case CHIP_TYPE_R3071:
{
- m_icache_size = 16384; // or 8kB
- m_dcache_size = 4096; // or 8kB
+ m_icache_size = 16384; // or 8kB
+ m_dcache_size = 4096; // or 8kB
break;
}
case CHIP_TYPE_R3081:
{
- m_icache_size = 16384; // or 8kB
- m_dcache_size = 4096; // or 8kB
+ m_icache_size = 16384; // or 8kB
+ m_dcache_size = 4096; // or 8kB
m_hasfpu = true;
break;
- }
+ }
}
// allocate cache memory
@@ -286,7 +286,7 @@ void r3000_device::device_start()
m_lwr = &r3000_device::lwr_le;
m_swl = &r3000_device::swl_le;
m_swr = &r3000_device::swr_le;
-
+
m_cache_hand.m_read_byte = &r3000_device::readcache_le;
m_cache_hand.m_read_word = &r3000_device::readcache_le_word;
m_cache_hand.m_read_dword = &r3000_device::readcache_le_dword;
@@ -302,44 +302,44 @@ void r3000_device::device_start()
m_in_brcond3.resolve_safe(0);
// register our state for the debugger
- state_add(STATE_GENPC, "GENPC", m_pc).noshow();
- state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow();
- state_add(STATE_GENSP, "GENSP", m_r[31]).noshow();
- state_add(STATE_GENFLAGS, "GENFLAGS", SR).callimport().callexport().formatstr("%6s").noshow();
- state_add(R3000_PC, "PC", m_pc);
- state_add(R3000_SR, "SR", SR);
- state_add(R3000_R0, "R0", m_r[0]);
- state_add(R3000_R1, "R1", m_r[1]);
- state_add(R3000_R2, "R2", m_r[2]);
- state_add(R3000_R3, "R3", m_r[3]);
- state_add(R3000_R4, "R4", m_r[4]);
- state_add(R3000_R5, "R5", m_r[5]);
- state_add(R3000_R6, "R6", m_r[6]);
- state_add(R3000_R7, "R7", m_r[7]);
- state_add(R3000_R8, "R8", m_r[8]);
- state_add(R3000_R9, "R9", m_r[9]);
- state_add(R3000_R10, "R10", m_r[10]);
- state_add(R3000_R11, "R11", m_r[11]);
- state_add(R3000_R12, "R12", m_r[12]);
- state_add(R3000_R13, "R13", m_r[13]);
- state_add(R3000_R14, "R14", m_r[14]);
- state_add(R3000_R15, "R15", m_r[15]);
- state_add(R3000_R16, "R16", m_r[16]);
- state_add(R3000_R17, "R17", m_r[17]);
- state_add(R3000_R18, "R18", m_r[18]);
- state_add(R3000_R19, "R19", m_r[19]);
- state_add(R3000_R20, "R20", m_r[20]);
- state_add(R3000_R21, "R21", m_r[21]);
- state_add(R3000_R22, "R22", m_r[22]);
- state_add(R3000_R23, "R23", m_r[23]);
- state_add(R3000_R24, "R24", m_r[24]);
- state_add(R3000_R25, "R25", m_r[25]);
- state_add(R3000_R26, "R26", m_r[26]);
- state_add(R3000_R27, "R27", m_r[27]);
- state_add(R3000_R28, "R28", m_r[28]);
- state_add(R3000_R29, "R29", m_r[29]);
- state_add(R3000_R30, "R30", m_r[30]);
- state_add(R3000_R31, "R31", m_r[31]);
+ state_add(STATE_GENPC, "GENPC", m_pc).noshow();
+ state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow();
+ state_add(STATE_GENSP, "GENSP", m_r[31]).noshow();
+ state_add(STATE_GENFLAGS, "GENFLAGS", SR).callimport().callexport().formatstr("%6s").noshow();
+ state_add(R3000_PC, "PC", m_pc);
+ state_add(R3000_SR, "SR", SR);
+ state_add(R3000_R0, "R0", m_r[0]);
+ state_add(R3000_R1, "R1", m_r[1]);
+ state_add(R3000_R2, "R2", m_r[2]);
+ state_add(R3000_R3, "R3", m_r[3]);
+ state_add(R3000_R4, "R4", m_r[4]);
+ state_add(R3000_R5, "R5", m_r[5]);
+ state_add(R3000_R6, "R6", m_r[6]);
+ state_add(R3000_R7, "R7", m_r[7]);
+ state_add(R3000_R8, "R8", m_r[8]);
+ state_add(R3000_R9, "R9", m_r[9]);
+ state_add(R3000_R10, "R10", m_r[10]);
+ state_add(R3000_R11, "R11", m_r[11]);
+ state_add(R3000_R12, "R12", m_r[12]);
+ state_add(R3000_R13, "R13", m_r[13]);
+ state_add(R3000_R14, "R14", m_r[14]);
+ state_add(R3000_R15, "R15", m_r[15]);
+ state_add(R3000_R16, "R16", m_r[16]);
+ state_add(R3000_R17, "R17", m_r[17]);
+ state_add(R3000_R18, "R18", m_r[18]);
+ state_add(R3000_R19, "R19", m_r[19]);
+ state_add(R3000_R20, "R20", m_r[20]);
+ state_add(R3000_R21, "R21", m_r[21]);
+ state_add(R3000_R22, "R22", m_r[22]);
+ state_add(R3000_R23, "R23", m_r[23]);
+ state_add(R3000_R24, "R24", m_r[24]);
+ state_add(R3000_R25, "R25", m_r[25]);
+ state_add(R3000_R26, "R26", m_r[26]);
+ state_add(R3000_R27, "R27", m_r[27]);
+ state_add(R3000_R28, "R28", m_r[28]);
+ state_add(R3000_R29, "R29", m_r[29]);
+ state_add(R3000_R30, "R30", m_r[30]);
+ state_add(R3000_R31, "R31", m_r[31]);
// register our state for saving
save_item(NAME(m_pc));
@@ -358,7 +358,7 @@ void r3000_device::device_start()
//-------------------------------------------------
-// device_post_load -
+// device_post_load -
//-------------------------------------------------
void r3000_device::device_post_load()
{
@@ -749,8 +749,8 @@ inline void r3000_device::handle_cop0()
case 0x08: /* BC */
switch (RTREG)
{
- case 0x00: /* BCzF */ if (!m_in_brcond0()) ADDPC(SIMMVAL); break;
- case 0x01: /* BCzT */ if (m_in_brcond0()) ADDPC(SIMMVAL); break;
+ case 0x00: /* BCzF */ if (!m_in_brcond0()) ADDPC(SIMMVAL); break;
+ case 0x01: /* BCzT */ if (m_in_brcond0()) ADDPC(SIMMVAL); break;
case 0x02: /* BCzFL */ invalid_instruction(); break;
case 0x03: /* BCzTL */ invalid_instruction(); break;
default: invalid_instruction(); break;
@@ -828,8 +828,8 @@ inline void r3000_device::handle_cop1()
case 0x08: /* BC */
switch (RTREG)
{
- case 0x00: /* BCzF */ if (!m_in_brcond1()) ADDPC(SIMMVAL); break;
- case 0x01: /* BCzT */ if (m_in_brcond1()) ADDPC(SIMMVAL); break;
+ case 0x00: /* BCzF */ if (!m_in_brcond1()) ADDPC(SIMMVAL); break;
+ case 0x01: /* BCzT */ if (m_in_brcond1()) ADDPC(SIMMVAL); break;
case 0x02: /* BCzFL */ invalid_instruction(); break;
case 0x03: /* BCzTL */ invalid_instruction(); break;
default: invalid_instruction(); break;
@@ -894,8 +894,8 @@ inline void r3000_device::handle_cop2()
case 0x08: /* BC */
switch (RTREG)
{
- case 0x00: /* BCzF */ if (!m_in_brcond2()) ADDPC(SIMMVAL); break;
- case 0x01: /* BCzT */ if (m_in_brcond2()) ADDPC(SIMMVAL); break;
+ case 0x00: /* BCzF */ if (!m_in_brcond2()) ADDPC(SIMMVAL); break;
+ case 0x01: /* BCzT */ if (m_in_brcond2()) ADDPC(SIMMVAL); break;
case 0x02: /* BCzFL */ invalid_instruction(); break;
case 0x03: /* BCzTL */ invalid_instruction(); break;
default: invalid_instruction(); break;
@@ -960,8 +960,8 @@ inline void r3000_device::handle_cop3()
case 0x08: /* BC */
switch (RTREG)
{
- case 0x00: /* BCzF */ if (!m_in_brcond3()) ADDPC(SIMMVAL); break;
- case 0x01: /* BCzT */ if (m_in_brcond3()) ADDPC(SIMMVAL); break;
+ case 0x00: /* BCzF */ if (!m_in_brcond3()) ADDPC(SIMMVAL); break;
+ case 0x01: /* BCzT */ if (m_in_brcond3()) ADDPC(SIMMVAL); break;
case 0x02: /* BCzFL */ invalid_instruction(); break;
case 0x03: /* BCzTL */ invalid_instruction(); break;
default: invalid_instruction(); break;
diff --git a/src/emu/cpu/mips/r3000.h b/src/emu/cpu/mips/r3000.h
index 07711920f3b..edbc823d27c 100644
--- a/src/emu/cpu/mips/r3000.h
+++ b/src/emu/cpu/mips/r3000.h
@@ -13,7 +13,7 @@
/***************************************************************************
INTERFACE CONFIGURATION MACROS
***************************************************************************/
-
+
#define MCFG_R3000_ENDIANNESS(_endianness) \
r3000_device::static_set_endianness(*device, _endianness);
@@ -134,12 +134,12 @@ protected:
// memory accessors
struct r3000_data_accessors
{
- UINT8 (r3000_device::*m_read_byte)(offs_t byteaddress);
- UINT16 (r3000_device::*m_read_word)(offs_t byteaddress);
- UINT32 (r3000_device::*m_read_dword)(offs_t byteaddress);
- void (r3000_device::*m_write_byte)(offs_t byteaddress, UINT8 data);
- void (r3000_device::*m_write_word)(offs_t byteaddress, UINT16 data);
- void (r3000_device::*m_write_dword)(offs_t byteaddress, UINT32 data);
+ UINT8 (r3000_device::*m_read_byte)(offs_t byteaddress);
+ UINT16 (r3000_device::*m_read_word)(offs_t byteaddress);
+ UINT32 (r3000_device::*m_read_dword)(offs_t byteaddress);
+ void (r3000_device::*m_write_byte)(offs_t byteaddress, UINT8 data);
+ void (r3000_device::*m_write_word)(offs_t byteaddress, UINT16 data);
+ void (r3000_device::*m_write_dword)(offs_t byteaddress, UINT32 data);
};
UINT32 readop(offs_t pc);
@@ -213,13 +213,13 @@ protected:
direct_read_data *m_direct;
// configuration
- chip_type m_chip_type;
- bool m_hasfpu;
- endianness_t m_endianness;
+ chip_type m_chip_type;
+ bool m_hasfpu;
+ endianness_t m_endianness;
// core registers
UINT32 m_pc;
- UINT32 m_nextpc;
+ UINT32 m_nextpc;
UINT32 m_hi;
UINT32 m_lo;
UINT32 m_r[32];
@@ -229,8 +229,8 @@ protected:
UINT32 m_ccr[4][32];
// internal stuff
- UINT32 m_ppc;
- UINT32 m_op;
+ UINT32 m_ppc;
+ UINT32 m_op;
int m_icount;
int m_interrupt_cycles;
@@ -254,10 +254,10 @@ protected:
size_t m_dcache_size;
// I/O
- devcb2_read_line m_in_brcond0;
- devcb2_read_line m_in_brcond1;
- devcb2_read_line m_in_brcond2;
- devcb2_read_line m_in_brcond3;
+ devcb2_read_line m_in_brcond0;
+ devcb2_read_line m_in_brcond1;
+ devcb2_read_line m_in_brcond2;
+ devcb2_read_line m_in_brcond3;
};
diff --git a/src/emu/cpu/scudsp/scudspdasm.c b/src/emu/cpu/scudsp/scudspdasm.c
index afb750cf5ed..a69d86f83e5 100644
--- a/src/emu/cpu/scudsp/scudspdasm.c
+++ b/src/emu/cpu/scudsp/scudspdasm.c
@@ -239,9 +239,9 @@ static UINT8 add_table(UINT32 cur_opcode)
static UINT32 decode_opcode(UINT32 pc, const SCUDSP_OPCODE *op_table,UINT32 cur_opcode)
{
-// INT8 rel8;
-// UINT32 imm32;
-// UINT8 op2;
+// INT8 rel8;
+// UINT32 imm32;
+// UINT8 op2;
UINT32 flags = 0;
//if (!strcmp(op_table->mnemonic, "jsr") || !strcmp(op_table->mnemonic, "bsr"))
diff --git a/src/emu/cpu/sh2/sh2.c b/src/emu/cpu/sh2/sh2.c
index 88156208635..23e0d2d05c5 100644
--- a/src/emu/cpu/sh2/sh2.c
+++ b/src/emu/cpu/sh2/sh2.c
@@ -1860,7 +1860,7 @@ INLINE void op0000(sh2_state *sh2, UINT16 opcode)
case 0x06: MOVLS0(sh2, Rm, Rn); break;
case 0x07: MULL(sh2, Rm, Rn); break;
case 0x08: CLRT(sh2); break;
- case 0x09: NOP(); break;
+ case 0x09: NOP(); break;
case 0x0a: STSMACH(sh2, Rn); break;
case 0x0b: RTS(sh2); break;
case 0x0c: MOVBL0(sh2, Rm, Rn); break;
diff --git a/src/emu/cpu/sh2/sh2comn.c b/src/emu/cpu/sh2/sh2comn.c
index 0d6f798f79e..b692018df1c 100644
--- a/src/emu/cpu/sh2/sh2comn.c
+++ b/src/emu/cpu/sh2/sh2comn.c
@@ -32,7 +32,7 @@ INLINE UINT32 RL(sh2_state *sh2, offs_t A)
if (A >= 0xc0000000) /* Cache Data Array */
return sh2->program->read_dword(A);
- /* 0x60000000 Cache Address Data Array */
+ /* 0x60000000 Cache Address Data Array */
if (A >= 0x40000000) /* Cache Associative Purge Area */
return 0xa5a5a5a5;
@@ -56,7 +56,7 @@ INLINE void WL(sh2_state *sh2, offs_t A, UINT32 V)
return;
}
- /* 0x60000000 Cache Address Data Array */
+ /* 0x60000000 Cache Address Data Array */
if (A >= 0x40000000) /* Cache Associative Purge Area */
return;
@@ -575,13 +575,13 @@ WRITE32_HANDLER( sh2_internal_w )
// Standby and cache
case 0x24: // SBYCR, CCR
/*
- CCR
- xx-- ---- ---- ---- Way 0/1
- ---x ---- ---- ---- Cache Purge (CP)
- ---- x--- ---- ---- Two-Way Mode (TW)
- ---- -x-- ---- ---- Data Replacement Disable (OD)
- ---- --x- ---- ---- Instruction Replacement Disable (ID)
- ---- ---x ---- ---- Cache Enable (CE)
+ CCR
+ xx-- ---- ---- ---- Way 0/1
+ ---x ---- ---- ---- Cache Purge (CP)
+ ---- x--- ---- ---- Two-Way Mode (TW)
+ ---- -x-- ---- ---- Data Replacement Disable (OD)
+ ---- --x- ---- ---- Instruction Replacement Disable (ID)
+ ---- ---x ---- ---- Cache Enable (CE)
*/
break;
diff --git a/src/emu/cpu/sh2/sh2drc.c b/src/emu/cpu/sh2/sh2drc.c
index b56ced65b56..ecb0c98cc66 100644
--- a/src/emu/cpu/sh2/sh2drc.c
+++ b/src/emu/cpu/sh2/sh2drc.c
@@ -1807,7 +1807,7 @@ static int generate_group_0(sh2_state *sh2, drcuml_block *block, compiler_state
{
switch (opcode & 0x3F)
{
- case 0x00: // these are all illegal
+ case 0x00: // these are all illegal
case 0x01:
case 0x10:
case 0x11:
diff --git a/src/emu/cpu/sharc/sharcdsm.c b/src/emu/cpu/sharc/sharcdsm.c
index cfd09a3314f..320bd56746a 100644
--- a/src/emu/cpu/sharc/sharcdsm.c
+++ b/src/emu/cpu/sharc/sharcdsm.c
@@ -493,7 +493,7 @@ static UINT32 dasm_compute_dreg_dmpm(UINT32 pc, UINT64 opcode)
compute(comp);
print(", ");
}
- if (dmd)
+ if (dmd)
{
print("DM(%s, %s) = R%d, ", GET_DAG1_I(dmi), GET_DAG1_M(dmm), dmdreg);
}
diff --git a/src/emu/cpu/sm8500/sm8500.c b/src/emu/cpu/sm8500/sm8500.c
index 19d05724109..6bf07b7fb39 100644
--- a/src/emu/cpu/sm8500/sm8500.c
+++ b/src/emu/cpu/sm8500/sm8500.c
@@ -419,4 +419,3 @@ void sm8500_cpu_device::execute_set_input( int inptnum, int state )
m_program->write_byte(0x12, m_IR0);
m_program->write_byte(0x13, m_IR1);
}
-
diff --git a/src/emu/cpu/sm8500/sm8500.h b/src/emu/cpu/sm8500/sm8500.h
index 104b94a60e6..9ac92d7fcdc 100644
--- a/src/emu/cpu/sm8500/sm8500.h
+++ b/src/emu/cpu/sm8500/sm8500.h
@@ -4,12 +4,10 @@
#define __SM8500_H__
#define MCFG_SM8500_DMA_CB(_devcb) \
- sm8500_cpu_device::set_dma_cb(*device, DEVCB2_##_devcb); \
-
+ sm8500_cpu_device::set_dma_cb(*device, DEVCB2_##_devcb);
#define MCFG_SM8500_TIMER_CB(_devcb) \
- sm8500_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb); \
-
+ sm8500_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb);
enum
{
diff --git a/src/emu/debug/debugvw.c b/src/emu/debug/debugvw.c
index 7cf655d908f..307d9575fe8 100644
--- a/src/emu/debug/debugvw.c
+++ b/src/emu/debug/debugvw.c
@@ -61,9 +61,9 @@
debug_view_source::debug_view_source(const char *name, device_t *device)
: m_next(NULL),
- m_name(name),
- m_device(device),
- m_is_octal(false)
+ m_name(name),
+ m_device(device),
+ m_is_octal(false)
{
device_execute_interface *intf;
if (device && device->interface(intf))
@@ -92,9 +92,9 @@ debug_view_source::~debug_view_source()
debug_view_source_list::debug_view_source_list(running_machine &machine)
: m_machine(machine),
- m_head(NULL),
- m_tail(NULL),
- m_count(0)
+ m_head(NULL),
+ m_tail(NULL),
+ m_count(0)
{
}
@@ -206,24 +206,24 @@ const debug_view_source *debug_view_source_list::match_device(device_t *device)
debug_view::debug_view(running_machine &machine, debug_view_type type, debug_view_osd_update_func osdupdate, void *osdprivate)
: m_next(NULL),
- m_type(type),
- m_source(NULL),
- m_source_list(machine),
- m_osdupdate(osdupdate),
- m_osdprivate(osdprivate),
- m_visible(10,10),
- m_total(10,10),
- m_topleft(0,0),
- m_cursor(0,0),
- m_supports_cursor(false),
- m_cursor_visible(false),
- m_recompute(true),
- m_update_level(0),
- m_update_pending(true),
- m_osd_update_pending(true),
- m_viewdata(NULL),
- m_viewdata_size(0),
- m_machine(machine)
+ m_type(type),
+ m_source(NULL),
+ m_source_list(machine),
+ m_osdupdate(osdupdate),
+ m_osdprivate(osdprivate),
+ m_visible(10,10),
+ m_total(10,10),
+ m_topleft(0,0),
+ m_cursor(0,0),
+ m_supports_cursor(false),
+ m_cursor_visible(false),
+ m_recompute(true),
+ m_update_level(0),
+ m_update_pending(true),
+ m_osd_update_pending(true),
+ m_viewdata(NULL),
+ m_viewdata_size(0),
+ m_machine(machine)
{
// allocate memory for the buffer
m_viewdata_size = m_visible.y * m_visible.x;
@@ -451,7 +451,7 @@ void debug_view::view_click(const int button, const debug_view_xy& pos)
debug_view_manager::debug_view_manager(running_machine &machine)
: m_machine(machine),
- m_viewlist(NULL)
+ m_viewlist(NULL)
{
}
@@ -573,10 +573,10 @@ debug_view *debug_view_manager::append(debug_view *view)
debug_view_expression::debug_view_expression(running_machine &machine)
: m_machine(machine),
- m_dirty(true),
- m_result(0),
- m_parsed(debug_cpu_get_global_symtable(machine)),
- m_string("0")
+ m_dirty(true),
+ m_result(0),
+ m_parsed(debug_cpu_get_global_symtable(machine)),
+ m_string("0")
{
}
diff --git a/src/emu/debug/debugvw.h b/src/emu/debug/debugvw.h
index aba8094aebe..e5f4df80966 100644
--- a/src/emu/debug/debugvw.h
+++ b/src/emu/debug/debugvw.h
@@ -72,35 +72,35 @@ enum debug_view_notification
// attribute bits for debug_view_char.attrib
-const UINT8 DCA_NORMAL = 0x00; // in Windows: black on white
-const UINT8 DCA_CHANGED = 0x01; // in Windows: red foreground
-const UINT8 DCA_SELECTED = 0x02; // in Windows: light red background
-const UINT8 DCA_INVALID = 0x04; // in Windows: dark blue foreground
-const UINT8 DCA_DISABLED = 0x08; // in Windows: darker foreground
-const UINT8 DCA_ANCILLARY = 0x10; // in Windows: grey background
-const UINT8 DCA_CURRENT = 0x20; // in Windows: yellow background
-const UINT8 DCA_COMMENT = 0x40; // in Windows: green foreground
+const UINT8 DCA_NORMAL = 0x00; // in Windows: black on white
+const UINT8 DCA_CHANGED = 0x01; // in Windows: red foreground
+const UINT8 DCA_SELECTED = 0x02; // in Windows: light red background
+const UINT8 DCA_INVALID = 0x04; // in Windows: dark blue foreground
+const UINT8 DCA_DISABLED = 0x08; // in Windows: darker foreground
+const UINT8 DCA_ANCILLARY = 0x10; // in Windows: grey background
+const UINT8 DCA_CURRENT = 0x20; // in Windows: yellow background
+const UINT8 DCA_COMMENT = 0x40; // in Windows: green foreground
// special characters that can be passed to process_char()
-const int DCH_UP = 1; // up arrow
-const int DCH_DOWN = 2; // down arrow
-const int DCH_LEFT = 3; // left arrow
-const int DCH_RIGHT = 4; // right arrow
-const int DCH_PUP = 5; // page up
-const int DCH_PDOWN = 6; // page down
-const int DCH_HOME = 7; // home
-const int DCH_CTRLHOME = 8; // ctrl+home
-const int DCH_END = 9; // end
-const int DCH_CTRLEND = 10; // ctrl+end
-const int DCH_CTRLRIGHT = 11; // ctrl+right
-const int DCH_CTRLLEFT = 12; // ctrl+left
+const int DCH_UP = 1; // up arrow
+const int DCH_DOWN = 2; // down arrow
+const int DCH_LEFT = 3; // left arrow
+const int DCH_RIGHT = 4; // right arrow
+const int DCH_PUP = 5; // page up
+const int DCH_PDOWN = 6; // page down
+const int DCH_HOME = 7; // home
+const int DCH_CTRLHOME = 8; // ctrl+home
+const int DCH_END = 9; // end
+const int DCH_CTRLEND = 10; // ctrl+end
+const int DCH_CTRLRIGHT = 11; // ctrl+right
+const int DCH_CTRLLEFT = 12; // ctrl+left
// special characters that can be passed to process_click()
-const int DCK_LEFT_CLICK = 1; // left instantaneous click
-const int DCK_RIGHT_CLICK = 2; // right instantaneous click
-const int DCK_MIDDLE_CLICK = 3; // middle instantaneous click
+const int DCK_LEFT_CLICK = 1; // left instantaneous click
+const int DCK_RIGHT_CLICK = 2; // right instantaneous click
+const int DCK_MIDDLE_CLICK = 3; // middle instantaneous click
//**************************************************************************
@@ -118,8 +118,8 @@ typedef void (*debug_view_osd_update_func)(debug_view &view, void *osdprivate);
// a single "character" in the debug view has an ASCII value and an attribute byte
struct debug_view_char
{
- UINT8 byte;
- UINT8 attrib;
+ UINT8 byte;
+ UINT8 attrib;
};
@@ -129,8 +129,8 @@ class debug_view_xy
public:
debug_view_xy(int _x = 0, int _y = 0) : x(_x), y(_y) { }
- INT32 x;
- INT32 y;
+ INT32 x;
+ INT32 y;
};
@@ -154,10 +154,10 @@ public:
private:
// internal state
- debug_view_source * m_next; // link to next item
- astring m_name; // name of the source item
- device_t * m_device; // associated device (if applicable)
- bool m_is_octal; // is view in octal or hex
+ debug_view_source * m_next; // link to next item
+ astring m_name; // name of the source item
+ device_t * m_device; // associated device (if applicable)
+ bool m_is_octal; // is view in octal or hex
};
@@ -186,10 +186,10 @@ public:
private:
// internal state
- running_machine & m_machine; // reference to our machine
- debug_view_source * m_head; // head of the list
- debug_view_source * m_tail; // end of the tail
- UINT32 m_count; // number of items in the list
+ running_machine & m_machine; // reference to our machine
+ debug_view_source * m_head; // head of the list
+ debug_view_source * m_tail; // end of the tail
+ UINT32 m_count; // number of items in the list
};
@@ -248,33 +248,33 @@ protected:
protected:
// core view data
- debug_view * m_next; // link to the next view
- debug_view_type m_type; // type of view
- const debug_view_source *m_source; // currently selected data source
- debug_view_source_list m_source_list; // list of available data sources
+ debug_view * m_next; // link to the next view
+ debug_view_type m_type; // type of view
+ const debug_view_source *m_source; // currently selected data source
+ debug_view_source_list m_source_list; // list of available data sources
// OSD data
- debug_view_osd_update_func m_osdupdate; // callback for the update
- void * m_osdprivate; // OSD-managed private data
+ debug_view_osd_update_func m_osdupdate; // callback for the update
+ void * m_osdprivate; // OSD-managed private data
// visibility info
- debug_view_xy m_visible; // visible size (in rows and columns)
- debug_view_xy m_total; // total size (in rows and columns)
- debug_view_xy m_topleft; // top-left visible position (in rows and columns)
- debug_view_xy m_cursor; // cursor position
- bool m_supports_cursor; // does this view support a cursor?
- bool m_cursor_visible; // is the cursor visible?
+ debug_view_xy m_visible; // visible size (in rows and columns)
+ debug_view_xy m_total; // total size (in rows and columns)
+ debug_view_xy m_topleft; // top-left visible position (in rows and columns)
+ debug_view_xy m_cursor; // cursor position
+ bool m_supports_cursor; // does this view support a cursor?
+ bool m_cursor_visible; // is the cursor visible?
// update info
- bool m_recompute; // does this view require a recomputation?
- UINT8 m_update_level; // update level; updates when this hits 0
- bool m_update_pending; // true if there is a pending update
- bool m_osd_update_pending; // true if there is a pending update
- debug_view_char * m_viewdata; // current array of view data
- int m_viewdata_size; // number of elements of the viewdata array
+ bool m_recompute; // does this view require a recomputation?
+ UINT8 m_update_level; // update level; updates when this hits 0
+ bool m_update_pending; // true if there is a pending update
+ bool m_osd_update_pending; // true if there is a pending update
+ debug_view_char * m_viewdata; // current array of view data
+ int m_viewdata_size; // number of elements of the viewdata array
private:
- running_machine & m_machine; // machine associated with this view
+ running_machine & m_machine; // machine associated with this view
};
@@ -302,8 +302,8 @@ private:
debug_view *append(debug_view *view);
// internal state
- running_machine & m_machine; // reference to our machine
- debug_view * m_viewlist; // list of views
+ running_machine & m_machine; // reference to our machine
+ debug_view * m_viewlist; // list of views
};
@@ -333,11 +333,11 @@ private:
bool recompute();
// internal state
- running_machine & m_machine; // reference to the machine
- bool m_dirty; // true if the expression needs to be re-evaluated
- UINT64 m_result; // last result from the expression
- parsed_expression m_parsed; // parsed expression data
- astring m_string; // copy of the expression string
+ running_machine & m_machine; // reference to the machine
+ bool m_dirty; // true if the expression needs to be re-evaluated
+ UINT64 m_result; // last result from the expression
+ parsed_expression m_parsed; // parsed expression data
+ astring m_string; // copy of the expression string
};
diff --git a/src/emu/debug/dvdisasm.c b/src/emu/debug/dvdisasm.c
index 53ecf9c5dd0..ba3955030f3 100644
--- a/src/emu/debug/dvdisasm.c
+++ b/src/emu/debug/dvdisasm.c
@@ -54,9 +54,9 @@
debug_view_disasm_source::debug_view_disasm_source(const char *name, device_t &device)
: debug_view_source(name, &device),
- m_device(device),
- m_disasmintf(dynamic_cast<device_disasm_interface *>(&device)),
- m_space(device.memory().space(AS_PROGRAM))
+ m_device(device),
+ m_disasmintf(dynamic_cast<device_disasm_interface *>(&device)),
+ m_space(device.memory().space(AS_PROGRAM))
{
}
@@ -72,20 +72,20 @@ debug_view_disasm_source::debug_view_disasm_source(const char *name, device_t &d
debug_view_disasm::debug_view_disasm(running_machine &machine, debug_view_osd_update_func osdupdate, void *osdprivate)
: debug_view(machine, DVT_DISASSEMBLY, osdupdate, osdprivate),
- m_right_column(DASM_RIGHTCOL_RAW),
- m_backwards_steps(3),
- m_dasm_width(DEFAULT_DASM_WIDTH),
- m_last_direct_raw(NULL),
- m_last_direct_decrypted(NULL),
- m_last_change_count(0),
- m_last_pcbyte(0),
- m_divider1(0),
- m_divider2(0),
- m_divider3(0),
- m_expression(machine),
- m_allocated(0,0),
- m_byteaddress(NULL),
- m_dasm(NULL)
+ m_right_column(DASM_RIGHTCOL_RAW),
+ m_backwards_steps(3),
+ m_dasm_width(DEFAULT_DASM_WIDTH),
+ m_last_direct_raw(NULL),
+ m_last_direct_decrypted(NULL),
+ m_last_change_count(0),
+ m_last_pcbyte(0),
+ m_divider1(0),
+ m_divider2(0),
+ m_divider3(0),
+ m_expression(machine),
+ m_allocated(0,0),
+ m_byteaddress(NULL),
+ m_dasm(NULL)
{
// fail if no available sources
enumerate_sources();
@@ -199,7 +199,7 @@ void debug_view_disasm::view_char(int chval)
m_cursor.y = temp;
break;
- case DCH_HOME: // set the active column to the PC
+ case DCH_HOME: // set the active column to the PC
{
const debug_view_disasm_source &source = downcast<const debug_view_disasm_source &>(*m_source);
offs_t pc = source.m_space.address_to_byte(source.m_device.safe_pc()) & source.m_space.logbytemask();
@@ -393,7 +393,7 @@ bool debug_view_disasm::recompute(offs_t pc, int startline, int lines)
m_total.x = m_divider2 + 1 + char_num * maxbytes_clamped + (maxbytes_clamped / minbytes - 1) + 1;
}
else if (m_right_column == DASM_RIGHTCOL_COMMENTS)
- m_total.x = m_divider2 + 1 + 50; // DEBUG_COMMENT_MAX_LINE_LENGTH
+ m_total.x = m_divider2 + 1 + 50; // DEBUG_COMMENT_MAX_LINE_LENGTH
else
m_total.x = m_divider2 + 1;
diff --git a/src/emu/debug/dvdisasm.h b/src/emu/debug/dvdisasm.h
index 64d25295d2d..1bfdbaf5ad7 100644
--- a/src/emu/debug/dvdisasm.h
+++ b/src/emu/debug/dvdisasm.h
@@ -77,9 +77,9 @@ public:
private:
// internal state
- device_t & m_device; // underlying device
- device_disasm_interface *m_disasmintf; // disassembly interface
- address_space & m_space; // address space to display
+ device_t & m_device; // underlying device
+ device_disasm_interface *m_disasmintf; // disassembly interface
+ address_space & m_space; // address space to display
};
@@ -123,19 +123,19 @@ private:
bool recompute(offs_t pc, int startline, int lines);
// internal state
- disasm_right_column m_right_column; // right column contents
- UINT32 m_backwards_steps; // number of backwards steps
- UINT32 m_dasm_width; // width of the disassembly area
- UINT8 * m_last_direct_raw; // last direct raw value
- UINT8 * m_last_direct_decrypted;// last direct decrypted value
- UINT32 m_last_change_count; // last comment change count
- offs_t m_last_pcbyte; // last PC byte value
- int m_divider1, m_divider2; // left and right divider columns
- int m_divider3; // comment divider column
- debug_view_expression m_expression; // expression-related information
- debug_view_xy m_allocated; // allocated rows/columns
- offs_t * m_byteaddress; // addresses of the instructions
- char * m_dasm; // disassembled instructions
+ disasm_right_column m_right_column; // right column contents
+ UINT32 m_backwards_steps; // number of backwards steps
+ UINT32 m_dasm_width; // width of the disassembly area
+ UINT8 * m_last_direct_raw; // last direct raw value
+ UINT8 * m_last_direct_decrypted;// last direct decrypted value
+ UINT32 m_last_change_count; // last comment change count
+ offs_t m_last_pcbyte; // last PC byte value
+ int m_divider1, m_divider2; // left and right divider columns
+ int m_divider3; // comment divider column
+ debug_view_expression m_expression; // expression-related information
+ debug_view_xy m_allocated; // allocated rows/columns
+ offs_t * m_byteaddress; // addresses of the instructions
+ char * m_dasm; // disassembled instructions
// constants
static const int DEFAULT_DASM_LINES = 1000;
diff --git a/src/emu/debug/dvmemory.c b/src/emu/debug/dvmemory.c
index c0a6b045bd4..7782bb6c073 100644
--- a/src/emu/debug/dvmemory.c
+++ b/src/emu/debug/dvmemory.c
@@ -74,37 +74,37 @@ const debug_view_memory::memory_view_pos debug_view_memory::s_memory_pos_table[9
debug_view_memory_source::debug_view_memory_source(const char *name, address_space &space)
: debug_view_source(name, &space.device()),
- m_space(&space),
- m_memintf(dynamic_cast<device_memory_interface *>(&space.device())),
- m_base(NULL),
- m_length(0),
- m_offsetxor(0),
- m_endianness(space.endianness()),
- m_prefsize(space.data_width() / 8)
+ m_space(&space),
+ m_memintf(dynamic_cast<device_memory_interface *>(&space.device())),
+ m_base(NULL),
+ m_length(0),
+ m_offsetxor(0),
+ m_endianness(space.endianness()),
+ m_prefsize(space.data_width() / 8)
{
}
debug_view_memory_source::debug_view_memory_source(const char *name, memory_region &region)
: debug_view_source(name),
- m_space(NULL),
- m_memintf(NULL),
- m_base(region),
- m_length(region.bytes()),
- m_offsetxor(NATIVE_ENDIAN_VALUE_LE_BE(region.width() - 1, 0)),
- m_endianness(region.endianness()),
- m_prefsize(MIN(region.width(), 8))
+ m_space(NULL),
+ m_memintf(NULL),
+ m_base(region),
+ m_length(region.bytes()),
+ m_offsetxor(NATIVE_ENDIAN_VALUE_LE_BE(region.width() - 1, 0)),
+ m_endianness(region.endianness()),
+ m_prefsize(MIN(region.width(), 8))
{
}
debug_view_memory_source::debug_view_memory_source(const char *name, void *base, int element_size, int num_elements)
: debug_view_source(name),
- m_space(NULL),
- m_memintf(NULL),
- m_base(base),
- m_length(element_size * num_elements),
- m_offsetxor(0),
- m_endianness(ENDIANNESS_NATIVE),
- m_prefsize(MIN(element_size, 8))
+ m_space(NULL),
+ m_memintf(NULL),
+ m_base(base),
+ m_length(element_size * num_elements),
+ m_offsetxor(0),
+ m_endianness(ENDIANNESS_NATIVE),
+ m_prefsize(MIN(element_size, 8))
{
}
@@ -120,15 +120,15 @@ debug_view_memory_source::debug_view_memory_source(const char *name, void *base,
debug_view_memory::debug_view_memory(running_machine &machine, debug_view_osd_update_func osdupdate, void *osdprivate)
: debug_view(machine, DVT_MEMORY, osdupdate, osdprivate),
- m_expression(machine),
- m_chunks_per_row(16),
- m_bytes_per_chunk(1),
- m_reverse_view(false),
- m_ascii_view(true),
- m_no_translation(false),
- m_maxaddr(0),
- m_bytes_per_row(16),
- m_byte_offset(0)
+ m_expression(machine),
+ m_chunks_per_row(16),
+ m_bytes_per_chunk(1),
+ m_reverse_view(false),
+ m_ascii_view(true),
+ m_no_translation(false),
+ m_maxaddr(0),
+ m_bytes_per_row(16),
+ m_byte_offset(0)
{
// fail if no available sources
enumerate_sources();
@@ -181,10 +181,10 @@ void debug_view_memory::enumerate_sources()
break;
// add pretty much anything that's not a timer (we may wish to cull other items later)
- // also, don't trim the front of the name, it's important to know which VIA6522 we're looking at, e.g.
- if (strncmp(itemname, "timer/", 6))
+ // also, don't trim the front of the name, it's important to know which VIA6522 we're looking at, e.g.
+ if (strncmp(itemname, "timer/", 6))
{
- name.cpy(itemname);
+ name.cpy(itemname);
m_source_list.append(*auto_alloc(machine(), debug_view_memory_source(name, base, valsize, valcount)));
}
}
@@ -653,10 +653,10 @@ bool debug_view_memory::read(UINT8 size, offs_t offs, UINT64 &data)
{
switch (size)
{
- case 1: data = debug_read_byte(*source.m_space, offs, !m_no_translation); break;
- case 2: data = debug_read_word(*source.m_space, offs, !m_no_translation); break;
- case 4: data = debug_read_dword(*source.m_space, offs, !m_no_translation); break;
- case 8: data = debug_read_qword(*source.m_space, offs, !m_no_translation); break;
+ case 1: data = debug_read_byte(*source.m_space, offs, !m_no_translation); break;
+ case 2: data = debug_read_word(*source.m_space, offs, !m_no_translation); break;
+ case 4: data = debug_read_dword(*source.m_space, offs, !m_no_translation); break;
+ case 8: data = debug_read_qword(*source.m_space, offs, !m_no_translation); break;
}
}
return ismapped;
@@ -700,10 +700,10 @@ void debug_view_memory::write(UINT8 size, offs_t offs, UINT64 data)
{
switch (size)
{
- case 1: debug_write_byte(*source.m_space, offs, data, !m_no_translation); break;
- case 2: debug_write_word(*source.m_space, offs, data, !m_no_translation); break;
- case 4: debug_write_dword(*source.m_space, offs, data, !m_no_translation); break;
- case 8: debug_write_qword(*source.m_space, offs, data, !m_no_translation); break;
+ case 1: debug_write_byte(*source.m_space, offs, data, !m_no_translation); break;
+ case 2: debug_write_word(*source.m_space, offs, data, !m_no_translation); break;
+ case 4: debug_write_dword(*source.m_space, offs, data, !m_no_translation); break;
+ case 8: debug_write_qword(*source.m_space, offs, data, !m_no_translation); break;
}
return;
}
diff --git a/src/emu/debug/dvmemory.h b/src/emu/debug/dvmemory.h
index b370fdb51a9..06a9bcb9f16 100644
--- a/src/emu/debug/dvmemory.h
+++ b/src/emu/debug/dvmemory.h
@@ -60,13 +60,13 @@ public:
address_space *space() const { return m_space; }
private:
- address_space *m_space; // address space we reference (if any)
- device_memory_interface *m_memintf; // pointer to the memory interface of the device
- void * m_base; // pointer to memory base
- offs_t m_length; // length of memory
- offs_t m_offsetxor; // XOR to apply to offsets
- endianness_t m_endianness; // endianness of memory
- UINT8 m_prefsize; // preferred bytes per chunk
+ address_space *m_space; // address space we reference (if any)
+ device_memory_interface *m_memintf; // pointer to the memory interface of the device
+ void * m_base; // pointer to memory base
+ offs_t m_length; // length of memory
+ offs_t m_offsetxor; // XOR to apply to offsets
+ endianness_t m_endianness; // endianness of memory
+ UINT8 m_prefsize; // preferred bytes per chunk
};
@@ -127,31 +127,31 @@ private:
void write(UINT8 size, offs_t offs, UINT64 data);
// internal state
- debug_view_expression m_expression; // expression describing the start address
- UINT32 m_chunks_per_row; // number of chunks displayed per line
- UINT8 m_bytes_per_chunk; // bytes per chunk
- bool m_reverse_view; // reverse-endian view?
- bool m_ascii_view; // display ASCII characters?
- bool m_no_translation; // don't run addresses through the cpu translation hook
- offs_t m_maxaddr; // (derived) maximum address to display
- UINT32 m_bytes_per_row; // (derived) number of bytes displayed per line
- UINT32 m_byte_offset; // (derived) offset of starting visible byte
- astring m_addrformat; // (derived) format string to use to print addresses
+ debug_view_expression m_expression; // expression describing the start address
+ UINT32 m_chunks_per_row; // number of chunks displayed per line
+ UINT8 m_bytes_per_chunk; // bytes per chunk
+ bool m_reverse_view; // reverse-endian view?
+ bool m_ascii_view; // display ASCII characters?
+ bool m_no_translation; // don't run addresses through the cpu translation hook
+ offs_t m_maxaddr; // (derived) maximum address to display
+ UINT32 m_bytes_per_row; // (derived) number of bytes displayed per line
+ UINT32 m_byte_offset; // (derived) offset of starting visible byte
+ astring m_addrformat; // (derived) format string to use to print addresses
struct section
{
bool contains(int x) const { return x >= m_pos && x < m_pos + m_width; }
- INT32 m_pos; /* starting position */
- INT32 m_width; /* width of this section */
+ INT32 m_pos; /* starting position */
+ INT32 m_width; /* width of this section */
};
- section m_section[3]; // (derived) 3 sections to manage
+ section m_section[3]; // (derived) 3 sections to manage
struct memory_view_pos
{
- UINT8 m_spacing; /* spacing between each entry */
- UINT8 m_shift[24]; /* shift for each character */
+ UINT8 m_spacing; /* spacing between each entry */
+ UINT8 m_shift[24]; /* shift for each character */
};
- static const memory_view_pos s_memory_pos_table[9]; // table for rendering at different chunk sizes
+ static const memory_view_pos s_memory_pos_table[9]; // table for rendering at different chunk sizes
// constants
static const int MEM_MAX_LINE_WIDTH = 1024;
diff --git a/src/emu/diimage.c b/src/emu/diimage.c
index ddfccce0a7f..c435e8df00e 100644
--- a/src/emu/diimage.c
+++ b/src/emu/diimage.c
@@ -67,8 +67,8 @@ const image_device_type_info device_image_interface::m_device_info_array[] =
{ IO_CDROM, "cdrom", "cdrm" }, /* 13 */
{ IO_MAGTAPE, "magtape", "magt" }, /* 14 */
{ IO_ROM, "romimage", "rom" }, /* 15 */
- { IO_MIDIIN, "midiin", "min" }, /* 16 */
- { IO_MIDIOUT, "midiout", "mout" } /* 17 */
+ { IO_MIDIIN, "midiin", "min" }, /* 16 */
+ { IO_MIDIOUT, "midiout", "mout" } /* 17 */
};
diff --git a/src/emu/diimage.h b/src/emu/diimage.h
index 70da52c9263..15f75019a13 100644
--- a/src/emu/diimage.h
+++ b/src/emu/diimage.h
@@ -70,8 +70,8 @@ enum iodevice_t
IO_CDROM, /* 14 - optical CD-ROM disc */
IO_MAGTAPE, /* 15 - Magentic tape */
IO_ROM, /* 16 - Individual ROM image - the Amstrad CPC has a few applications that were sold on 16kB ROMs */
- IO_MIDIIN, /* 17 - MIDI In port */
- IO_MIDIOUT, /* 18 - MIDI Out port */
+ IO_MIDIIN, /* 17 - MIDI In port */
+ IO_MIDIOUT, /* 18 - MIDI Out port */
IO_COUNT /* 19 - Total Number of IO_devices for searching */
};
diff --git a/src/emu/imagedev/midiin.c b/src/emu/imagedev/midiin.c
index 97ed349cd64..75dfd047cdd 100644
--- a/src/emu/imagedev/midiin.c
+++ b/src/emu/imagedev/midiin.c
@@ -21,8 +21,8 @@ const device_type MIDIIN = &device_creator<midiin_device>;
midiin_device::midiin_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, MIDIIN, "MIDI In image device", tag, owner, clock),
- device_image_interface(mconfig, *this),
- device_serial_interface(mconfig, *this)
+ device_image_interface(mconfig, *this),
+ device_serial_interface(mconfig, *this)
{
}
@@ -77,7 +77,7 @@ void midiin_device::device_timer(emu_timer &timer, device_timer_id id, int param
int bytesRead;
if (m_midi == NULL) {
- return;
+ return;
}
while (osd_poll_midi_channel(m_midi))
@@ -122,8 +122,8 @@ void midiin_device::call_unload(void)
{
osd_close_midi_channel(m_midi);
}
- m_timer->enable(false);
- m_midi = NULL;
+ m_timer->enable(false);
+ m_midi = NULL;
}
void midiin_device::tra_complete()
@@ -131,7 +131,7 @@ void midiin_device::tra_complete()
// is there more waiting to send?
if (m_xmit_read != m_xmit_write)
{
-// printf("tx1 %02x\n", m_xmitring[m_xmit_read]);
+// printf("tx1 %02x\n", m_xmitring[m_xmit_read]);
transmit_register_setup(m_xmitring[m_xmit_read++]);
if (m_xmit_read >= XMIT_RING_SIZE)
{
@@ -158,7 +158,7 @@ void midiin_device::xmit_char(UINT8 data)
if (!m_tx_busy)
{
m_tx_busy = true;
-// printf("tx0 %02x\n", data);
+// printf("tx0 %02x\n", data);
transmit_register_setup(data);
}
else
@@ -175,4 +175,3 @@ void midiin_device::xmit_char(UINT8 data)
void midiin_device::input_callback(UINT8 state)
{
}
-
diff --git a/src/emu/imagedev/midiout.c b/src/emu/imagedev/midiout.c
index 3155a9b7057..c0de35d906d 100644
--- a/src/emu/imagedev/midiout.c
+++ b/src/emu/imagedev/midiout.c
@@ -44,7 +44,7 @@ void midiout_device::device_reset()
}
/*-------------------------------------------------
- device_config_complete
+ device_config_complete
-------------------------------------------------*/
void midiout_device::device_config_complete(void)
@@ -94,4 +94,3 @@ void midiout_device::rcv_complete() // Rx completed receiving byte
void midiout_device::input_callback(UINT8 state)
{
}
-
diff --git a/src/emu/machine/mos6551.c b/src/emu/machine/mos6551.c
index 06c3927c95a..a20e1aebc9b 100644
--- a/src/emu/machine/mos6551.c
+++ b/src/emu/machine/mos6551.c
@@ -9,12 +9,12 @@
/*
- TODO:
+ TODO:
- - receiver disable
- - IRQ on DCD/DSR change
- - parity
- - framing error
+ - receiver disable
+ - IRQ on DCD/DSR change
+ - parity
+ - framing error
*/
@@ -100,7 +100,7 @@ void mos6551_device::tra_complete()
{
transmit_register_setup(m_tdr);
m_st |= ST_TDRE;
-
+
if ((m_cmd & CMD_TC_MASK) == CMD_TC_TIE_RTS_LO)
{
m_st |= ST_IRQ;
@@ -120,7 +120,7 @@ void mos6551_device::rcv_complete()
{
m_st |= ST_OR;
}
-
+
m_st &= ~(ST_FE | ST_PE);
m_st |= ST_RDRF;
@@ -159,7 +159,7 @@ void mos6551_device::update_serial()
else
{
int baud = clock() / brg_divider[brg] / 16;
-
+
set_tra_rate(baud);
if (m_ctrl & CTRL_RXC_BRG)
@@ -250,12 +250,12 @@ WRITE8_MEMBER( mos6551_device::write )
case 0:
m_tdr = data;
m_st &= ~ST_TDRE;
-
+
if (is_transmit_register_empty())
{
transmit_register_setup(m_tdr);
m_st |= ST_TDRE;
-
+
if ((m_cmd & CMD_TC_MASK) == CMD_TC_TIE_RTS_LO)
{
m_st |= ST_IRQ;
diff --git a/src/emu/machine/mos6551.h b/src/emu/machine/mos6551.h
index b3b1367461a..d11ec355328 100644
--- a/src/emu/machine/mos6551.h
+++ b/src/emu/machine/mos6551.h
@@ -93,17 +93,17 @@ protected:
CTRL_BRG_9600,
CTRL_BRG_19200,
CTRL_BRG_MASK = 0x0f,
-
+
CTRL_RXC_EXT = 0x00,
CTRL_RXC_BRG = 0x10,
CTRL_RXC_MASK = 0x10,
-
+
CTRL_WL_8 = 0x00,
CTRL_WL_7 = 0x20,
CTRL_WL_6 = 0x40,
CTRL_WL_5 = 0x60,
CTRL_WL_MASK = 0x60,
-
+
CTRL_SB_1 = 0x00,
CTRL_SB_2 = 0x80,
CTRL_SB_MASK = 0x80
@@ -112,9 +112,9 @@ protected:
enum
{
CMD_DTR = 0x01,
-
+
CMD_RIE = 0x02,
-
+
CMD_TC_RTS_HI = 0x00,
CMD_TC_TIE_RTS_LO = 0x04,
CMD_TC_RTS_LO = 0x08,
diff --git a/src/emu/machine/n68681.c b/src/emu/machine/n68681.c
index 10dd04f86a6..e8d01d700c6 100644
--- a/src/emu/machine/n68681.c
+++ b/src/emu/machine/n68681.c
@@ -976,4 +976,3 @@ void duart68681_channel::ACR_updated()
{
write_chan_reg(1, CSR);
}
-
diff --git a/src/emu/machine/s3c24xx.c b/src/emu/machine/s3c24xx.c
index 4cbd9d9b3de..521effa5c8e 100644
--- a/src/emu/machine/s3c24xx.c
+++ b/src/emu/machine/s3c24xx.c
@@ -3679,7 +3679,7 @@ static DEVICE_RESET( s3c24xx )
static DEVICE_START( s3c24xx )
{
s3c24xx_t *s3c24xx = get_token( device);
-
+
s3c24xx->m_cpu = device->machine().device( "maincpu");
verboselog( device->machine(), 1, "s3c24xx device start\n");
diff --git a/src/emu/machine/wd_fdc.c b/src/emu/machine/wd_fdc.c
index 0711626d948..bb353c176c6 100644
--- a/src/emu/machine/wd_fdc.c
+++ b/src/emu/machine/wd_fdc.c
@@ -1002,10 +1002,10 @@ void wd_fdc_t::sector_w(UINT8 val)
if (inverted_bus) val ^= 0xff;
// No more than one write in flight
- // C1581 accesses this register with an INC opcode,
+ // C1581 accesses this register with an INC opcode,
// i.e. write old value, write new value, and the new value gets ignored by this
//if(sector_buffer != -1)
- // return;
+ // return;
sector_buffer = val;
delay_cycles(t_sector, dden ? delay_register_commit*2 : delay_register_commit);
diff --git a/src/emu/softlist.c b/src/emu/softlist.c
index 501eca9c37d..1ebb56e4ba7 100644
--- a/src/emu/softlist.c
+++ b/src/emu/softlist.c
@@ -1478,7 +1478,7 @@ static struct rom_entry *software_find_romdata(software_part *swpart, const char
data++;
}
-
+
if (data && !data->_name)
data = NULL;
}
diff --git a/src/emu/sound/digitalk.c b/src/emu/sound/digitalk.c
index ea78a5f807d..3af96b6eb13 100644
--- a/src/emu/sound/digitalk.c
+++ b/src/emu/sound/digitalk.c
@@ -263,29 +263,29 @@ const device_type DIGITALKER = &device_creator<digitalker_device>;
digitalker_device::digitalker_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, DIGITALKER, "Digitalker", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_rom(NULL),
- m_stream(NULL),
- m_data(0),
- m_cs(0),
- m_cms(0),
- m_wr(0),
- m_intr(0),
- m_bpos(0),
- m_apos(0),
- m_mode(0),
- m_cur_segment(0),
- m_cur_repeat(0),
- m_segments(0),
- m_repeats(0),
- m_prev_pitch(0),
- m_pitch(0),
- m_pitch_pos(0),
- m_stop_after(0),
- m_cur_dac(0),
- m_cur_bits(0),
- m_zero_count(0),
- m_dac_index(0)
+ device_sound_interface(mconfig, *this),
+ m_rom(NULL),
+ m_stream(NULL),
+ m_data(0),
+ m_cs(0),
+ m_cms(0),
+ m_wr(0),
+ m_intr(0),
+ m_bpos(0),
+ m_apos(0),
+ m_mode(0),
+ m_cur_segment(0),
+ m_cur_repeat(0),
+ m_segments(0),
+ m_repeats(0),
+ m_prev_pitch(0),
+ m_pitch(0),
+ m_pitch_pos(0),
+ m_stop_after(0),
+ m_cur_dac(0),
+ m_cur_bits(0),
+ m_zero_count(0),
+ m_dac_index(0)
{
}
@@ -688,4 +688,3 @@ WRITE8_MEMBER( digitalker_device::digitalker_data_w )
{
m_data = data;
}
-
diff --git a/src/emu/sound/digitalk.h b/src/emu/sound/digitalk.h
index d293fabb9a9..70fc392764c 100644
--- a/src/emu/sound/digitalk.h
+++ b/src/emu/sound/digitalk.h
@@ -19,7 +19,7 @@
// ======================> digitalker_device
class digitalker_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
digitalker_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
diff --git a/src/emu/sound/flt_rc.c b/src/emu/sound/flt_rc.c
index 7d026a65253..f05cc63883e 100644
--- a/src/emu/sound/flt_rc.c
+++ b/src/emu/sound/flt_rc.c
@@ -19,11 +19,11 @@ const device_type FILTER_RC = &device_creator<filter_rc_device>;
filter_rc_device::filter_rc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, FILTER_RC, "RC Filter", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_stream(NULL),
- m_k(0),
- m_memory(0),
- m_type(0)
+ device_sound_interface(mconfig, *this),
+ m_stream(NULL),
+ m_k(0),
+ m_memory(0),
+ m_type(0)
{
}
@@ -119,4 +119,3 @@ void filter_rc_device::filter_rc_set_RC(int type, double R1, double R2, double R
m_stream->update();
set_RC_info(type, R1, R2, R3, C);
}
-
diff --git a/src/emu/sound/flt_rc.h b/src/emu/sound/flt_rc.h
index aeb18716632..acf5c628baa 100644
--- a/src/emu/sound/flt_rc.h
+++ b/src/emu/sound/flt_rc.h
@@ -73,13 +73,13 @@ extern const flt_rc_config flt_rc_ac_default;
// ======================> filter_rc_device
class filter_rc_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
filter_rc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~filter_rc_device() { }
- void filter_rc_set_RC(int type, double R1, double R2, double R3, double C);
+ void filter_rc_set_RC(int type, double R1, double R2, double R3, double C);
protected:
// device-level overrides
@@ -89,7 +89,7 @@ protected:
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
private:
- void set_RC_info(int type, double R1, double R2, double R3, double C);
+ void set_RC_info(int type, double R1, double R2, double R3, double C);
private:
sound_stream* m_stream;
diff --git a/src/emu/sound/flt_vol.c b/src/emu/sound/flt_vol.c
index 2532371ecb9..eac2ca7ac7a 100644
--- a/src/emu/sound/flt_vol.c
+++ b/src/emu/sound/flt_vol.c
@@ -11,9 +11,9 @@ const device_type FILTER_VOLUME = &device_creator<filter_volume_device>;
filter_volume_device::filter_volume_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, FILTER_VOLUME, "Volume Filter", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_stream(NULL),
- m_gain(0)
+ device_sound_interface(mconfig, *this),
+ m_stream(NULL),
+ m_gain(0)
{
}
@@ -48,4 +48,3 @@ void filter_volume_device::flt_volume_set_volume(float volume)
{
m_gain = (int)(volume * 256);
}
-
diff --git a/src/emu/sound/flt_vol.h b/src/emu/sound/flt_vol.h
index 7836930247c..8440989764a 100644
--- a/src/emu/sound/flt_vol.h
+++ b/src/emu/sound/flt_vol.h
@@ -22,13 +22,13 @@
// ======================> filter_volume_device
class filter_volume_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
filter_volume_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~filter_volume_device() { }
- void flt_volume_set_volume(float volume);
+ void flt_volume_set_volume(float volume);
protected:
// device-level overrides
diff --git a/src/emu/sound/iremga20.c b/src/emu/sound/iremga20.c
index c2e32675731..9314760f57c 100644
--- a/src/emu/sound/iremga20.c
+++ b/src/emu/sound/iremga20.c
@@ -46,10 +46,10 @@ const device_type IREMGA20 = &device_creator<iremga20_device>;
iremga20_device::iremga20_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, IREMGA20, "Irem GA20", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_rom(NULL),
- m_rom_size(0),
- m_stream(NULL)
+ device_sound_interface(mconfig, *this),
+ m_rom(NULL),
+ m_rom_size(0),
+ m_stream(NULL)
{
}
diff --git a/src/emu/sound/iremga20.h b/src/emu/sound/iremga20.h
index 02a70f5aaa4..f919065e749 100644
--- a/src/emu/sound/iremga20.h
+++ b/src/emu/sound/iremga20.h
@@ -56,12 +56,12 @@ protected:
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
public:
- DECLARE_WRITE8_MEMBER( irem_ga20_w );
- DECLARE_READ8_MEMBER( irem_ga20_r );
+ DECLARE_WRITE8_MEMBER( irem_ga20_w );
+ DECLARE_READ8_MEMBER( irem_ga20_r );
private:
void iremga20_reset();
-
+
private:
UINT8 *m_rom;
INT32 m_rom_size;
diff --git a/src/emu/sound/k005289.c b/src/emu/sound/k005289.c
index c3f492e6df2..710f7b4369a 100644
--- a/src/emu/sound/k005289.c
+++ b/src/emu/sound/k005289.c
@@ -45,11 +45,11 @@ const device_type K005289 = &device_creator<k005289_device>;
k005289_device::k005289_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, K005289, "K005289", tag, owner, clock),
- device_sound_interface(mconfig, *this),
+ device_sound_interface(mconfig, *this),
m_sound_prom(NULL),
m_stream(NULL),
m_mclock(0),
- m_rate(0),
+ m_rate(0),
m_mixer_table(NULL),
m_mixer_lookup(NULL),
m_mixer_buffer(NULL),
diff --git a/src/emu/sound/k005289.h b/src/emu/sound/k005289.h
index cef1781df7c..349bb57281b 100644
--- a/src/emu/sound/k005289.h
+++ b/src/emu/sound/k005289.h
@@ -30,7 +30,7 @@ struct k005289_sound_channel
// ======================> k005289_device
class k005289_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
k005289_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@@ -52,8 +52,8 @@ public:
DECLARE_WRITE8_MEMBER( k005289_keylatch_B_w );
private:
- void make_mixer_table(int voices);
- void k005289_recompute();
+ void make_mixer_table(int voices);
+ void k005289_recompute();
private:
k005289_sound_channel m_channel_list[2];
@@ -61,7 +61,7 @@ private:
const unsigned char *m_sound_prom;
sound_stream *m_stream;
int m_mclock;
- int m_rate;
+ int m_rate;
/* mixer tables and internal buffers */
INT16 *m_mixer_table;
diff --git a/src/emu/sound/k056800.c b/src/emu/sound/k056800.c
index 1d587d92c18..5623fc20354 100644
--- a/src/emu/sound/k056800.c
+++ b/src/emu/sound/k056800.c
@@ -198,5 +198,3 @@ void k056800_device::device_reset()
{
DEVICE_RESET_NAME( k056800 )(this);
}
-
-
diff --git a/src/emu/sound/n63701x.c b/src/emu/sound/n63701x.c
index 3b4acf8dc61..22ebcc3385b 100644
--- a/src/emu/sound/n63701x.c
+++ b/src/emu/sound/n63701x.c
@@ -24,16 +24,16 @@ silence compression: '00 nn' must be replaced by nn+1 times '80'.
inside 16 bits without overflowing.
*/
static const int vol_table[4] = { 26, 84, 200, 258 };
-
+
// device type definition
const device_type NAMCO_63701X = &device_creator<namco_63701x_device>;
namco_63701x_device::namco_63701x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, NAMCO_63701X, "Namco 63701X", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_stream(NULL),
- m_rom(NULL)
+ device_sound_interface(mconfig, *this),
+ m_stream(NULL),
+ m_rom(NULL)
{
}
@@ -140,4 +140,3 @@ WRITE8_MEMBER( namco_63701x_device::namco_63701x_w )
}
}
}
-
diff --git a/src/emu/sound/n63701x.h b/src/emu/sound/n63701x.h
index 3493a2a7767..3ea3c60c5ba 100644
--- a/src/emu/sound/n63701x.h
+++ b/src/emu/sound/n63701x.h
@@ -21,12 +21,12 @@ struct voice_63701x
{
voice_63701x()
: select(0),
- playing(0),
- base_addr(0),
- position(0),
- volume(0),
- silence_counter(0) {}
-
+ playing(0),
+ base_addr(0),
+ position(0),
+ volume(0),
+ silence_counter(0) {}
+
int select;
int playing;
int base_addr;
@@ -58,7 +58,7 @@ public:
private:
voice_63701x m_voices[2];
sound_stream *m_stream; /* channel assigned by the mixer */
- UINT8 *m_rom; /* pointer to sample ROM */
+ UINT8 *m_rom; /* pointer to sample ROM */
};
extern const device_type NAMCO_63701X;
diff --git a/src/emu/sound/spu.c b/src/emu/sound/spu.c
index 1a0c25cf170..072bd0b0502 100644
--- a/src/emu/sound/spu.c
+++ b/src/emu/sound/spu.c
@@ -2338,7 +2338,7 @@ void spu_device::key_on(const int v)
void spu_device::set_xa_format(const float _freq, const int channels)
{
// Adjust frequency to compensate for slightly slower/faster frame rate
-// float freq=44100.0; //(_freq*get_adjusted_frame_rate())/ps1hw.rcnt->get_vertical_refresh();
+// float freq=44100.0; //(_freq*get_adjusted_frame_rate())/ps1hw.rcnt->get_vertical_refresh();
xa_freq=(unsigned int)((_freq/44100.0)*4096.0f);
xa_channels=channels;
@@ -2499,7 +2499,7 @@ void spu_device::generate_cdda(void *ptr, const unsigned int sz)
if (! cdda_buffer->get_bytes_in())
cdda_playing=false;
-// if (n>0) printf("cdda buffer underflow (n=%d cdda_in=%d spf=%d)\n",n,cdda_buffer->get_bytes_in(),cdda_spf);
+// if (n>0) printf("cdda buffer underflow (n=%d cdda_in=%d spf=%d)\n",n,cdda_buffer->get_bytes_in(),cdda_spf);
}
}
diff --git a/src/emu/sound/t6721a.h b/src/emu/sound/t6721a.h
index 66cc6c593db..9005f596da6 100644
--- a/src/emu/sound/t6721a.h
+++ b/src/emu/sound/t6721a.h
@@ -62,7 +62,7 @@
// ======================> t6721a_device
class t6721a_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
t6721a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
diff --git a/src/emu/sound/tiaintf.c b/src/emu/sound/tiaintf.c
index 2b1fe9963a2..ccc9abee31b 100644
--- a/src/emu/sound/tiaintf.c
+++ b/src/emu/sound/tiaintf.c
@@ -16,9 +16,9 @@ const device_type TIA = &device_creator<tia_device>;
tia_device::tia_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, TIA, "TIA", tag, owner, clock),
- device_sound_interface(mconfig, *this),
- m_channel(NULL),
- m_chip(NULL)
+ device_sound_interface(mconfig, *this),
+ m_channel(NULL),
+ m_chip(NULL)
{
}
diff --git a/src/emu/sound/tiaintf.h b/src/emu/sound/tiaintf.h
index 89ef8abe527..726ff2df21b 100644
--- a/src/emu/sound/tiaintf.h
+++ b/src/emu/sound/tiaintf.h
@@ -20,7 +20,7 @@
// ======================> tia_device
class tia_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
tia_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@@ -35,7 +35,7 @@ protected:
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
public:
- DECLARE_WRITE8_MEMBER( tia_sound_w );
+ DECLARE_WRITE8_MEMBER( tia_sound_w );
private:
sound_stream *m_channel;
diff --git a/src/emu/video/ef9340_1.c b/src/emu/video/ef9340_1.c
index 25b65a23e7e..3001c5af9b5 100644
--- a/src/emu/video/ef9340_1.c
+++ b/src/emu/video/ef9340_1.c
@@ -17,7 +17,7 @@ const device_type EF9340_1 = &device_creator<ef9340_1_device>;
static const UINT8 bgr2rgb[8] =
{
- 0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07
+ 0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07
};
@@ -390,4 +390,3 @@ void ef9340_1_device::ef9340_scanline(int vpos)
}
}
}
-
diff --git a/src/emu/video/ef9340_1.h b/src/emu/video/ef9340_1.h
index 7431240f1e1..de91d62b364 100644
--- a/src/emu/video/ef9340_1.h
+++ b/src/emu/video/ef9340_1.h
@@ -17,14 +17,13 @@
#define MCFG_EF9340_1_ADD(_tag, _clock, _screen_tag) \
MCFG_DEVICE_ADD(_tag, EF9340_1, _clock) \
- ef9340_1_device::set_screen_tag(*device, _screen_tag); \
-
+ ef9340_1_device::set_screen_tag(*device, _screen_tag);
class ef9340_1_device : public device_t
{
public:
- // construction/destruction
- ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // construction/destruction
+ ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// static configuration helpers
static void set_screen_tag(device_t &device, const char *screen_tag) { downcast<ef9340_1_device &>(device).m_screen_tag = screen_tag; }
@@ -82,4 +81,3 @@ protected:
extern const device_type EF9340_1;
#endif /* __EF9340_1_H__ */
-
diff --git a/src/emu/video/i8244.c b/src/emu/video/i8244.c
index a4fb9e4c7fb..5320fc066ab 100644
--- a/src/emu/video/i8244.c
+++ b/src/emu/video/i8244.c
@@ -318,20 +318,20 @@ READ8_MEMBER(i8244_device::read)
break;
- case 0xa5:
- if ((m_vdc.s.control & VDC_CONTROL_REG_STROBE_XY))
+ case 0xa5:
+ if ((m_vdc.s.control & VDC_CONTROL_REG_STROBE_XY))
{
- m_x_beam_pos = get_x_beam();
+ m_x_beam_pos = get_x_beam();
}
- data = m_x_beam_pos;
- break;
+ data = m_x_beam_pos;
+ break;
- default:
- data = m_vdc.reg[offset];
+ default:
+ data = m_vdc.reg[offset];
break;
- }
+ }
- return data;
+ return data;
}
@@ -348,7 +348,7 @@ WRITE8_MEMBER(i8244_device::write)
if (offset == 0xa0)
{
if ( ( m_vdc.s.control & VDC_CONTROL_REG_STROBE_XY )
- && !(data & VDC_CONTROL_REG_STROBE_XY))
+ && !(data & VDC_CONTROL_REG_STROBE_XY))
{
/* Toggling strobe bit, tuck away values */
m_x_beam_pos = get_x_beam();
@@ -409,7 +409,7 @@ void i8244_device::render_scanline(int vpos)
//static const UINT8 COLLISION_EXTERNAL_UNUSED = 0x40;
static const UINT8 COLLISION_CHARACTERS = 0x80;
- UINT8 collision_map[160];
+ UINT8 collision_map[160];
if ( vpos == m_start_vpos )
@@ -501,8 +501,8 @@ void i8244_device::render_scanline(int vpos)
/* Regular foreground objects */
for ( int i = 0; i < ARRAY_LENGTH( m_vdc.s.foreground ); i++ )
{
- int y = m_vdc.s.foreground[i].y & 0xFE;
- int height = 8 - ( ( ( y >> 1 ) + m_vdc.s.foreground[i].ptr ) & 7 );
+ int y = m_vdc.s.foreground[i].y & 0xFE;
+ int height = 8 - ( ( ( y >> 1 ) + m_vdc.s.foreground[i].ptr ) & 7 );
if ( y >= 0x0E && y <= scanline && scanline < y + height * 2 )
{
@@ -544,7 +544,7 @@ void i8244_device::render_scanline(int vpos)
if ( y <= scanline && scanline < y + height * 2 )
{
- int x = m_vdc.s.quad[i].single[0].x;
+ int x = m_vdc.s.quad[i].single[0].x;
// Charaecter height is always determined by the height of the 4th character
int char_height = 8 - ( ( ( y >> 1 ) + m_vdc.s.quad[i].single[3].ptr ) & 7 );
@@ -553,7 +553,6 @@ void i8244_device::render_scanline(int vpos)
{
if ( y <= scanline && scanline < y + char_height * 2 )
{
-
UINT16 color = 8 + bgr2rgb[ ( ( m_vdc.s.quad[i].single[j].color >> 1 ) & 0x07 ) ];
int offset = ( m_vdc.s.quad[i].single[j].ptr | ( ( m_vdc.s.quad[i].single[j].color & 0x01 ) << 8 ) ) + ( y >> 1 ) + ( ( scanline - y ) >> 1 );
UINT8 chr = c_shape[ offset & 0x1FF ];
@@ -605,7 +604,7 @@ void i8244_device::render_scanline(int vpos)
int x = m_vdc.s.sprites[i].x;
int x_shift = 0;
- switch ( m_vdc.s.sprites[i].color & 0x03 )
+ switch ( m_vdc.s.sprites[i].color & 0x03 )
{
case 1: // Xg attribute set
x_shift = 2;
@@ -736,7 +735,7 @@ void i8244_device::sound_stream_update(sound_stream &stream, stream_sample_t **i
/* Generate the signal */
old_signal = signal = m_vdc.s.shift3 | (m_vdc.s.shift2 << 8) | (m_vdc.s.shift1 << 16);
- if( m_vdc.s.sound & 0x80 ) /* Sound is enabled */
+ if( m_vdc.s.sound & 0x80 ) /* Sound is enabled */
{
for( ii = 0; ii < samples; ii++, buffer++ )
{
@@ -791,5 +790,3 @@ UINT32 i8244_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
return 0;
}
-
-
diff --git a/src/emu/video/i8244.h b/src/emu/video/i8244.h
index ed73f86e4b7..76e22a69172 100644
--- a/src/emu/video/i8244.h
+++ b/src/emu/video/i8244.h
@@ -22,23 +22,18 @@
MCFG_DEVICE_ADD(_tag, I8244, _clock) \
MCFG_I8244_SCREEN_TAG(_screen_tag) \
MCFG_I8244_IRQ_CB(_irq_cb) \
- MCFG_I8244_POSTPROCESS_CB(_postprocess_cb) \
-
+ MCFG_I8244_POSTPROCESS_CB(_postprocess_cb)
#define MCFG_I8244_SCREEN_TAG(_screen_tag) \
- i8244_device::set_screen_tag(*device, _screen_tag); \
-
+ i8244_device::set_screen_tag(*device, _screen_tag);
#define MCFG_I8244_IRQ_CB(_devcb) \
- devcb = &i8244_device::set_irq_cb(*device, DEVCB2_##_devcb); \
-
+ devcb = &i8244_device::set_irq_cb(*device, DEVCB2_##_devcb);
#define MCFG_I8244_POSTPROCESS_CB(_devcb) \
- devcb = &i8244_device::set_postprocess_cb(*device, DEVCB2_##_devcb); \
-
+ devcb = &i8244_device::set_postprocess_cb(*device, DEVCB2_##_devcb);
#define MCFG_I8245_ADD(_tag, _clock, _screen_tag, _irq_cb, _postprocess_cb) \
MCFG_DEVICE_ADD(_tag, I8245, _clock) \
MCFG_I8244_SCREEN_TAG(_screen_tag) \
MCFG_I8244_IRQ_CB(_irq_cb) \
- MCFG_I8244_POSTPROCESS_CB(_postprocess_cb ) \
-
+ MCFG_I8244_POSTPROCESS_CB(_postprocess_cb )
/***************************************************************************
TYPE DEFINITIONS
@@ -48,15 +43,15 @@ union vdc_t {
UINT8 reg[0x100];
struct {
struct {
- UINT8 y,x,color,res;
+ UINT8 y,x,color,res;
} sprites[4];
struct {
- UINT8 y,x,ptr,color;
+ UINT8 y,x,ptr,color;
} foreground[12];
struct {
- struct {
+ struct {
UINT8 y,x,ptr,color;
- } single[4];
+ } single[4];
} quad[4];
UINT8 shape[4][8];
UINT8 control;
@@ -83,8 +78,8 @@ class i8244_device : public device_t
, public device_sound_interface
{
public:
- // construction/destruction
- i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // construction/destruction
+ i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
i8244_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, int lines);
// static configuration helpers
@@ -103,7 +98,7 @@ public:
inline bitmap_ind16 *get_bitmap() { return &m_tmp_bitmap; }
- // Global constants
+ // Global constants
static const int START_ACTIVE_SCAN = 42;
static const int BORDER_SIZE = 10;
static const int END_ACTIVE_SCAN = 42 + 10 + 320 + 10;
@@ -133,8 +128,8 @@ protected:
static const device_timer_id TIMER_LINE = 0;
static const device_timer_id TIMER_HBLANK = 1;
- // callbacks
- devcb2_write_line m_irq_func;
+ // callbacks
+ devcb2_write_line m_irq_func;
devcb2_write16 m_postprocess_func;
const char *m_screen_tag;
diff --git a/src/emu/video/mc6845.h b/src/emu/video/mc6845.h
index c75ee6d5927..0a364b440bc 100644
--- a/src/emu/video/mc6845.h
+++ b/src/emu/video/mc6845.h
@@ -70,7 +70,7 @@ typedef void (*mc6845_on_update_addr_changed_func)(mc6845_device *device, int ad
struct mc6845_interface
{
const char *m_screen_tag; /* screen we are acting on */
- bool m_show_border_area; /* visible screen area (false) active display (true) active display + blanking */
+ bool m_show_border_area; /* visible screen area (false) active display (true) active display + blanking */
int m_hpixels_per_column; /* number of pixels per video memory address */
/* if specified, this gets called before any pixel update,
diff --git a/src/emu/video/pc_cga.c b/src/emu/video/pc_cga.c
index 34c63d23e49..50a2219baea 100644
--- a/src/emu/video/pc_cga.c
+++ b/src/emu/video/pc_cga.c
@@ -182,16 +182,16 @@ static VIDEO_START( cga_mc1502 );
static MC6845_INTERFACE( mc6845_cga_intf )
{
- CGA_SCREEN_NAME, /* screen number */
- false, /* show border area */
- 8, /* numbers of pixels per video memory address */
- NULL, /* begin_update */
- cga_update_row, /* update_row */
- NULL, /* end_update */
- DEVCB_NULL, /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
- DEVCB_LINE(cga_hsync_changed), /* on_hsync_changed */
- DEVCB_LINE(cga_vsync_changed), /* on_vsync_changed */
+ CGA_SCREEN_NAME, /* screen number */
+ false, /* show border area */
+ 8, /* numbers of pixels per video memory address */
+ NULL, /* begin_update */
+ cga_update_row, /* update_row */
+ NULL, /* end_update */
+ DEVCB_NULL, /* on_de_changed */
+ DEVCB_NULL, /* on_cur_changed */
+ DEVCB_LINE(cga_hsync_changed), /* on_hsync_changed */
+ DEVCB_LINE(cga_vsync_changed), /* on_vsync_changed */
NULL
};
diff --git a/src/emu/video/tlc34076.c b/src/emu/video/tlc34076.c
index 03ec2214460..ed812ee8d34 100644
--- a/src/emu/video/tlc34076.c
+++ b/src/emu/video/tlc34076.c
@@ -40,7 +40,7 @@ const device_type TLC34076 = &device_creator<tlc34076_device>;
// tlc34076_device - constructor
//-------------------------------------------------
tlc34076_device::tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, TLC34076, "TLC34076", tag, owner, clock),
+ : device_t(mconfig, TLC34076, "TLC34076", tag, owner, clock),
m_dacbits(6)
{
}
diff --git a/src/emu/video/tlc34076.h b/src/emu/video/tlc34076.h
index d73967d0a9f..a2aac64aec9 100644
--- a/src/emu/video/tlc34076.h
+++ b/src/emu/video/tlc34076.h
@@ -38,7 +38,7 @@ public:
static void static_set_bits(device_t &device, tlc34076_bits bits);
// public interface
- const pen_t *get_pens();
+ const pen_t *get_pens();
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
diff --git a/src/lib/formats/d64_dsk.c b/src/lib/formats/d64_dsk.c
index 9d2ac61d289..9186f07d510 100644
--- a/src/lib/formats/d64_dsk.c
+++ b/src/lib/formats/d64_dsk.c
@@ -234,7 +234,7 @@ bool d64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
floppy_image_format_t::desc_e *desc;
desc_s sectors[40];
int track_offset = 0, error_offset = 0;
-
+
UINT8 id1 = 0, id2 = 0;
get_disk_id(f, io, id1, id2);
@@ -251,7 +251,7 @@ bool d64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
int remaining_size = total_size - current_size;
if(remaining_size < 0)
throw emu_fatalerror("d64_format: Incorrect track layout, max_size=%d, current_size=%d", total_size, current_size);
-
+
// Fixup the end gap
desc[21].p2 = remaining_size / 8;
desc[22].p2 = remaining_size & 7;
@@ -259,7 +259,7 @@ bool d64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
build_sector_description(f, &img[track_offset], sectors, sector_count, &img[f.sector_count*f.sector_base_size + error_offset]);
generate_track(desc, physical_track, head, sectors, sector_count, total_size, image);
-
+
track_offset += track_size;
error_offset += sector_count;
}
@@ -272,7 +272,6 @@ bool d64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
void d64_format::extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head)
{
-
}
bool d64_format::save(io_generic *io, floppy_image *image)
diff --git a/src/lib/formats/d81_dsk.c b/src/lib/formats/d81_dsk.c
index 1d5bfcb767b..b3924ab6a36 100644
--- a/src/lib/formats/d81_dsk.c
+++ b/src/lib/formats/d81_dsk.c
@@ -137,46 +137,46 @@ const d81_format::format d81_format::formats[] = {
floppy_image_format_t::desc_e* d81_format::get_desc_mfm(const format &f, int &current_size, int &end_gap_index)
{
- static floppy_image_format_t::desc_e desc[25] = {
- /* 00 */ { MFM, 0x4e, f.gap_1 },
- /* 01 */ { SECTOR_LOOP_START, 0, f.sector_count-1 },
- /* 02 */ { MFM, 0x00, 12 },
- /* 03 */ { CRC_CCITT_START, 1 },
- /* 04 */ { RAW, 0x4489, 3 },
- /* 05 */ { MFM, 0xfe, 1 },
- /* 06 */ { TRACK_ID },
- /* 07 */ { HEAD_ID_SWAP },
- /* 08 */ { SECTOR_ID },
- /* 09 */ { SIZE_ID },
- /* 10 */ { CRC_END, 1 },
- /* 11 */ { CRC, 1 },
- /* 12 */ { MFM, 0x4e, f.gap_2 },
- /* 13 */ { MFM, 0x00, 12 },
- /* 14 */ { CRC_CCITT_START, 2 },
- /* 15 */ { RAW, 0x4489, 3 },
- /* 16 */ { MFM, 0xfb, 1 },
- /* 17 */ { SECTOR_DATA, -1 },
- /* 18 */ { CRC_END, 2 },
- /* 19 */ { CRC, 2 },
- /* 20 */ { MFM, 0x4e, f.gap_3 },
- /* 21 */ { SECTOR_LOOP_END },
- /* 22 */ { MFM, 0x4e, 0 },
- /* 23 */ { RAWBITS, 0x9254, 0 },
- /* 24 */ { END }
- };
-
- current_size = f.gap_1*16;
- if(f.sector_base_size)
- current_size += f.sector_base_size * f.sector_count * 16;
- else {
- for(int j=0; j != f.sector_count; j++)
- current_size += f.per_sector_size[j] * 16;
- }
- current_size += (12+3+1+4+2+f.gap_2+12+3+1+2+f.gap_3) * f.sector_count * 16;
-
- end_gap_index = 22;
-
- return desc;
+ static floppy_image_format_t::desc_e desc[25] = {
+ /* 00 */ { MFM, 0x4e, f.gap_1 },
+ /* 01 */ { SECTOR_LOOP_START, 0, f.sector_count-1 },
+ /* 02 */ { MFM, 0x00, 12 },
+ /* 03 */ { CRC_CCITT_START, 1 },
+ /* 04 */ { RAW, 0x4489, 3 },
+ /* 05 */ { MFM, 0xfe, 1 },
+ /* 06 */ { TRACK_ID },
+ /* 07 */ { HEAD_ID_SWAP },
+ /* 08 */ { SECTOR_ID },
+ /* 09 */ { SIZE_ID },
+ /* 10 */ { CRC_END, 1 },
+ /* 11 */ { CRC, 1 },
+ /* 12 */ { MFM, 0x4e, f.gap_2 },
+ /* 13 */ { MFM, 0x00, 12 },
+ /* 14 */ { CRC_CCITT_START, 2 },
+ /* 15 */ { RAW, 0x4489, 3 },
+ /* 16 */ { MFM, 0xfb, 1 },
+ /* 17 */ { SECTOR_DATA, -1 },
+ /* 18 */ { CRC_END, 2 },
+ /* 19 */ { CRC, 2 },
+ /* 20 */ { MFM, 0x4e, f.gap_3 },
+ /* 21 */ { SECTOR_LOOP_END },
+ /* 22 */ { MFM, 0x4e, 0 },
+ /* 23 */ { RAWBITS, 0x9254, 0 },
+ /* 24 */ { END }
+ };
+
+ current_size = f.gap_1*16;
+ if(f.sector_base_size)
+ current_size += f.sector_base_size * f.sector_count * 16;
+ else {
+ for(int j=0; j != f.sector_count; j++)
+ current_size += f.per_sector_size[j] * 16;
+ }
+ current_size += (12+3+1+4+2+f.gap_2+12+3+1+2+f.gap_3) * f.sector_count * 16;
+
+ end_gap_index = 22;
+
+ return desc;
}
const floppy_format_type FLOPPY_D81_FORMAT = &floppy_image_format_creator<d81_format>;
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index fdf0a1d97c2..d693188f606 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -301,7 +301,7 @@ protected:
FM, //!< One byte in p1 to be fm-encoded, msb first, repeated p2 times
MFM, //!< One byte in p1 to be mfm-encoded, msb first, repeated p2 times
MFMBITS, //!< A value of p2 bits in p1 to be mfm-encoded, msb first
- GCR5, //!< One byte in p1 to be gcr5-encoded, repeated p2 times
+ GCR5, //!< One byte in p1 to be gcr5-encoded, repeated p2 times
RAW, //!< One 16 bits word in p1 to be written raw, msb first, repeated p2 times
RAWBYTE, //!< One 8 bit byte in p1 to be written raw, msb first, repeated p2 times
RAWBITS, //!< A value of p2 bits in p1 to be copied as-is, msb first
@@ -330,13 +330,13 @@ protected:
SECTOR_DATA_FM, //!< Sector data to fm-encode, which in p1, -1 for the current one per the sector id
SECTOR_DATA_O, //!< Sector data to mfm-encode, odd bits only, which in p1, -1 for the current one per the sector id
SECTOR_DATA_E, //!< Sector data to mfm-encode, even bits only, which in p1, -1 for the current one per the sector id
- SECTOR_DATA_GCR5, //!< Sector data to gcr5-encode, which in p1, -1 for the current one per the sector id
+ SECTOR_DATA_GCR5, //!< Sector data to gcr5-encode, which in p1, -1 for the current one per the sector id
SECTOR_DATA_MAC, //!< Transformed sector data + checksum, mac style, id in p1, -1 for the current one per the sector id
CRC_CCITT_START, //!< Start a CCITT CRC calculation, with the usual x^16 + x^12 + x^5 + 1 (11021) polynomial, p1 = crc id
CRC_CCITT_FM_START, //!< Start a CCITT CRC calculation, with the usual x^16 + x^12 + x^5 + 1 (11021) polynomial, p1 = crc id
CRC_AMIGA_START, //!< Start an amiga checksum calculation, p1 = crc id
- CRC_CBM_START, //<! Start a CBM checksum calculation (xor of original data values, gcr5-encoded), p1 = crc id
+ CRC_CBM_START, //<! Start a CBM checksum calculation (xor of original data values, gcr5-encoded), p1 = crc id
CRC_MACHEAD_START, //!< Start of the mac gcr6 sector header checksum calculation (xor of pre-encode 6-bits values, gcr6-encoded)
CRC_END, //!< End the checksum, p1 = crc id
CRC, //!< Write a checksum in the apporpriate format, p1 = crc id
diff --git a/src/lib/formats/g64_dsk.c b/src/lib/formats/g64_dsk.c
index 2107ba3e753..7ce61b87d8e 100644
--- a/src/lib/formats/g64_dsk.c
+++ b/src/lib/formats/g64_dsk.c
@@ -42,7 +42,7 @@
#include "emu.h"
#include "formats/g64_dsk.h"
-#define G64_FORMAT_HEADER "GCR-1541"
+#define G64_FORMAT_HEADER "GCR-1541"
g64_format::g64_format()
{
@@ -113,7 +113,7 @@ bool g64_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
if (pos > 0) {
track_size = pick_integer_le(img, pos, 2);
pos +=2;
-
+
if (speed_zone_offset[track] > 3)
throw emu_fatalerror("g64_format: Unsupported variable speed zones on track %d", track);
diff --git a/src/lib/portmidi/readbinaryplist.c b/src/lib/portmidi/readbinaryplist.c
index 7f94270d86c..cd9beb02bb6 100644
--- a/src/lib/portmidi/readbinaryplist.c
+++ b/src/lib/portmidi/readbinaryplist.c
@@ -384,23 +384,23 @@ value_ptr bplist_read_file(char *filename)
#ifdef OSX_PPC
value_ptr bplist_read_pref(char *filename, OSType folder_type)
{
- FSRef prefdir;
- char cstr[MAXPATHLEN];
-
- OSErr err = FSFindFolder(kOnAppropriateDisk, folder_type,
- FALSE, &prefdir);
- if (err) {
- bplist_log("Error finding preferences folder: %d\n", err);
- return NULL;
- }
- err = FSRefMakePath(&prefdir, (UInt8 *) cstr, (UInt32) (MAXPATHLEN - 1));
- if (err) {
- bplist_log("Error making path name for preferences folder: %d\n", err);
- return NULL;
- }
- strlcat(cstr, "/", MAXPATHLEN);
- strlcat(cstr, filename, MAXPATHLEN);
- return bplist_read_file(cstr);
+ FSRef prefdir;
+ char cstr[MAXPATHLEN];
+
+ OSErr err = FSFindFolder(kOnAppropriateDisk, folder_type,
+ FALSE, &prefdir);
+ if (err) {
+ bplist_log("Error finding preferences folder: %d\n", err);
+ return NULL;
+ }
+ err = FSRefMakePath(&prefdir, (UInt8 *) cstr, (UInt32) (MAXPATHLEN - 1));
+ if (err) {
+ bplist_log("Error making path name for preferences folder: %d\n", err);
+ return NULL;
+ }
+ strlcat(cstr, "/", MAXPATHLEN);
+ strlcat(cstr, filename, MAXPATHLEN);
+ return bplist_read_file(cstr);
}
#else
value_ptr bplist_read_pref(char *filename, OSType folder_type)
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 8c7c0b2884c..4fc1ed2c6c1 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -365,7 +365,7 @@ static const ay8910_interface ay8910_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index 1ffa9a399d9..e3fcd048735 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -991,7 +991,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index fb4960948ba..076cd604a9a 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -210,7 +210,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index 0faf46441f6..4f17de6718e 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -804,7 +804,7 @@ static const ym3812_interface ym3812_config =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 43e3c0e42f2..b003f30a01e 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -1551,8 +1551,8 @@ static MC6845_INTERFACE( mc6845_intf )
that's why the big horizontal parameters */
"screen", /* screen we are acting on */
- false, /* show border area */
- 4, /* number of pixels per video memory address */
+ false, /* show border area */
+ 4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
NULL, /* after pixel update callback */
diff --git a/src/mame/drivers/atvtrack.c b/src/mame/drivers/atvtrack.c
index 32da20a2729..70ea24c8944 100644
--- a/src/mame/drivers/atvtrack.c
+++ b/src/mame/drivers/atvtrack.c
@@ -85,11 +85,11 @@ public:
UINT32 screen_update_atvtrack(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
inline UINT32 decode64_32(offs_t offset64, UINT64 data, UINT64 mem_mask, offs_t &offset32);
void logbinary(UINT32 data,int high,int low);
-
+
memory_region *m_nandregion;
int m_nandcommand[4], m_nandoffset[4], m_nandaddressstep, m_nandaddress[4];
UINT32 m_area1_data[4];
-
+
};
void atvtrack_state::logbinary(UINT32 data,int high=31,int low=0)
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index 358c900ca42..1afa22e038b 100644
--- a/src/mame/drivers/avt.c
+++ b/src/mame/drivers/avt.c
@@ -850,7 +850,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/belatra.c b/src/mame/drivers/belatra.c
index 6254c9a357f..77ab22b7721 100644
--- a/src/mame/drivers/belatra.c
+++ b/src/mame/drivers/belatra.c
@@ -4,7 +4,7 @@
These appear to run on Acorn Archimedes-compatible hardware, similar to ertictac.c.
That would make the SoC an ARM7500 or similar.
-
+
*/
/*
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index 477a91c79e4..87b289f2143 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -741,7 +741,7 @@ static const pia6821_interface megadpkr_pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/blitz68k.c b/src/mame/drivers/blitz68k.c
index a67a0770485..c990d517274 100644
--- a/src/mame/drivers/blitz68k.c
+++ b/src/mame/drivers/blitz68k.c
@@ -1666,7 +1666,7 @@ WRITE_LINE_MEMBER(blitz68k_state::crtc_vsync_irq5)
static MC6845_INTERFACE( mc6845_intf_irq1 )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -1681,7 +1681,7 @@ static MC6845_INTERFACE( mc6845_intf_irq1 )
static MC6845_INTERFACE( mc6845_intf_irq3 )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -1696,7 +1696,7 @@ static MC6845_INTERFACE( mc6845_intf_irq3 )
static MC6845_INTERFACE( mc6845_intf_irq5 )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index bc644c8c354..9ed4c6b7a0a 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -309,7 +309,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index db6dcc724a9..08bf14e8f3f 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -2717,7 +2717,7 @@ static const ay8910_interface sys906_ay8912_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index 25e3ae77bb1..e33ca521cf2 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -312,7 +312,7 @@ void carrera_state::palette_init()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 6dd0f4a1295..9e545cc79b8 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -140,7 +140,6 @@
inline void ccastles_state::schedule_next_irq( int curscanline )
{
-
/* scan for a rising edge on the IRQCK signal */
for (curscanline++; ; curscanline = (curscanline + 1) & 0xff)
if ((m_syncprom[(curscanline - 1) & 0xff] & 8) == 0 && (m_syncprom[curscanline] & 8) != 0)
diff --git a/src/mame/drivers/chance32.c b/src/mame/drivers/chance32.c
index 561dea3e996..344846a03fe 100644
--- a/src/mame/drivers/chance32.c
+++ b/src/mame/drivers/chance32.c
@@ -449,7 +449,7 @@ void chance32_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index f3abe97e64c..fc2aeb1bd17 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -112,7 +112,6 @@
inline void cloud9_state::schedule_next_irq(int curscanline)
{
-
/* IRQ is clocked by /32V, so every 64 scanlines */
curscanline = (curscanline + 64) & 255;
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 287657778b4..8efa74c597c 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -995,7 +995,7 @@ static const ay8910_interface ay8912_interface =
static MC6845_INTERFACE( h46505_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index c2ed8bd9a62..8b71501da7f 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -1164,9 +1164,9 @@ static I8237_INTERFACE( dmac_intf )
{ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
{ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
{ DEVCB_NULL /*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack0_w)*/,
- DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack1_w)*/,
- DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack2_w)*/,
- DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack3_w)*/ }
+ DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack1_w)*/,
+ DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack2_w)*/,
+ DEVCB_NULL/*DEVCB_DRIVER_LINE_MEMBER(coolridr_state, coolridr_dack3_w)*/ }
};
#define MAIN_CLOCK XTAL_28_63636MHz
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 1ded3c3f7f1..72d989ae5e9 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -5679,7 +5679,7 @@ ROM_START( nemoj )
ROMX_LOAD( "nm_33.9f", 0x100007, 0x20000, CRC(c469dc74) SHA1(d06956eef5f9b31779f218d597a1a504c1e16bad) , ROM_SKIP(7) ) // == nm-3m.5a
ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
- ROM_LOAD( "nm_23.13b", 0x00000, 0x08000, CRC(0f4b0581) SHA1(2e5a2885149c632abfaf4292a1bf032c13c8da6c) ) // == nme_09.12b
+ ROM_LOAD( "nm_23.13b", 0x00000, 0x08000, CRC(0f4b0581) SHA1(2e5a2885149c632abfaf4292a1bf032c13c8da6c) ) // == nme_09.12b
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
@@ -8627,7 +8627,7 @@ ROM_START( sf2dongb )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_WORD_SWAP( "1.8f", 0x000000, 0x80000, CRC(19fffa37) SHA1(db464c64de3aebe929c85ee167961de05d2c16be) )
ROM_LOAD16_WORD_SWAP( "1.7f", 0x080000, 0x80000, CRC(99f1cca4) SHA1(64111eba81d743fc3fd51d7a89cd0b2eefcc900d) ) // same as sf2ceea
- ROM_LOAD16_WORD_SWAP( "1.6f", 0x100000, 0x80000, CRC(65c2c719) SHA1(d407cae5f04fc8d05776d478a6eb4363b3c36805) )
+ ROM_LOAD16_WORD_SWAP( "1.6f", 0x100000, 0x80000, CRC(65c2c719) SHA1(d407cae5f04fc8d05776d478a6eb4363b3c36805) )
ROM_REGION( 0x600000, "gfx", 0 )
ROMX_LOAD( "s92-1m.3a", 0x000000, 0x80000, CRC(03b0d852) SHA1(f370f25c96ad2b94f8c53d6b7139100285a25bef) , ROM_GROUPWORD | ROM_SKIP(6) )
@@ -8647,7 +8647,7 @@ ROM_START( sf2dongb )
ROM_LOAD( "s92_09.11a", 0x00000, 0x08000, CRC(08f6b60e) SHA1(8258fcaca4ac419312531eec67079b97f471179c) )
ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
ROM_LOAD( "s92_18.11c", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) )
ROM_LOAD( "s92_19.12c", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
@@ -11246,7 +11246,7 @@ GAME( 1992, sf2m7, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack,
GAME( 1992, sf2m8, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M8, bootleg)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (YYC, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
-GAME( 1992, sf2dongb, sf2ce, cps1_12MHz, sf2, cps_state, sf2dongb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Dongfang Bubai protection, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2dongb, sf2ce, cps1_12MHz, sf2, cps_state, sf2dongb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Dongfang Bubai protection, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps_state, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE )
GAME( 1992, varth, 0, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified
GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC"
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 3d19197849c..2bd0cb0866a 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -692,7 +692,6 @@ void cps3_state::cps3_decrypt_bios()
void cps3_state::init_common(UINT32 key1, UINT32 key2, int altEncryption)
{
-
m_key1 = key1;
m_key2 = key2;
m_altEncryption = altEncryption;
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index a4eb6e2f831..719c928d3dc 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -402,7 +402,6 @@ INTERRUPT_GEN_MEMBER(dkong_state::s2650_interrupt)
void dkong_state::dkong_init_device_driver_data( )
{
-
m_dev_n2a03a = machine().device("n2a03a");
m_dev_n2a03b = machine().device("n2a03b");
m_dev_6h = machine().device("ls259.6h");
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index 4b6a4e394ca..09cc4eb2dbd 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -536,7 +536,6 @@ WRITE8_MEMBER(equites_state::equites_cymbal_ctrl_w)
void equites_state::equites_update_dac( )
{
-
// there is only one latch, which is used to drive two DAC channels.
// When the channel is enabled in the 4066, it goes to a series of
// low-pass filters. The channel is kept enabled only for a short time,
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 20602bb9075..8ce9f4972ae 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -457,12 +457,12 @@ static ADDRESS_MAP_START( knightsb_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN2")//(cps1_in2_r) /* Player 3 controls */
- AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */
+ AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */
AM_RANGE(0x800030, 0x800037) AM_WRITENOP //AM_WRITE(cps1_coinctrl_w) only writes bit 15
- AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */
- AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") /* CPS-B custom */
- AM_RANGE(0x800180, 0x800181) AM_WRITE(cps1_soundlatch2_w) /* Sound timer fade */
+ AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */
+ AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") /* CPS-B custom */
+ AM_RANGE(0x800180, 0x800181) AM_WRITE(cps1_soundlatch2_w) /* Sound timer fade */
AM_RANGE(0x880000, 0x880001) AM_WRITENOP //?
AM_RANGE(0x900000, 0x93ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram")
AM_RANGE(0x980000, 0x98002f) AM_WRITE(knightsb_layer_w)
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index 84b4ce8a42c..629f57c3a44 100644
--- a/src/mame/drivers/flipjack.c
+++ b/src/mame/drivers/flipjack.c
@@ -430,7 +430,7 @@ static AY8910_INTERFACE( ay8910_config_2 )
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 509a7ef9ec1..dc4859a005b 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -538,7 +538,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/fresh.c b/src/mame/drivers/fresh.c
index e4df1f9c072..1dada4254c4 100644
--- a/src/mame/drivers/fresh.c
+++ b/src/mame/drivers/fresh.c
@@ -37,7 +37,7 @@ public:
m_attr_2_videoram(*this, "attr_videoram_2"),
m_paletteram_1(*this, "paletteram_1"),
m_paletteram_2(*this, "paletteram_2")
-
+
{ }
tilemap_t *m_bg_tilemap;
@@ -79,11 +79,11 @@ public:
DECLARE_WRITE16_MEMBER( c75000_write )
{
logerror("c75000_write (scroll 2) %04x (m_d30000_value = %04x)\n", data, m_d30000_value);
- }
+ }
DECLARE_WRITE16_MEMBER( c76000_write )
{
logerror("c76000_write (scroll 3) %04x (m_d30000_value = %04x)\n", data, m_d30000_value);
- }
+ }
void update_palette(int offset);
DECLARE_READ16_MEMBER( unk_r )
@@ -195,29 +195,29 @@ static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
AM_RANGE(0xC20000, 0xC2ffff) AM_RAM_WRITE( fresh_bg_videoram_w ) AM_SHARE( "bg_videoram" )
AM_RANGE(0xC30000, 0xC3ffff) AM_RAM_WRITE( fresh_attr_videoram_w ) AM_SHARE( "attr_videoram" )
-// AM_RANGE(0xC70000, 0xC70001) AM_RAM
-// AM_RANGE(0xC70002, 0xC70003) AM_RAM
+// AM_RANGE(0xC70000, 0xC70001) AM_RAM
+// AM_RANGE(0xC70002, 0xC70003) AM_RAM
AM_RANGE(0xC71000, 0xC71001) AM_WRITE(c71000_write)
-// AM_RANGE(0xC72000, 0xC72001) AM_RAM
-// AM_RANGE(0xC72002, 0xC72003) AM_RAM
-// AM_RANGE(0xC73000, 0xC73001) AM_RAM
-// AM_RANGE(0xC73002, 0xC73003) AM_RAM
+// AM_RANGE(0xC72000, 0xC72001) AM_RAM
+// AM_RANGE(0xC72002, 0xC72003) AM_RAM
+// AM_RANGE(0xC73000, 0xC73001) AM_RAM
+// AM_RANGE(0xC73002, 0xC73003) AM_RAM
AM_RANGE(0xC74000, 0xC74001) AM_WRITE(c74000_write)
AM_RANGE(0xC75000, 0xC75001) AM_WRITE(c75000_write)
AM_RANGE(0xC76000, 0xC76001) AM_WRITE(c76000_write)
-// AM_RANGE(0xC77000, 0xC77001) AM_RAM
-// AM_RANGE(0xC77002, 0xC77003) AM_RAM
-
+// AM_RANGE(0xC77000, 0xC77001) AM_RAM
+// AM_RANGE(0xC77002, 0xC77003) AM_RAM
+
// written together
AM_RANGE(0xC40000, 0xC417ff) AM_RAM_WRITE(fresh_paletteram_1_w) AM_SHARE( "paletteram_1" ) // 16-bit
AM_RANGE(0xC50000, 0xC517ff) AM_RAM_WRITE(fresh_paletteram_2_w) AM_SHARE( "paletteram_2" ) // 8-bit
-// AM_RANGE(0xD00000, 0xD00001) AM_RAM
-// AM_RANGE(0xD10000, 0xD10001) AM_RAM
+// AM_RANGE(0xD00000, 0xD00001) AM_RAM
+// AM_RANGE(0xD10000, 0xD10001) AM_RAM
AM_RANGE(0xD30000, 0xD30001) AM_WRITE(d30000_write)
AM_RANGE(0xD40000, 0xD40001) AM_READ_PORT("IN0") //AM_WRITENOP // checks for 0x10
-// AM_RANGE(0xD40002, 0xD40003) AM_WRITENOP
+// AM_RANGE(0xD40002, 0xD40003) AM_WRITENOP
AM_RANGE(0xD70000, 0xD70001) AM_READ_PORT("IN1") // checks for 0x10, dead loop if fail
AM_RANGE(0xE00000, 0xE00001) AM_READ_PORT("DSW0") //AM_WRITENOP
@@ -336,7 +336,7 @@ static INPUT_PORTS_START( fresh )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
- PORT_START("DSW0")
+ PORT_START("DSW0")
PORT_DIPNAME( 0x0001, 0x0000, "DSW-0:0" ) // SWITCH 1 in test mode
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0001, DEF_STR( On ) )
@@ -593,14 +593,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(fresh_state::fake_scanline)
}
-// if(scanline == 32)
-// machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
+// if(scanline == 32)
+// machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
if(scanline == 64)
machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
-// if(scanline == 96)
-// machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
+// if(scanline == 96)
+// machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
if(scanline == 200) // vbl?
@@ -646,5 +646,5 @@ ROM_END
-// title shows Fruit Fresh but on resetting you get text strings of 'Dream World V2.41SI 97. 1.28'
+// title shows Fruit Fresh but on resetting you get text strings of 'Dream World V2.41SI 97. 1.28'
GAME( 1996, fresh, 0, fresh, fresh, driver_device, 0, ROT0, "Chain Leisure", "Fruit Fresh (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index e2900e83838..58c424e57f6 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -817,8 +817,8 @@
- Added a Jolly Card (Italian) set from an encrypted blue TAB
bootleg board. This one allows to play in both 'remote' and
'normal' mode. The game could pay through regular hopper, or
- through manual switch/button, discharging the credits one
- by one.
+ through manual switch/button, discharging the credits one
+ by one.
*** TO DO ***
@@ -1317,29 +1317,29 @@ static INPUT_PORTS_START( jolycdic )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW") // place '10000000' for NVRAM creation.
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_START("DSW") // place '10000000' for NVRAM creation.
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x00, "10 Points/Pulse" )
PORT_DIPSETTING( 0x02, "100 Points/Pulse" )
- PORT_DIPNAME( 0x04, 0x04, "Coinage B" ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPNAME( 0x04, 0x04, "Coinage B" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x04, "10 Credits" )
PORT_DIPSETTING( 0x00, "5 Credits" )
- PORT_DIPNAME( 0x08, 0x08, "Coinage A" ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPNAME( 0x08, 0x08, "Coinage A" ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x08, "20 Credits" )
PORT_DIPSETTING( 0x00, "1 Credit" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x00, "With Joker" ) /* also enables Five of a Kind */
PORT_DIPSETTING( 0x20, "Without Joker" )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* when is ON, allow the player to activate/deactivate the autohold through CANCEL button */
- PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00, "Hopper" )
PORT_DIPSETTING( 0x80, "Manual Payout SW" )
INPUT_PORTS_END
@@ -2526,7 +2526,7 @@ static const ay8910_interface funquiz_ay8910_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -3015,15 +3015,15 @@ ROM_END
Jolly Card (italian encrypted bootleg, set 2)
---------------------------------------------
- This program works in both 'normal' and 'remote' modes,
+ This program works in both 'normal' and 'remote' modes,
allowing to pay through hopper, or just through manual
- switch/button.
+ switch/button.
To initialize the NVRAM, DIP switches should be placed
- at factory default: (On On On On On On On Off), then
- keep pressed both service buttons (key 9 & 0), reset
- using F3 key, and then finally releasing the service
- buttons.
+ at factory default: (On On On On On On On Off), then
+ keep pressed both service buttons (key 9 & 0), reset
+ using F3 key, and then finally releasing the service
+ buttons.
*/
ROM_START( jolycdic ) /* another bootleg PCB, encrypted graphics */
diff --git a/src/mame/drivers/ghosteo.c b/src/mame/drivers/ghosteo.c
index 20322a1ade7..4e5974e1008 100644
--- a/src/mame/drivers/ghosteo.c
+++ b/src/mame/drivers/ghosteo.c
@@ -106,7 +106,7 @@ public:
virtual void machine_reset();
};
-
+
/*
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index 86a17522ff6..8f60a8421c6 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -3402,7 +3402,7 @@ static const pia6821_interface wcfalcon_pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 2805f400087..4cb4d56735b 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -509,10 +509,10 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( gticlub )
PORT_START("IN0")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("View switch")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Shift Down")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Shift Up")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("AT/MT switch")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("View switch")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Shift Down")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Shift Up")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("AT/MT switch")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_8)
PORT_BIT( 0x0b, IP_ACTIVE_LOW, IPT_UNKNOWN )
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 0f875a091d5..c8d5f961860 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -394,10 +394,10 @@ static ADDRESS_MAP_START( nyjoker_map, AS_PROGRAM, 16, highvdeo_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( nyjoker_io, AS_IO, 16, highvdeo_state )
- AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
- AM_RANGE(0x0002, 0x0003) AM_WRITENOP // alternate coin counter (bits 0 and 2)
+ AM_RANGE(0x0000, 0x0001) AM_WRITE(write1_w ) // lamps
+ AM_RANGE(0x0002, 0x0003) AM_WRITENOP // alternate coin counter (bits 0 and 2)
AM_RANGE(0x0004, 0x0005) AM_WRITE(nyj_write2_w ) // coin and note counter
-// AM_RANGE(0x0006, 0x0007) AM_WRITENOP
+// AM_RANGE(0x0006, 0x0007) AM_WRITENOP
AM_RANGE(0x0008, 0x0009) AM_WRITE(tv_ncf_oki6376_w )
AM_RANGE(0x000a, 0x000b) AM_WRITE(tv_ncf_oki6376_st_w )
AM_RANGE(0x000c, 0x000d) AM_READ_PORT("IN0")
@@ -419,9 +419,9 @@ WRITE16_MEMBER(highvdeo_state::nyj_write2_w)
---x ---- Note counter.
xxx- ---- Unknown.
*/
-// popmessage("%04x",data);
- coin_counter_w(machine(), 0, ~data & 0x0f); // Coins (all)
- coin_counter_w(machine(), 1, ~data & 0x10); // Notes (all)
+// popmessage("%04x",data);
+ coin_counter_w(machine(), 0, ~data & 0x0f); // Coins (all)
+ coin_counter_w(machine(), 1, ~data & 0x10); // Notes (all)
}
@@ -727,44 +727,44 @@ static INPUT_PORTS_START( nyjoker )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) // Coin 2
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) // Coin 3
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 ) // Coin 4 <--- This one has non-timed pulse, so maybe was designed to be KEY IN.
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Note 1") PORT_CODE(KEYCODE_1_PAD) // Note 1
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_COIN6 ) PORT_NAME("Note 2") PORT_CODE(KEYCODE_2_PAD) // Note 2
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN7 ) PORT_NAME("Note 3") PORT_CODE(KEYCODE_3_PAD) // Note 3
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN8 ) PORT_NAME("Note 4") PORT_CODE(KEYCODE_4_PAD) // Note 4
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Note 1") PORT_CODE(KEYCODE_1_PAD) // Note 1
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_COIN6 ) PORT_NAME("Note 2") PORT_CODE(KEYCODE_2_PAD) // Note 2
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN7 ) PORT_NAME("Note 3") PORT_CODE(KEYCODE_3_PAD) // Note 3
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN8 ) PORT_NAME("Note 4") PORT_CODE(KEYCODE_4_PAD) // Note 4
PORT_START("IN3")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Bookkeeping") // Account
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Key") // Key
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_T) // Ticket
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unknown") PORT_CODE(KEYCODE_U) // Unknown
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 1") PORT_CODE(KEYCODE_H) // Hopper 1
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 2") PORT_CODE(KEYCODE_J) // Hopper 2
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Level 2") PORT_CODE(KEYCODE_K) // Level 2
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Level 1") PORT_CODE(KEYCODE_L) // Level 1
-
- PORT_START("DSW") // DIP switches bank
- PORT_DIPNAME( 0x0001, 0x0000, "DSW 8" ) PORT_DIPLOCATION("DSW:!8")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Bookkeeping") // Account
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Key") // Key
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_T) // Ticket
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unknown") PORT_CODE(KEYCODE_U) // Unknown
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 1") PORT_CODE(KEYCODE_H) // Hopper 1
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 2") PORT_CODE(KEYCODE_J) // Hopper 2
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Level 2") PORT_CODE(KEYCODE_K) // Level 2
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Level 1") PORT_CODE(KEYCODE_L) // Level 1
+
+ PORT_START("DSW") // DIP switches bank
+ PORT_DIPNAME( 0x0001, 0x0000, "DSW 8" ) PORT_DIPLOCATION("DSW:!8")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0001, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, "Test Mode" ) PORT_DIPLOCATION("DSW:!7")
+ PORT_DIPNAME( 0x0002, 0x0002, "Test Mode" ) PORT_DIPLOCATION("DSW:!7")
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0000, "DSW 6" ) PORT_DIPLOCATION("DSW:!6")
+ PORT_DIPNAME( 0x0004, 0x0000, "DSW 6" ) PORT_DIPLOCATION("DSW:!6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0004, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0000, "DSW 5" ) PORT_DIPLOCATION("DSW:!5")
+ PORT_DIPNAME( 0x0008, 0x0000, "DSW 5" ) PORT_DIPLOCATION("DSW:!5")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0008, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0000, "DSW 4" ) PORT_DIPLOCATION("DSW:!4")
+ PORT_DIPNAME( 0x0010, 0x0000, "DSW 4" ) PORT_DIPLOCATION("DSW:!4")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0000, "DSW 3" ) PORT_DIPLOCATION("DSW:!3")
+ PORT_DIPNAME( 0x0020, 0x0000, "DSW 3" ) PORT_DIPLOCATION("DSW:!3")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0000, "DSW 2" ) PORT_DIPLOCATION("DSW:!2")
+ PORT_DIPNAME( 0x0040, 0x0000, "DSW 2" ) PORT_DIPLOCATION("DSW:!2")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0000, "DSW 1" ) PORT_DIPLOCATION("DSW:!1")
+ PORT_DIPNAME( 0x0080, 0x0000, "DSW 1" ) PORT_DIPLOCATION("DSW:!1")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0080, DEF_STR( On ) )
INPUT_PORTS_END
@@ -1244,7 +1244,7 @@ ROM_END
adv476kp35 CMOS Monolithic 256x18 Color Palette RAM-DAC
Xtal 16Mhz
oki m6376
- Lattice isplsi1032e
+ Lattice isplsi1032e
model TV
vers 2.0
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index cf6138a5ce5..bc37a4a76eb 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -458,7 +458,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/igs_m036.c b/src/mame/drivers/igs_m036.c
index 79428f7065d..b04e3b8ede2 100644
--- a/src/mame/drivers/igs_m036.c
+++ b/src/mame/drivers/igs_m036.c
@@ -15,7 +15,7 @@ but with GFX processor integrated
I dont know the CPU core (should ARM based due to fail test)
the chip has internal rom build-in
the the FLASH(u33, EV29LV160AB-90PCR) is external rom and encrypted
-if the external rom decrypted then we can
+if the external rom decrypted then we can
try to trojan the internal rom
here we offer several revision a same game to see
if anyone could find any clue, these 4 revision can
@@ -43,11 +43,11 @@ CPU: IGS036
GFX: IGS036
SND: TT5665
----------------------------------------------------------------------------
-Filename TYPE CRC32 SHA1
-cjddzsp_s122cn.u27 GFX 797e5ba3 784fae513ac8cfd1143f0d0ce0936f74e2e64e48
-cjddzsp_s122cn.u28 GFX d0441a6b e1c948f94472398aa5887963cf8e87be28dd66e0
-cjddzsp_s122cn.u30 SND e0e02a57 96074a5226dd24d0bc150adff7324b5349cb5dc2
-cjddzsp_s122cn.u18 PRG 4a42aad6 96805e5bfbd50686177fe50020229ea8787ade17
+Filename TYPE CRC32 SHA1
+cjddzsp_s122cn.u27 GFX 797e5ba3 784fae513ac8cfd1143f0d0ce0936f74e2e64e48
+cjddzsp_s122cn.u28 GFX d0441a6b e1c948f94472398aa5887963cf8e87be28dd66e0
+cjddzsp_s122cn.u30 SND e0e02a57 96074a5226dd24d0bc150adff7324b5349cb5dc2
+cjddzsp_s122cn.u18 PRG 4a42aad6 96805e5bfbd50686177fe50020229ea8787ade17
----------------------------------------------------------------------------
check more info and photo from cjdh2.zip!!!
@@ -252,4 +252,3 @@ GAME( 200?, cjdh2c, cjdh2, igs_m036, igs_m036, igs_m036_state, igs_m036,
GAME( 200?, cjddzsp, 0, igs_m036_tt, igs_m036, igs_m036_state, igs_m036, ROT0, "IGS", "Super Dou Di Zhu Special (V122CN)", GAME_IS_SKELETON )
GAME( 200?, igsm312, 0, igs_m036_tt, igs_m036, igs_m036_state, igs_m036, ROT0, "IGS", "Unknown IGS036 CPU game (V312CN)", GAME_IS_SKELETON )
-
diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c
index ce382422df4..a4991f58104 100644
--- a/src/mame/drivers/imolagp.c
+++ b/src/mame/drivers/imolagp.c
@@ -206,7 +206,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(imolagp_state::imolagp_pot_callback)
steer = -steer;
m_steerlatch = (m_steerlatch << 1) | (~m_steerlatch >> 1 & 1);
}
-
+
// steering speed is determined by timer period
// these values(in usec) may need tweaking:
const int base = 6500;
@@ -262,15 +262,15 @@ WRITE8_MEMBER(imolagp_state::imola_led_board_w)
output_set_digit_value(offset, ls48_map[data & 0x0f]);
/*
- score: 0, 1, 2, 3
- time: 4, 5
- result: 10, 11
- credits: 12, 13
- highscore 1: 32, 33, 34, 35
- highscore 2: 36, 37, 24, 25
- highscore 3: 26, 27, 28, 29
- highscore 4: 16, 17, 18, 19
- highscore 5: 20, 21, 8, 9
+ score: 0, 1, 2, 3
+ time: 4, 5
+ result: 10, 11
+ credits: 12, 13
+ highscore 1: 32, 33, 34, 35
+ highscore 2: 36, 37, 24, 25
+ highscore 3: 26, 27, 28, 29
+ highscore 4: 16, 17, 18, 19
+ highscore 5: 20, 21, 8, 9
*/
}
@@ -302,7 +302,7 @@ WRITE8_MEMBER(imolagp_state::screenram_w)
// when in tunnel: $81/$82 -> sprite ram?
if (m_draw_mode & 0x80)
m_videoram[1][offset] = data;
-
+
// sprites: $05
else if (m_draw_mode & 0x01)
m_videoram[1][offset] = data;
@@ -325,7 +325,7 @@ static ADDRESS_MAP_START( imolagp_master_map, AS_PROGRAM, 8, imolagp_state )
AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
AM_RANGE(0x3000, 0x3000) AM_WRITE(vreg_control_w)
AM_RANGE(0x37f0, 0x37f0) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
-// AM_RANGE(0x37f7, 0x37f7) AM_NOP
+// AM_RANGE(0x37f7, 0x37f7) AM_NOP
AM_RANGE(0x3800, 0x3800) AM_READWRITE(vreg_data_r, vreg_data_w)
AM_RANGE(0x3810, 0x3810) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSWA")
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index bc7321f5f41..b50938e2ee1 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -1542,7 +1542,7 @@ INPUT_PORTS_END
*
*************************************/
- static const jaguar_cpu_config gpu_config =
+ static const jaguar_cpu_config gpu_config =
{
&jaguar_state::gpu_cpu_int
};
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index c65a2131a3c..2dec682e270 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -459,7 +459,7 @@ static const pia6821_interface pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index 93cd21dc82b..14e06a6d30b 100644
--- a/src/mame/drivers/jubilee.c
+++ b/src/mame/drivers/jubilee.c
@@ -395,7 +395,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 7a7933c3e8c..741c1efeb4e 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -915,7 +915,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index 28d8af05a13..66ae8ef5b93 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -239,7 +239,7 @@ void laserbas_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index f8f8da75308..ebcebf7e8f0 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -157,12 +157,12 @@ READ16_MEMBER(lordgun_state::aliencha_protection_r)
WRITE8_MEMBER(lordgun_state::fake_w)
{
-// popmessage("%02x",data);
+// popmessage("%02x",data);
}
WRITE8_MEMBER(lordgun_state::fake2_w)
{
-// popmessage("%02x",data);
+// popmessage("%02x",data);
}
WRITE8_MEMBER(lordgun_state::lordgun_eeprom_w)
@@ -172,7 +172,7 @@ WRITE8_MEMBER(lordgun_state::lordgun_eeprom_w)
if (data & ~0xfd)
{
-// popmessage("EE: %02x", data);
+// popmessage("EE: %02x", data);
logerror("%s: Unknown EEPROM bit written %02X\n",machine().describe_context(),data);
}
@@ -203,7 +203,7 @@ WRITE8_MEMBER(lordgun_state::aliencha_eeprom_w)
if (~data & ~0xf8)
{
-// popmessage("EE: %02x", data);
+// popmessage("EE: %02x", data);
logerror("%s: Unknown EEPROM bit written %02X\n",machine().describe_context(),data);
}
@@ -354,7 +354,7 @@ WRITE8_MEMBER(lordgun_state::lordgun_okibank_w)
device_t *device = machine().device("oki");
downcast<okim6295_device *>(device)->set_bank_base((data & 2) ? 0x40000 : 0);
if (data & ~3) logerror("%s: unknown okibank bits %02x\n", machine().describe_context(), data);
-// popmessage("OKI %x", data);
+// popmessage("OKI %x", data);
}
static ADDRESS_MAP_START( lordgun_soundio_map, AS_IO, 8, lordgun_state )
@@ -565,7 +565,7 @@ static INPUT_PORTS_START( aliencha )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x02, "4" )
PORT_DIPSETTING( 0x03, "6" )
-// PORT_DIPSETTING( 0x00, "6" )
+// PORT_DIPSETTING( 0x00, "6" )
PORT_DIPNAME( 0x04, 0x04, "Vs. Rounds" ) PORT_DIPLOCATION("SW3:3")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x04, "5" )
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index 175cb6302f1..a9045627d5e 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -976,7 +976,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 336a3d5326c..00e33b2a864 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -661,7 +661,7 @@
[2013-01-15]
- Added another set of Lucky'74 (reclassified as bootleg set 2). This one has
- a different payrate table that match 100% the one from the manual...
+ a different payrate table that match 100% the one from the manual...
[2012-06-05]
@@ -1202,14 +1202,14 @@ INPUT_PORTS_END
static INPUT_PORTS_START( excitbj )
PORT_START("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("1BET") // Bet 1
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("10BET") // Bet 10
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("1BET") // Bet 1
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("10BET") // Bet 10
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("CNT")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("HIT") // Hit
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("SND") // Sound?
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("DWN") // Double Down?
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("SPT") // Split?
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("INS") // Insurance?
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("HIT") // Hit
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("SND") // Sound?
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("DWN") // Double Down?
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("SPT") // Split?
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("INS") // Insurance?
PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1")
@@ -1224,9 +1224,9 @@ static INPUT_PORTS_START( excitbj )
PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("HCN")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("EMP")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("BOK") // Bookkeeping
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") PORT_CODE(KEYCODE_F2) PORT_TOGGLE
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("PAY") // Payout
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("BOK") // Bookkeeping
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Mode") PORT_CODE(KEYCODE_F2) PORT_TOGGLE
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("PAY") // Payout
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("KSW")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8")
@@ -1676,31 +1676,31 @@ ROM_END
*/
ROM_START( lucky74a )
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "10.cpu", 0x0000, 0x10000, CRC(663d139e) SHA1(259c36d741c13bf06f317dc893f46e2cfca15ace) )
+ ROM_LOAD( "10.cpu", 0x0000, 0x10000, CRC(663d139e) SHA1(259c36d741c13bf06f317dc893f46e2cfca15ace) )
ROM_REGION( 0x20000, "fgtiles", 0 )
- ROM_LOAD( "2.2j", 0x00000, 0x8000, CRC(ff934c20) SHA1(07cd2225dfc0e5b74be2e1b379c6b180e37660db) )
- ROM_LOAD( "1.2f", 0x08000, 0x8000, CRC(2fd6fb8a) SHA1(1a910e0a2e6db22a8d9a65d7b932f9ca39601e9c) )
- ROM_LOAD( "3.2k", 0x10000, 0x8000, CRC(c70a6da3) SHA1(195772ef649e21a5c54c5871e7b858967b6ebee8) )
- ROM_LOAD( "4.2m", 0x18000, 0x8000, CRC(b5813b67) SHA1(cce38e33a5218d6839d956174807d88e7c070d5a) )
+ ROM_LOAD( "2.2j", 0x00000, 0x8000, CRC(ff934c20) SHA1(07cd2225dfc0e5b74be2e1b379c6b180e37660db) )
+ ROM_LOAD( "1.2f", 0x08000, 0x8000, CRC(2fd6fb8a) SHA1(1a910e0a2e6db22a8d9a65d7b932f9ca39601e9c) )
+ ROM_LOAD( "3.2k", 0x10000, 0x8000, CRC(c70a6da3) SHA1(195772ef649e21a5c54c5871e7b858967b6ebee8) )
+ ROM_LOAD( "4.2m", 0x18000, 0x8000, CRC(b5813b67) SHA1(cce38e33a5218d6839d956174807d88e7c070d5a) )
ROM_REGION( 0x20000, "bgtiles", 0 )
- ROM_LOAD( "7.1j", 0x00000, 0x8000, CRC(010ffa4a) SHA1(8856d61b71e951509073bc359851f47c39c4274d) )
- ROM_LOAD( "6.1f", 0x08000, 0x8000, CRC(15104810) SHA1(586df734740209e2a05932e31d2a301d330e8cbd) )
- ROM_LOAD( "8.1k", 0x10000, 0x8000, CRC(f2d45e76) SHA1(46df7bf98434c836fd38539575a35bf67c9ec2c6) )
- ROM_LOAD( "9.1m", 0x18000, 0x8000, CRC(6b0196f3) SHA1(277049279dcfcf07189dbdb20935c2a71b2f6061) )
+ ROM_LOAD( "7.1j", 0x00000, 0x8000, CRC(010ffa4a) SHA1(8856d61b71e951509073bc359851f47c39c4274d) )
+ ROM_LOAD( "6.1f", 0x08000, 0x8000, CRC(15104810) SHA1(586df734740209e2a05932e31d2a301d330e8cbd) )
+ ROM_LOAD( "8.1k", 0x10000, 0x8000, CRC(f2d45e76) SHA1(46df7bf98434c836fd38539575a35bf67c9ec2c6) )
+ ROM_LOAD( "9.1m", 0x18000, 0x8000, CRC(6b0196f3) SHA1(277049279dcfcf07189dbdb20935c2a71b2f6061) )
- ROM_REGION( 0x20000, "adpcm", 0 ) /* 4-bits ADPCM samples @ 8kHz */
- ROM_LOAD( "5.2n", 0x00000, 0x10000, CRC(b896c87f) SHA1(985e625a937abd6353218f0cace14d3adec4c1bf) ) /* location 2n */
- ROM_FILL( 0x10000, 0x10000, 0xff ) /* empty socket @ 1n */
+ ROM_REGION( 0x20000, "adpcm", 0 ) /* 4-bits ADPCM samples @ 8kHz */
+ ROM_LOAD( "5.2n", 0x00000, 0x10000, CRC(b896c87f) SHA1(985e625a937abd6353218f0cace14d3adec4c1bf) ) /* location 2n */
+ ROM_FILL( 0x10000, 0x10000, 0xff ) /* empty socket @ 1n */
ROM_REGION( 0x0600, "proms", 0 )
- ROM_LOAD( "82s129.e6", 0x0000, 0x0100, CRC(ae793fef) SHA1(e4e2d2dccabad7d756811fb2d5e123bf30f106f3) )
- ROM_LOAD( "82s129.e7", 0x0100, 0x0100, CRC(7c772d0c) SHA1(9c99daa01ca56c7ebd48945505fcbae184998b13) )
- ROM_LOAD( "82s129.d6", 0x0200, 0x0100, CRC(61716584) SHA1(7a3e17f47ce173d79c12b2394edb8f32b7509e39) )
- ROM_LOAD( "82s129.d7", 0x0300, 0x0100, CRC(4003bc8f) SHA1(f830203c22a4f94b8b9f0b24e287204a742a8322) )
- ROM_LOAD( "82s129.c6", 0x0400, 0x0100, CRC(a8d2b3db) SHA1(7b346797bedc627fb2d49f19b18860a81c69e122) )
- ROM_LOAD( "82s129.c7", 0x0500, 0x0100, CRC(e62fd192) SHA1(86a189df2e2ccef6bd2a4e6d969e777fbba8cdf7) )
+ ROM_LOAD( "82s129.e6", 0x0000, 0x0100, CRC(ae793fef) SHA1(e4e2d2dccabad7d756811fb2d5e123bf30f106f3) )
+ ROM_LOAD( "82s129.e7", 0x0100, 0x0100, CRC(7c772d0c) SHA1(9c99daa01ca56c7ebd48945505fcbae184998b13) )
+ ROM_LOAD( "82s129.d6", 0x0200, 0x0100, CRC(61716584) SHA1(7a3e17f47ce173d79c12b2394edb8f32b7509e39) )
+ ROM_LOAD( "82s129.d7", 0x0300, 0x0100, CRC(4003bc8f) SHA1(f830203c22a4f94b8b9f0b24e287204a742a8322) )
+ ROM_LOAD( "82s129.c6", 0x0400, 0x0100, CRC(a8d2b3db) SHA1(7b346797bedc627fb2d49f19b18860a81c69e122) )
+ ROM_LOAD( "82s129.c7", 0x0500, 0x0100, CRC(e62fd192) SHA1(86a189df2e2ccef6bd2a4e6d969e777fbba8cdf7) )
ROM_END
/*
@@ -1715,7 +1715,7 @@ ROM_END
*/
ROM_START( lucky74b )
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "luckygde.00", 0x0000, 0x10000, CRC(e3f7db99) SHA1(5c7d9d3fed9eb19d3d666c8c08b34968a9996a96) ) /* bad dump? */
+ ROM_LOAD( "luckygde.00", 0x0000, 0x10000, CRC(e3f7db99) SHA1(5c7d9d3fed9eb19d3d666c8c08b34968a9996a96) ) /* bad dump? */
ROM_REGION( 0x20000, "fgtiles", 0 )
ROM_LOAD( "luckygde.12", 0x00000, 0x8000, CRC(7127465b) SHA1(3f72f91652fcab52c073744b1651fdfe772c584a) )
@@ -1730,8 +1730,8 @@ ROM_START( lucky74b )
ROM_LOAD( "luckygde.19", 0x18000, 0x8000, CRC(bb4608ae) SHA1(cc8ec596f445fe0364f254241227de368f309ebb) )
ROM_REGION( 0x20000, "adpcm", 0 ) /* 4-bits ADPCM samples @ 8kHz */
- ROM_LOAD( "luckyson.15", 0x00000, 0x10000, CRC(b896c87f) SHA1(985e625a937abd6353218f0cace14d3adec4c1bf) ) /* location 2n */
- ROM_FILL( 0x10000, 0x10000, 0xff ) /* empty socket @ 1n */
+ ROM_LOAD( "luckyson.15", 0x00000, 0x10000, CRC(b896c87f) SHA1(985e625a937abd6353218f0cace14d3adec4c1bf) ) /* location 2n */
+ ROM_FILL( 0x10000, 0x10000, 0xff ) /* empty socket @ 1n */
ROM_REGION( 0x0600, "proms", 0 )
ROM_LOAD( "luckyprom.e6", 0x0000, 0x0100, CRC(ae793fef) SHA1(e4e2d2dccabad7d756811fb2d5e123bf30f106f3) )
@@ -1785,8 +1785,8 @@ ROM_START( excitbj )
ROM_LOAD( "ebj_s9.1l", 0x30000, 0x10000, CRC(79ba7d75) SHA1(7301143a019d5e79eff7941a1a34fe96036acffa) )
ROM_REGION( 0x20000, "adpcm", 0 ) /* 4-bits ADPCM samples @ 8kHz */
- ROM_LOAD( "ebj_s5.2n", 0x00000, 0x10000, CRC(9b4a10a2) SHA1(843ab5955ba96bb1b1a5367652d0f6424ba23bdf) ) /* location 2n */
- ROM_LOAD( "ebj_s10.1n", 0x10000, 0x10000, CRC(2fa7401d) SHA1(80a5dfd2b7c183acd2fc124d220de4a4921178b2) ) /* location 1n */
+ ROM_LOAD( "ebj_s5.2n", 0x00000, 0x10000, CRC(9b4a10a2) SHA1(843ab5955ba96bb1b1a5367652d0f6424ba23bdf) ) /* location 2n */
+ ROM_LOAD( "ebj_s10.1n", 0x10000, 0x10000, CRC(2fa7401d) SHA1(80a5dfd2b7c183acd2fc124d220de4a4921178b2) ) /* location 1n */
ROM_REGION( 0x0600, "proms", 0 )
ROM_LOAD( "6e-a.6e", 0x0000, 0x0100, CRC(bcaa7a0d) SHA1(75554d539bf67effb862234cdf89e4df4e2193ed) )
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 9d7a7264869..74eb9ccac0a 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -133,7 +133,6 @@ WRITE8_MEMBER(lwings_state::avengers_prot_bank_w)
int lwings_state::avengers_fetch_paldata( )
{
-
static const char pal_data[] =
/* page 1: 0x03,0x02,0x01,0x00 */
"0000000000000000" "A65486A6364676D6" "C764C777676778A7" "A574E5E5C5756AE5"
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 0ad88ccb124..96baae3b287 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -330,7 +330,7 @@
With the default DIP switches positions, the game is totally in French, and is
titled 'BONNE CHANCE!'. Turning the 4th DIP switch ON, the game switch to English,
- and the title changes to 'GOOD LUCK!' (as the above mentioned games).
+ and the title changes to 'GOOD LUCK!' (as the above mentioned games).
To enter the test mode, press SERVICE (key 9). You can see an input-test matrix
to test all the valid inputs. Pressing BET (key M) and START (Key 1) simultaneou-
@@ -416,7 +416,7 @@
[2013-01-17]
- Added Bonne Chance!. A French/English poker game prototype of
- the well known 'Golden Poker' and 'Jack Potten Poker'.
+ the well known 'Golden Poker' and 'Jack Potten Poker'.
- Worked complete inputs from the scratch. Promoted to working.
- Added proper palette. Now the game seems to get accurate colors.
- Added some notes.
@@ -608,8 +608,8 @@ PALETTE_INIT_MEMBER(magicfly_state, bchance)
palette_set_color(machine(), i + 15, MAKE_RGB(0xff, 0xff, 0xff));
}
- palette_set_color(machine(), 0x08 , MAKE_RGB(0xff, 0xff, 0xff)); // white for the cards back logo background.
- palette_set_color(machine(), 0x12 , MAKE_RGB(0x00, 0x00, 0x00)); // black for the cards corners (should be transparent)
+ palette_set_color(machine(), 0x08 , MAKE_RGB(0xff, 0xff, 0xff)); // white for the cards back logo background.
+ palette_set_color(machine(), 0x12 , MAKE_RGB(0x00, 0x00, 0x00)); // black for the cards corners (should be transparent)
}
@@ -814,42 +814,42 @@ static INPUT_PORTS_START( bchance )
R4C1 + R4C5 to exit...
*/
PORT_START("IN0-0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // input test R1C1 (coin 1)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // input test R1C2 (coin 2)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN0-3") // input test R1C3 (unknown)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN0-4") // input test R1C4 (unknown)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // input test R1C1 (coin 1)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // input test R1C2 (coin 2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN0-3") // input test R1C3 (unknown)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN0-4") // input test R1C4 (unknown)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN0-6") // input test R1C5 (unknown)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN0-6") // input test R1C5 (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_LOW ) PORT_NAME("Small") // input test R2C1 (small)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") // input test R2C2 (big)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Payout") // input test R2C3 (payout)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) // input test R2C4 (take)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small") // input test R2C1 (small)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") // input test R2C2 (big)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Payout") // input test R2C3 (payout)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) // input test R2C4 (take)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN1-6") // input test R2C5 (unknown)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN1-6") // input test R2C5 (unknown)
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_HOLD4 ) // input test R3C1 (hold 4)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) // input test R3C2 (hold 5)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) // input test R3C3 (hold 2)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) // input test R3C4 (hold 3)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) // input test R3C1 (hold 4)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) // input test R3C2 (hold 5)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) // input test R3C3 (hold 2)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) // input test R3C4 (hold 3)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) // input test R3C5 (hold 1)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) // input test R3C5 (hold 1)
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_START1 ) PORT_NAME("Start") // input test R4C1 (start/deal)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // input test R4C2 (cancel)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) // input test R4C3 (service/test)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) // input test R4C4 (d-up)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") // input test R4C1 (start/deal)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // input test R4C2 (cancel)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) // input test R4C3 (service/test)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) // input test R4C4 (d-up)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // input test R4C5 (bet)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // input test R4C5 (bet)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -918,7 +918,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -1031,23 +1031,23 @@ ROM_END
ROM_START( bchance )
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "v-pk-4gag.bin", 0xc000, 0x4000, CRC(7c2dd908) SHA1(97b1390fb4c8c838a0d5b78d6904d597a9abe27f) )
+ ROM_LOAD( "v-pk-4gag.bin", 0xc000, 0x4000, CRC(7c2dd908) SHA1(97b1390fb4c8c838a0d5b78d6904d597a9abe27f) )
- ROM_REGION( 0x6000, "gfx", 0 ) /* ROM n-pk-2.bin was created from an exhaustive analysis of 25 different bad dumps */
- ROM_LOAD( "n-pk-2.bin", 0x0000, 0x2000, BAD_DUMP CRC(462c3dd7) SHA1(fb30d6147e0d607b3fb631d8bdca35e98eccfd2d) )
- ROM_LOAD( "n-pk-1.bin", 0x2000, 0x2000, CRC(e35cebd6) SHA1(b0dd86fd4c06f98e486b04e09808985bfa4f0e9c) )
- ROM_LOAD( "n-pk-0.bin", 0x4000, 0x2000, CRC(3c64edc4) SHA1(97b677b7c4999b502ab4b4f70c33b40050843796) )
+ ROM_REGION( 0x6000, "gfx", 0 ) /* ROM n-pk-2.bin was created from an exhaustive analysis of 25 different bad dumps */
+ ROM_LOAD( "n-pk-2.bin", 0x0000, 0x2000, BAD_DUMP CRC(462c3dd7) SHA1(fb30d6147e0d607b3fb631d8bdca35e98eccfd2d) )
+ ROM_LOAD( "n-pk-1.bin", 0x2000, 0x2000, CRC(e35cebd6) SHA1(b0dd86fd4c06f98e486b04e09808985bfa4f0e9c) )
+ ROM_LOAD( "n-pk-0.bin", 0x4000, 0x2000, CRC(3c64edc4) SHA1(97b677b7c4999b502ab4b4f70c33b40050843796) )
ROM_REGION( 0x0800, "gfxbnk0", 0 )
- ROM_COPY( "gfx", 0x1800, 0x0000, 0x0800 ) /* chars */
+ ROM_COPY( "gfx", 0x1800, 0x0000, 0x0800 ) /* chars */
ROM_REGION( 0x1800, "gfxbnk1", 0 )
- ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* 3bpp tiles, bitplane 1 */
- ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* 3bpp tiles, bitplane 2 */
- ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* 3bpp tiles, bitplane 3 */
+ ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* 3bpp tiles, bitplane 1 */
+ ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* 3bpp tiles, bitplane 2 */
+ ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* 3bpp tiles, bitplane 3 */
ROM_REGION( 0x0200, "plds", 0 )
- ROM_LOAD( "gal16v8-bchance.bin", 0x0000, 0x0104, NO_DUMP ) /* protected */
+ ROM_LOAD( "gal16v8-bchance.bin", 0x0000, 0x0104, NO_DUMP ) /* protected */
ROM_END
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 26d0ffce967..befd214af3d 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -1002,7 +1002,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index b8fa8533c81..00b704e60f0 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -316,7 +316,7 @@ WRITE_LINE_MEMBER(merit_state::vsync_changed)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index 507b6394a9a..7223da3469e 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -394,7 +394,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index 73f276e9c22..c2eac681ffb 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -513,7 +513,7 @@ TIMER_CALLBACK_MEMBER(missile_state::adjust_cpu_speed)
void missile_state::machine_start()
{
/* initialize globals */
- m_mainrom = memregion("maincpu")->base();
+ m_mainrom = memregion("maincpu")->base();
m_writeprom = memregion("proms")->base();
m_flipscreen = 0;
diff --git a/src/mame/drivers/mpu12wbk.c b/src/mame/drivers/mpu12wbk.c
index 9dde807e763..ed8ac8007b2 100644
--- a/src/mame/drivers/mpu12wbk.c
+++ b/src/mame/drivers/mpu12wbk.c
@@ -494,7 +494,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index 6092a0ea392..5baa6b7b42d 100644
--- a/src/mame/drivers/mpu4dealem.c
+++ b/src/mame/drivers/mpu4dealem.c
@@ -147,7 +147,7 @@ WRITE_LINE_MEMBER(mpu4dealem_state::dealem_vsync_changed)
static MC6845_INTERFACE( hd6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index cb73c0085d5..ae88e20bbd9 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -231,7 +231,7 @@ UINT32 murogem_state::screen_update_murogem(screen_device &screen, bitmap_ind16
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/namcops2.c b/src/mame/drivers/namcops2.c
index db8e2d6fa7b..e4f8e361eaf 100644
--- a/src/mame/drivers/namcops2.c
+++ b/src/mame/drivers/namcops2.c
@@ -455,11 +455,11 @@ ROM_START( rrvac )
ROM_LOAD( "rrv3vera.ic002", 0x000000, 0x800000, CRC(dd20c4a2) SHA1(07bddaac958ac62d9fc29671fc83bd1e3b27f4b8) )
ROM_LOAD( "rrv3vera_spr.ic002", 0x800000, 0x040000, CRC(712e0e9a) SHA1(d396aaf918036ff7f909a84daefe8f651fdf9b05) )
- ROM_REGION(0x4010, "jvsio", 0) // Namco "FCA" JVS I/O board PIC16F84 code (see namcos23.c for FCA details)
- ROM_LOAD( "fcap11.ic2", 0x000000, 0x004010, CRC(1b2592ce) SHA1(a1a487361053af564f6ec67e545413e370a3b38c) )
+ ROM_REGION(0x4010, "jvsio", 0) // Namco "FCA" JVS I/O board PIC16F84 code (see namcos23.c for FCA details)
+ ROM_LOAD( "fcap11.ic2", 0x000000, 0x004010, CRC(1b2592ce) SHA1(a1a487361053af564f6ec67e545413e370a3b38c) )
- ROM_REGION(0x80000, "steering", 0) // Steering I/O board MB90242A code (see namcos23.c for steering board details)
- ROM_LOAD( "rrv3_str-0a.ic16", 0x000000, 0x080000, CRC(df8b6cac) SHA1(d45e150678218084925673e1d77edefc04135035) )
+ ROM_REGION(0x80000, "steering", 0) // Steering I/O board MB90242A code (see namcos23.c for steering board details)
+ ROM_LOAD( "rrv3_str-0a.ic16", 0x000000, 0x080000, CRC(df8b6cac) SHA1(d45e150678218084925673e1d77edefc04135035) )
DISK_REGION("dvd")
DISK_IMAGE_READONLY( "rrv1-a", 0, SHA1(77bb70407511cbb12ab999410e797dcaf0779229) )
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 14e481e9f96..6019c2523ec 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -2749,20 +2749,20 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::adillor_trackball_update)
iy = 0x7f;
double x = (double)(ix - 0x80) / 127.0;
double y = (double)(0x80 - iy) / 127.0;
-
+
// normalize
double a = atan(x/y);
double p = sqrt(x*x + y*y);
double v = (fabs(a) < (M_PI / 4.0)) ? p*cos(a) : p*sin(a);
v = fabs(v);
-
+
// note that it is rotated by 45 degrees, so instead of axes like (+), they are like (x)
a += (M_PI / 4.0);
if (a < 0)
a = 0;
else if (a > (M_PI / 2.0))
a = M_PI / 2.0;
-
+
// tied to mcu A2/A3 timer (speed determines frequency)
// these values(in usec) may need tweaking:
const int base = 1000;
@@ -2771,7 +2771,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::adillor_trackball_update)
double t[2];
t[0] = v*sin(a); // y -> A2
t[1] = v*cos(a); // x -> A3
-
+
for (int axis = 0; axis < 2; axis++)
{
if (t[axis] > (1.0 / (double)(range)))
@@ -2822,7 +2822,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos22_state::propcycl_pedal_update)
{
// arbitrary timer for reading optical pedal
UINT8 i = ioport("PEDAL")->read();
-
+
if (i != 0)
{
// the pedal has a simple 1-bit "light interrupted" sensor. the faster you pedal,
@@ -3082,7 +3082,7 @@ static MACHINE_CONFIG_START( namcos22, namcos22_state )
MCFG_CPU_PROGRAM_MAP( mcu_s22_program)
MCFG_CPU_IO_MAP( mcu_s22_io)
- MCFG_CPU_ADD("iomcu", M37702, XTAL_6_144MHz) // 6.144MHz XTAL on I/O board, not sure if it has a divider
+ MCFG_CPU_ADD("iomcu", M37702, XTAL_6_144MHz) // 6.144MHz XTAL on I/O board, not sure if it has a divider
MCFG_CPU_PROGRAM_MAP( iomcu_s22_program)
MCFG_CPU_IO_MAP( iomcu_s22_io)
@@ -4916,7 +4916,7 @@ static INPUT_PORTS_START( adillor )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("Dev Service Up")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_NAME("Dev Service Down")
PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
+
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index 445e1eea57d..a6847f101f7 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -425,7 +425,7 @@ WRITE_LINE_MEMBER(nyny_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index 5c58e1088ff..3204c170c2e 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -367,7 +367,7 @@ INPUT_PORTS_END
static MC6845_INTERFACE( h46505_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
TILE_WIDTH, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 10d9bb0ff7f..66c5817e70c 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -294,7 +294,7 @@ static MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 9a090490aef..4ff1784e33e 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -3860,7 +3860,7 @@ GAME( 2002, dmnfrnta, dmnfrnt, pgm_arm_type3, pgm, pgm_arm_type3_state
GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3, pgm, pgm_arm_type3_state, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V107KR, ROM M107KR 11/03/03) (ARM label V106KR, ROM 10/16/03 S106KR) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?)
-
+
/* these don't use an External ARM rom, and don't have any weak internal functions which would allow the internal ROM to be read out */
GAME( 2002, ddpdoj, 0, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V101 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // is there a v101 without the . after 05?
GAME( 2002, ddpdoja, ddpdoj, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V100 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pgm2.c b/src/mame/drivers/pgm2.c
index 9f6a675bd3d..c404880e4b2 100644
--- a/src/mame/drivers/pgm2.c
+++ b/src/mame/drivers/pgm2.c
@@ -176,165 +176,165 @@ MACHINE_CONFIG_END
ROM_START( orleg2 )
ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "xyj2_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_LOAD( "xyj2_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 )
- ROM_LOAD( "xyj2_v104cn.u7", 0x00000000, 0x0800000, CRC(7c24a4f5) SHA1(3cd9f9264ef2aad0869afdf096e88eb8d74b2570) )
+ ROM_REGION( 0x800000, "user1", 0 )
+ ROM_LOAD( "xyj2_v104cn.u7", 0x00000000, 0x0800000, CRC(7c24a4f5) SHA1(3cd9f9264ef2aad0869afdf096e88eb8d74b2570) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "ig-a_text.u4", 0x00000000, 0x0200000, CRC(fa444c32) SHA1(31e5e3efa92d52bf9ab97a0ece51e3b77f52ce8a) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "ig-a_text.u4", 0x00000000, 0x0200000, CRC(fa444c32) SHA1(31e5e3efa92d52bf9ab97a0ece51e3b77f52ce8a) )
- ROM_REGION( 0x1000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "ig-a_bgl.u35", 0x00000000, 0x0800000, CRC(083a8315) SHA1(0dba25e132fbb12faa59ced648c27b881dc73478) )
- ROM_LOAD32_WORD( "ig-a_bgh.u36", 0x00000002, 0x0800000, CRC(e197221d) SHA1(5574b1e3da4b202db725be906dd868edc2fd4634) )
+ ROM_REGION( 0x1000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "ig-a_bgl.u35", 0x00000000, 0x0800000, CRC(083a8315) SHA1(0dba25e132fbb12faa59ced648c27b881dc73478) )
+ ROM_LOAD32_WORD( "ig-a_bgh.u36", 0x00000002, 0x0800000, CRC(e197221d) SHA1(5574b1e3da4b202db725be906dd868edc2fd4634) )
- ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "ig-a_bml.u12", 0x00000000, 0x1000000, CRC(113a331c) SHA1(ee6b31bb2b052cc8799573de0d2f0a83f0ab4f6a) )
- ROM_LOAD32_WORD( "ig-a_bmh.u16", 0x00000002, 0x1000000, CRC(fbf411c8) SHA1(5089b5cc9bbf6496ef1367c6255e63e9ab895117) )
+ ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "ig-a_bml.u12", 0x00000000, 0x1000000, CRC(113a331c) SHA1(ee6b31bb2b052cc8799573de0d2f0a83f0ab4f6a) )
+ ROM_LOAD32_WORD( "ig-a_bmh.u16", 0x00000002, 0x1000000, CRC(fbf411c8) SHA1(5089b5cc9bbf6496ef1367c6255e63e9ab895117) )
- ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "ig-a_cgl.u18", 0x00000000, 0x2000000, CRC(43501fa6) SHA1(58ccce6d393964b771fec3f5c583e3ede57482a3) )
- ROM_LOAD32_WORD( "ig-a_cgh.u26", 0x00000002, 0x2000000, CRC(7051d020) SHA1(3d9b24c6fda4c9699bb9f00742e0888059b623e1) )
+ ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "ig-a_cgl.u18", 0x00000000, 0x2000000, CRC(43501fa6) SHA1(58ccce6d393964b771fec3f5c583e3ede57482a3) )
+ ROM_LOAD32_WORD( "ig-a_cgh.u26", 0x00000002, 0x2000000, CRC(7051d020) SHA1(3d9b24c6fda4c9699bb9f00742e0888059b623e1) )
- ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "ig-a_sp.u2", 0x00000000, 0x1000000, CRC(8250688c) SHA1(d2488477afc528aeee96826065deba2bce4f0a7d) )
+ ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "ig-a_sp.u2", 0x00000000, 0x1000000, CRC(8250688c) SHA1(d2488477afc528aeee96826065deba2bce4f0a7d) )
ROM_END
ROM_START( orleg2o )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "xyj2_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ ROM_LOAD( "xyj2_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 )
- ROM_LOAD( "xyj2_v103cn.u7", 0x000000, 0x800000, CRC(21c1fae8) SHA1(36eeb7a5e8dc8ee7c834f3ff1173c28cf6c2f1a3) )
+ ROM_REGION( 0x800000, "user1", 0 )
+ ROM_LOAD( "xyj2_v103cn.u7", 0x000000, 0x800000, CRC(21c1fae8) SHA1(36eeb7a5e8dc8ee7c834f3ff1173c28cf6c2f1a3) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "ig-a_text.u4", 0x00000000, 0x0200000, CRC(fa444c32) SHA1(31e5e3efa92d52bf9ab97a0ece51e3b77f52ce8a) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "ig-a_text.u4", 0x00000000, 0x0200000, CRC(fa444c32) SHA1(31e5e3efa92d52bf9ab97a0ece51e3b77f52ce8a) )
- ROM_REGION( 0x1000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "ig-a_bgl.u35", 0x00000000, 0x0800000, CRC(083a8315) SHA1(0dba25e132fbb12faa59ced648c27b881dc73478) )
- ROM_LOAD32_WORD( "ig-a_bgh.u36", 0x00000002, 0x0800000, CRC(e197221d) SHA1(5574b1e3da4b202db725be906dd868edc2fd4634) )
+ ROM_REGION( 0x1000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "ig-a_bgl.u35", 0x00000000, 0x0800000, CRC(083a8315) SHA1(0dba25e132fbb12faa59ced648c27b881dc73478) )
+ ROM_LOAD32_WORD( "ig-a_bgh.u36", 0x00000002, 0x0800000, CRC(e197221d) SHA1(5574b1e3da4b202db725be906dd868edc2fd4634) )
- ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "ig-a_bml.u12", 0x00000000, 0x1000000, CRC(113a331c) SHA1(ee6b31bb2b052cc8799573de0d2f0a83f0ab4f6a) )
- ROM_LOAD32_WORD( "ig-a_bmh.u16", 0x00000002, 0x1000000, CRC(fbf411c8) SHA1(5089b5cc9bbf6496ef1367c6255e63e9ab895117) )
+ ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "ig-a_bml.u12", 0x00000000, 0x1000000, CRC(113a331c) SHA1(ee6b31bb2b052cc8799573de0d2f0a83f0ab4f6a) )
+ ROM_LOAD32_WORD( "ig-a_bmh.u16", 0x00000002, 0x1000000, CRC(fbf411c8) SHA1(5089b5cc9bbf6496ef1367c6255e63e9ab895117) )
- ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "ig-a_cgl.u18", 0x00000000, 0x2000000, CRC(43501fa6) SHA1(58ccce6d393964b771fec3f5c583e3ede57482a3) )
- ROM_LOAD32_WORD( "ig-a_cgh.u26", 0x00000002, 0x2000000, CRC(7051d020) SHA1(3d9b24c6fda4c9699bb9f00742e0888059b623e1) )
+ ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "ig-a_cgl.u18", 0x00000000, 0x2000000, CRC(43501fa6) SHA1(58ccce6d393964b771fec3f5c583e3ede57482a3) )
+ ROM_LOAD32_WORD( "ig-a_cgh.u26", 0x00000002, 0x2000000, CRC(7051d020) SHA1(3d9b24c6fda4c9699bb9f00742e0888059b623e1) )
- ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "ig-a_sp.u2", 0x00000000, 0x1000000, CRC(8250688c) SHA1(d2488477afc528aeee96826065deba2bce4f0a7d) )
+ ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "ig-a_sp.u2", 0x00000000, 0x1000000, CRC(8250688c) SHA1(d2488477afc528aeee96826065deba2bce4f0a7d) )
ROM_END
ROM_START( kov2nl )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "gsyx_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ ROM_LOAD( "gsyx_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 )
- ROM_LOAD( "gsyx_v302cn.u7", 0x00000000, 0x0800000, CRC(b19cf540) SHA1(25da5804bbfd7ef2cdf5cc5aabaa803d18b98929) )
+ ROM_REGION( 0x800000, "user1", 0 )
+ ROM_LOAD( "gsyx_v302cn.u7", 0x00000000, 0x0800000, CRC(b19cf540) SHA1(25da5804bbfd7ef2cdf5cc5aabaa803d18b98929) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "ig-a3_text.u4", 0x00000000, 0x0200000, CRC(214530ff) SHA1(4231a02054b0345392a077042b95779fd45d6c22) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "ig-a3_text.u4", 0x00000000, 0x0200000, CRC(214530ff) SHA1(4231a02054b0345392a077042b95779fd45d6c22) )
- ROM_REGION( 0x1000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "ig-a3_bgl.u35", 0x00000000, 0x0800000, CRC(2d46b1f6) SHA1(ea8c805eda6292e86a642e9633d8fee7054d10b1) )
- ROM_LOAD32_WORD( "ig-a3_bgh.u36", 0x00000002, 0x0800000, CRC(df710c36) SHA1(f826c3f496c4f17b46d18af1d8e02cac7b7027ac) )
+ ROM_REGION( 0x1000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "ig-a3_bgl.u35", 0x00000000, 0x0800000, CRC(2d46b1f6) SHA1(ea8c805eda6292e86a642e9633d8fee7054d10b1) )
+ ROM_LOAD32_WORD( "ig-a3_bgh.u36", 0x00000002, 0x0800000, CRC(df710c36) SHA1(f826c3f496c4f17b46d18af1d8e02cac7b7027ac) )
- ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "ig-a3_bml.u12", 0x00000000, 0x1000000, CRC(0bf63836) SHA1(b8e4f1951f8074b475b795bd7840c5a375b6f5ef) )
- ROM_LOAD32_WORD( "ig-a3_bmh.u16", 0x00000002, 0x1000000, CRC(4a378542) SHA1(5d06a8a8796285a786ebb690c34610f923ef5570) )
+ ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "ig-a3_bml.u12", 0x00000000, 0x1000000, CRC(0bf63836) SHA1(b8e4f1951f8074b475b795bd7840c5a375b6f5ef) )
+ ROM_LOAD32_WORD( "ig-a3_bmh.u16", 0x00000002, 0x1000000, CRC(4a378542) SHA1(5d06a8a8796285a786ebb690c34610f923ef5570) )
- ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "ig-a3_cgl.u18", 0x00000000, 0x2000000, CRC(8d923e1f) SHA1(14371cf385dd8857017d3111cd4710f4291b1ae2) )
- ROM_LOAD32_WORD( "ig-a3_cgh.u26", 0x00000002, 0x2000000, CRC(5b6fbf3f) SHA1(d1f52e230b91ee6cde939d7c2b74da7fd6527e73) )
+ ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "ig-a3_cgl.u18", 0x00000000, 0x2000000, CRC(8d923e1f) SHA1(14371cf385dd8857017d3111cd4710f4291b1ae2) )
+ ROM_LOAD32_WORD( "ig-a3_cgh.u26", 0x00000002, 0x2000000, CRC(5b6fbf3f) SHA1(d1f52e230b91ee6cde939d7c2b74da7fd6527e73) )
- ROM_REGION( 0x2000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "ig-a3_sp.u37", 0x00000000, 0x2000000, CRC(45cdf422) SHA1(8005d284bcee73cff37a147fcd1c3e9f039a7203) )
+ ROM_REGION( 0x2000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "ig-a3_sp.u37", 0x00000000, 0x2000000, CRC(45cdf422) SHA1(8005d284bcee73cff37a147fcd1c3e9f039a7203) )
ROM_END
ROM_START( kov2nlo )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "gsyx_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ ROM_LOAD( "gsyx_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 )
- ROM_LOAD( "gsyx_v301cn.u7", 0x000000, 0x800000, CRC(c4595c2c) SHA1(09e379556ef76f81a63664f46d3f1415b315f384) )
+ ROM_REGION( 0x800000, "user1", 0 )
+ ROM_LOAD( "gsyx_v301cn.u7", 0x000000, 0x800000, CRC(c4595c2c) SHA1(09e379556ef76f81a63664f46d3f1415b315f384) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "ig-a3_text.u4", 0x00000000, 0x0200000, CRC(214530ff) SHA1(4231a02054b0345392a077042b95779fd45d6c22) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "ig-a3_text.u4", 0x00000000, 0x0200000, CRC(214530ff) SHA1(4231a02054b0345392a077042b95779fd45d6c22) )
- ROM_REGION( 0x1000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "ig-a3_bgl.u35", 0x00000000, 0x0800000, CRC(2d46b1f6) SHA1(ea8c805eda6292e86a642e9633d8fee7054d10b1) )
- ROM_LOAD32_WORD( "ig-a3_bgh.u36", 0x00000002, 0x0800000, CRC(df710c36) SHA1(f826c3f496c4f17b46d18af1d8e02cac7b7027ac) )
+ ROM_REGION( 0x1000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "ig-a3_bgl.u35", 0x00000000, 0x0800000, CRC(2d46b1f6) SHA1(ea8c805eda6292e86a642e9633d8fee7054d10b1) )
+ ROM_LOAD32_WORD( "ig-a3_bgh.u36", 0x00000002, 0x0800000, CRC(df710c36) SHA1(f826c3f496c4f17b46d18af1d8e02cac7b7027ac) )
- ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "ig-a3_bml.u12", 0x00000000, 0x1000000, CRC(0bf63836) SHA1(b8e4f1951f8074b475b795bd7840c5a375b6f5ef) )
- ROM_LOAD32_WORD( "ig-a3_bmh.u16", 0x00000002, 0x1000000, CRC(4a378542) SHA1(5d06a8a8796285a786ebb690c34610f923ef5570) )
+ ROM_REGION( 0x2000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "ig-a3_bml.u12", 0x00000000, 0x1000000, CRC(0bf63836) SHA1(b8e4f1951f8074b475b795bd7840c5a375b6f5ef) )
+ ROM_LOAD32_WORD( "ig-a3_bmh.u16", 0x00000002, 0x1000000, CRC(4a378542) SHA1(5d06a8a8796285a786ebb690c34610f923ef5570) )
- ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "ig-a3_cgl.u18", 0x00000000, 0x2000000, CRC(8d923e1f) SHA1(14371cf385dd8857017d3111cd4710f4291b1ae2) )
- ROM_LOAD32_WORD( "ig-a3_cgh.u26", 0x00000002, 0x2000000, CRC(5b6fbf3f) SHA1(d1f52e230b91ee6cde939d7c2b74da7fd6527e73) )
+ ROM_REGION( 0x4000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "ig-a3_cgl.u18", 0x00000000, 0x2000000, CRC(8d923e1f) SHA1(14371cf385dd8857017d3111cd4710f4291b1ae2) )
+ ROM_LOAD32_WORD( "ig-a3_cgh.u26", 0x00000002, 0x2000000, CRC(5b6fbf3f) SHA1(d1f52e230b91ee6cde939d7c2b74da7fd6527e73) )
- ROM_REGION( 0x2000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "ig-a3_sp.u37", 0x00000000, 0x2000000, CRC(45cdf422) SHA1(8005d284bcee73cff37a147fcd1c3e9f039a7203) )
+ ROM_REGION( 0x2000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "ig-a3_sp.u37", 0x00000000, 0x2000000, CRC(45cdf422) SHA1(8005d284bcee73cff37a147fcd1c3e9f039a7203) )
ROM_END
#ifdef OTHER_PGM2_SETS
ROM_START( ddpdojh )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "ddpdoj_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ ROM_LOAD( "ddpdoj_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 )
- ROM_LOAD( "ddpdoj_v201cn.u4", 0x00000000, 0x0200000, CRC(89e4b760) SHA1(9fad1309da31d12a413731b416a8bbfdb304ed9e) )
+ ROM_REGION( 0x800000, "user1", 0 )
+ ROM_LOAD( "ddpdoj_v201cn.u4", 0x00000000, 0x0200000, CRC(89e4b760) SHA1(9fad1309da31d12a413731b416a8bbfdb304ed9e) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "ddpdoj_text.u1", 0x00000000, 0x0200000, CRC(f18141d1) SHA1(a16e0a76bc926a158bb92dfd35aca749c569ef50) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "ddpdoj_text.u1", 0x00000000, 0x0200000, CRC(f18141d1) SHA1(a16e0a76bc926a158bb92dfd35aca749c569ef50) )
- ROM_REGION( 0x2000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "ddpdoj_bgl.u23", 0x00000000, 0x1000000, CRC(ff65fdab) SHA1(abdd5ca43599a2daa722547a999119123dd9bb28) )
- ROM_LOAD32_WORD( "ddpdoj_bgh.u24", 0x00000002, 0x1000000, CRC(bb84d2a6) SHA1(a576a729831b5946287fa8f0d923016f43a9bedb) )
+ ROM_REGION( 0x2000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "ddpdoj_bgl.u23", 0x00000000, 0x1000000, CRC(ff65fdab) SHA1(abdd5ca43599a2daa722547a999119123dd9bb28) )
+ ROM_LOAD32_WORD( "ddpdoj_bgh.u24", 0x00000002, 0x1000000, CRC(bb84d2a6) SHA1(a576a729831b5946287fa8f0d923016f43a9bedb) )
- ROM_REGION( 0x1000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "ddpdoj_mapl0.u13", 0x00000000, 0x800000, CRC(bcfbb0fc) SHA1(9ec478eba9905913cf997bd9b46c70c1ad383630) )
- ROM_LOAD32_WORD( "ddpdoj_maph0.u15", 0x00000002, 0x800000, CRC(0cc75d4e) SHA1(6d1b5ef0fdebf1e84fa199b939ffa07b810b12c9) )
+ ROM_REGION( 0x1000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "ddpdoj_mapl0.u13", 0x00000000, 0x800000, CRC(bcfbb0fc) SHA1(9ec478eba9905913cf997bd9b46c70c1ad383630) )
+ ROM_LOAD32_WORD( "ddpdoj_maph0.u15", 0x00000002, 0x800000, CRC(0cc75d4e) SHA1(6d1b5ef0fdebf1e84fa199b939ffa07b810b12c9) )
- ROM_REGION( 0x2000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "ddpdoj_spa0.u9", 0x00000000, 0x1000000, CRC(1232c1b4) SHA1(ecc1c549ae19d2f052a85fe4a993608aedf49a25) )
- ROM_LOAD32_WORD( "ddpdoj_spb0.u18", 0x00000002, 0x1000000, CRC(6a9e2cbf) SHA1(8e0a4ea90f5ef534820303d62f0873f8ac9f080e) )
+ ROM_REGION( 0x2000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "ddpdoj_spa0.u9", 0x00000000, 0x1000000, CRC(1232c1b4) SHA1(ecc1c549ae19d2f052a85fe4a993608aedf49a25) )
+ ROM_LOAD32_WORD( "ddpdoj_spb0.u18", 0x00000002, 0x1000000, CRC(6a9e2cbf) SHA1(8e0a4ea90f5ef534820303d62f0873f8ac9f080e) )
- ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "ddpdoj_wave0.u12", 0x00000000, 0x1000000, CRC(2b71a324) SHA1(f69076cc561f40ca564d804bc7bd455066f8d77c) )
+ ROM_REGION( 0x1000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "ddpdoj_wave0.u12", 0x00000000, 0x1000000, CRC(2b71a324) SHA1(f69076cc561f40ca564d804bc7bd455066f8d77c) )
ROM_END
ROM_START( kov3 )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "kov3_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ ROM_LOAD( "kov3_igs036.rom", 0x00000000, 0x0004000, NO_DUMP )
- ROM_REGION( 0x800000, "user1", 0 ) /* custom ROM module instead of regular ROMs, this might be incorrect - same module is used on newer gambling boards */
+ ROM_REGION( 0x800000, "user1", 0 ) /* custom ROM module instead of regular ROMs, this might be incorrect - same module is used on newer gambling boards */
// this was an attempt to read the ROM module directly and could be bad
- ROM_LOAD( "kov3_v102cn_direct.bin", 0x00000000, 0x0800000, CRC(2568cca4) SHA1(3f0e949bc0ae5d7ec0109f2748b30024dcd19ac4) )
+ ROM_LOAD( "kov3_v102cn_direct.bin", 0x00000000, 0x0800000, CRC(2568cca4) SHA1(3f0e949bc0ae5d7ec0109f2748b30024dcd19ac4) )
// this was read with a logic analyser after booting, you can't however replace the module directly with this because some kind of
// additional check / communication with the module is done on startup resulting in the internal ROM refusing to boot it
ROM_LOAD( "kov3_v102cn.bin", 0x00000000, 0x0800000, CRC(1fcedff3) SHA1(522538510c5f94e8b1f641250c25a2a58962ca42) )
- ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
- ROM_LOAD( "kov3_text.u1", 0x00000000, 0x0200000, CRC(198b52d6) SHA1(e4502abe7ba01053d16c02114f0c88a3f52f6f40) )
+ ROM_REGION( 0x200000, "tiles", ROMREGION_ERASEFF )
+ ROM_LOAD( "kov3_text.u1", 0x00000000, 0x0200000, CRC(198b52d6) SHA1(e4502abe7ba01053d16c02114f0c88a3f52f6f40) )
- ROM_REGION( 0x2000000, "bgtile", 0 )
- ROM_LOAD32_WORD( "kov3_bgl.u6", 0x00000000, 0x1000000, CRC(49a4c5bc) SHA1(26b7da91067bda196252520e9b4893361c2fc675) )
- ROM_LOAD32_WORD( "kov3_bgh.u7", 0x00000002, 0x1000000, CRC(adc1aff1) SHA1(b10490f0dbef9905cdb064168c529f0b5a2b28b8) )
+ ROM_REGION( 0x2000000, "bgtile", 0 )
+ ROM_LOAD32_WORD( "kov3_bgl.u6", 0x00000000, 0x1000000, CRC(49a4c5bc) SHA1(26b7da91067bda196252520e9b4893361c2fc675) )
+ ROM_LOAD32_WORD( "kov3_bgh.u7", 0x00000002, 0x1000000, CRC(adc1aff1) SHA1(b10490f0dbef9905cdb064168c529f0b5a2b28b8) )
- ROM_REGION( 0x4000000, "spritesa", 0 ) // 1bpp sprite mask data
- ROM_LOAD32_WORD( "kov3_mapl0.u15", 0x00000000, 0x2000000, CRC(9e569bf7) SHA1(03d26e000e9d8e744546be9649628d2130f2ec4c) )
- ROM_LOAD32_WORD( "kov3_maph0.u16", 0x00000002, 0x2000000, CRC(6f200ad8) SHA1(cd12c136d4f5d424bd7daeeacd5c4127beb3d565) )
+ ROM_REGION( 0x4000000, "spritesa", 0 ) // 1bpp sprite mask data
+ ROM_LOAD32_WORD( "kov3_mapl0.u15", 0x00000000, 0x2000000, CRC(9e569bf7) SHA1(03d26e000e9d8e744546be9649628d2130f2ec4c) )
+ ROM_LOAD32_WORD( "kov3_maph0.u16", 0x00000002, 0x2000000, CRC(6f200ad8) SHA1(cd12c136d4f5d424bd7daeeacd5c4127beb3d565) )
- ROM_REGION( 0x8000000, "spritesb", 0 ) // sprite colour data
- ROM_LOAD32_WORD( "kov3_spa0.u17", 0x00000000, 0x4000000, CRC(3a1e58a9) SHA1(6ba251407c69ee62f7ea0baae91bc133acc70c6f) )
- ROM_LOAD32_WORD( "kov3_spb0.u10", 0x00000002, 0x4000000, CRC(90396065) SHA1(01bf9f69d77a792d5b39afbba70fbfa098e194f1) )
+ ROM_REGION( 0x8000000, "spritesb", 0 ) // sprite colour data
+ ROM_LOAD32_WORD( "kov3_spa0.u17", 0x00000000, 0x4000000, CRC(3a1e58a9) SHA1(6ba251407c69ee62f7ea0baae91bc133acc70c6f) )
+ ROM_LOAD32_WORD( "kov3_spb0.u10", 0x00000002, 0x4000000, CRC(90396065) SHA1(01bf9f69d77a792d5b39afbba70fbfa098e194f1) )
- ROM_REGION( 0x4000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
- ROM_LOAD16_WORD_SWAP( "kov3_wave0.u13", 0x00000000, 0x4000000, CRC(aa639152) SHA1(2314c6bd05524525a31a2a4668a36a938b924ba4) )
+ ROM_REGION( 0x4000000, "ymz770", ROMREGION_ERASEFF ) /* ymz770 */
+ ROM_LOAD16_WORD_SWAP( "kov3_wave0.u13", 0x00000000, 0x4000000, CRC(aa639152) SHA1(2314c6bd05524525a31a2a4668a36a938b924ba4) )
ROM_END
#endif
@@ -435,4 +435,3 @@ GAME( 2009, ddpdojh, 0, pgm2, pgm2, pgm2_state, ddpdojh, ROT27
GAME( 2009, kov3, 0, pgm2, pgm2, pgm2_state, kov3, ROT0, "IGS", "Knights of Valour 3 (V102, China)", GAME_IS_SKELETON )
#endif
-
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index fcc5b755603..ae1cce42586 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -371,7 +371,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index 391046d30f1..dc593b0fc53 100644
--- a/src/mame/drivers/r2dtank.c
+++ b/src/mame/drivers/r2dtank.c
@@ -395,7 +395,7 @@ WRITE_LINE_MEMBER(r2dtank_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index ff43e1a4194..dbe98ed73e3 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -231,7 +231,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/sanremo.c b/src/mame/drivers/sanremo.c
index ad268fefce9..7e84749ee8d 100644
--- a/src/mame/drivers/sanremo.c
+++ b/src/mame/drivers/sanremo.c
@@ -89,11 +89,11 @@
*******************************************************************************/
-#define MASTER_CLOCK XTAL_18MHz
+#define MASTER_CLOCK XTAL_18MHz
-#define CPU_CLOCK MASTER_CLOCK/3
-#define SND_CLOCK MASTER_CLOCK/12
-#define CRTC_CLOCK MASTER_CLOCK/12
+#define CPU_CLOCK MASTER_CLOCK/3
+#define SND_CLOCK MASTER_CLOCK/12
+#define CRTC_CLOCK MASTER_CLOCK/12
#include "emu.h"
#include "cpu/z80/z80.h"
@@ -187,13 +187,13 @@ WRITE8_MEMBER(sanremo_state::lamps_w)
-x-- ---- BET
x--- ---- (always on)
*/
- output_set_lamp_value(0, (data >> 0) & 1); /* DISCARD 1 */
- output_set_lamp_value(1, (data >> 1) & 1); /* DISCARD 2 */
- output_set_lamp_value(2, (data >> 2) & 1); /* DISCARD 3 */
- output_set_lamp_value(3, (data >> 3) & 1); /* DISCARD 4 */
- output_set_lamp_value(4, (data >> 4) & 1); /* DISCARD 5 */
- output_set_lamp_value(5, (data >> 5) & 1); /* START */
- output_set_lamp_value(6, (data >> 6) & 1); /* BET */
+ output_set_lamp_value(0, (data >> 0) & 1); /* DISCARD 1 */
+ output_set_lamp_value(1, (data >> 1) & 1); /* DISCARD 2 */
+ output_set_lamp_value(2, (data >> 2) & 1); /* DISCARD 3 */
+ output_set_lamp_value(3, (data >> 3) & 1); /* DISCARD 4 */
+ output_set_lamp_value(4, (data >> 4) & 1); /* DISCARD 5 */
+ output_set_lamp_value(5, (data >> 5) & 1); /* START */
+ output_set_lamp_value(6, (data >> 6) & 1); /* BET */
}
WRITE8_MEMBER(sanremo_state::banksel_w)
@@ -214,8 +214,8 @@ WRITE8_MEMBER(sanremo_state::banksel_w)
static ADDRESS_MAP_START( sanremo_map, AS_PROGRAM, 8, sanremo_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(sanremo_videoram_w) AM_SHARE("videoram") // 2x 76C28 (1x accessed directly, latched bank written to other like subsino etc.)
- AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") // battery backed UM6116
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(sanremo_videoram_w) AM_SHARE("videoram") // 2x 76C28 (1x accessed directly, latched bank written to other like subsino etc.)
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") // battery backed UM6116
ADDRESS_MAP_END
static ADDRESS_MAP_START( sanremo_portmap, AS_IO, 8, sanremo_state )
@@ -255,49 +255,49 @@ ADDRESS_MAP_END
*********************************************/
static INPUT_PORTS_START( number1 )
- PORT_START("IN0") // from I/O port 01h.
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-1") PORT_CODE(KEYCODE_A)
+ PORT_START("IN0") // from I/O port 01h.
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-1") PORT_CODE(KEYCODE_A)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-4") PORT_CODE(KEYCODE_S)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-5") PORT_CODE(KEYCODE_D)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-6") PORT_CODE(KEYCODE_F)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-4") PORT_CODE(KEYCODE_S)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-5") PORT_CODE(KEYCODE_D)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-6") PORT_CODE(KEYCODE_F)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-8") PORT_CODE(KEYCODE_G)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-8") PORT_CODE(KEYCODE_G)
- PORT_START("IN1") // from I/O port 02h.
+ PORT_START("IN1") // from I/O port 02h.
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2 / Basso (Low) / Left Card")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Discard 4 / Alto (High) / Right Card")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-5") PORT_CODE(KEYCODE_H)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-5") PORT_CODE(KEYCODE_H)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Discard 5")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1")
- PORT_START("DSW") // from AY-8910 por A.
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:1")
+ PORT_START("DSW") // from AY-8910 por A.
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:2")
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:3")
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:4")
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, "Auto Hold" ) PORT_DIPLOCATION("DSW:5")
+ PORT_DIPNAME( 0x10, 0x00, "Auto Hold" ) PORT_DIPLOCATION("DSW:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:6")
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, "Test Mode" ) PORT_DIPLOCATION("DSW:7")
+ PORT_DIPNAME( 0x40, 0x00, "Test Mode" ) PORT_DIPLOCATION("DSW:7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:8")
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -344,7 +344,7 @@ static const mc6845_interface mc6845_intf =
*/
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -413,21 +413,21 @@ MACHINE_CONFIG_END
ROM_START( number1 )
ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "no_g0.ic26", 0x0000, 0x8000, CRC(2d83646f) SHA1(d1fafcce44ed3ec3dd53d84338c42244ebfca820) )
+ ROM_LOAD( "no_g0.ic26", 0x0000, 0x8000, CRC(2d83646f) SHA1(d1fafcce44ed3ec3dd53d84338c42244ebfca820) )
ROM_REGION( 0x40000, "gfx", 0 )
- ROM_LOAD( "no_i4.ic30", 0x00000, 0x10000, CRC(55b351a4) SHA1(b0c8a30dde076520234281da051f21f1b7cb3166) ) // I
- ROM_LOAD( "no_b4.ic27", 0x10000, 0x10000, CRC(e48b1c8a) SHA1(88f60268fd43c06e146d936a1bdc078c44e2a213) ) // B
- ROM_LOAD( "no_g4.ic28", 0x20000, 0x10000, CRC(4eea9a9b) SHA1(c86c083ccf08c3c310028920f9a0fe809fd7ccbe) ) // G
- ROM_LOAD( "no_r4.ic29", 0x30000, 0x10000, CRC(ab08cdaf) SHA1(e0518403039b6bada79ffe4c6bc22fbb64d16e43) ) // R
+ ROM_LOAD( "no_i4.ic30", 0x00000, 0x10000, CRC(55b351a4) SHA1(b0c8a30dde076520234281da051f21f1b7cb3166) ) // I
+ ROM_LOAD( "no_b4.ic27", 0x10000, 0x10000, CRC(e48b1c8a) SHA1(88f60268fd43c06e146d936a1bdc078c44e2a213) ) // B
+ ROM_LOAD( "no_g4.ic28", 0x20000, 0x10000, CRC(4eea9a9b) SHA1(c86c083ccf08c3c310028920f9a0fe809fd7ccbe) ) // G
+ ROM_LOAD( "no_r4.ic29", 0x30000, 0x10000, CRC(ab08cdaf) SHA1(e0518403039b6bada79ffe4c6bc22fbb64d16e43) ) // R
ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */
ROM_LOAD( "number1_nvram.bin", 0x0000, 0x0800, CRC(4ece7b39) SHA1(49815571d75a39ab67d26691f902dfbd4e05feb4) )
ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "palce1.bin", 0x0000, 0x0104, NO_DUMP ) /* PALCE is read protected */
- ROM_LOAD( "palce2.bin", 0x0200, 0x0104, NO_DUMP ) /* PALCE is read protected */
- ROM_LOAD( "palce3.bin", 0x0400, 0x0104, NO_DUMP ) /* PALCE is read protected */
+ ROM_LOAD( "palce1.bin", 0x0000, 0x0104, NO_DUMP ) /* PALCE is read protected */
+ ROM_LOAD( "palce2.bin", 0x0200, 0x0104, NO_DUMP ) /* PALCE is read protected */
+ ROM_LOAD( "palce3.bin", 0x0400, 0x0104, NO_DUMP ) /* PALCE is read protected */
ROM_END
diff --git a/src/mame/drivers/skeetsht.c b/src/mame/drivers/skeetsht.c
index 483cfa8cd25..c99d4c87460 100644
--- a/src/mame/drivers/skeetsht.c
+++ b/src/mame/drivers/skeetsht.c
@@ -2,8 +2,8 @@
Dynamo Skeet Shot
- Notes:
- Pop Shot is a prototype sequal (or upgrade) to Skeet Shot
+ Notes:
+ Pop Shot is a prototype sequal (or upgrade) to Skeet Shot
***************************************************************************/
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index d1f9af092de..f76d7f1bc27 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -169,7 +169,7 @@ WRITE_LINE_MEMBER(slotcarn_state::vsync_changed)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index 32ee777d41f..0632cccdefa 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -758,7 +758,7 @@ INTERRUPT_GEN_MEMBER(snk6502_state::snk6502_interrupt)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index c823e93995d..26d6c538f28 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( spbactnp_map, AS_PROGRAM, 16, spbactn_state )
AM_RANGE(0x90124, 0x90125) AM_WRITE( spbatnp_90124_w ) // bg scroll
AM_RANGE(0x9012c, 0x9012d) AM_WRITE( spbatnp_9012c_w ) // bg scroll
-
+
AM_RANGE(0x90000, 0x900ff) AM_READ(temp_read_handler_r) // temp
@@ -461,7 +461,7 @@ static MACHINE_CONFIG_START( spbactnp, spbactn_state )
MCFG_CPU_ADD("extracpu", Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(spbactnp_extra_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", spbactn_state, irq0_line_hold)
-// MCFG_CPU_VBLANK_INT_DRIVER("screen", spbactn_state, nmi_line_pulse)
+// MCFG_CPU_VBLANK_INT_DRIVER("screen", spbactn_state, nmi_line_pulse)
/* video hardware */
@@ -552,7 +552,7 @@ ROM_START( spbactnp )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "spa.17g", 0x00000, 0x10000, CRC(445fc2c5) SHA1(c0e40496cfcaa0a8c90fb05111fadee74582f91a) )
-
+
ROM_REGION( 0x40000, "oki", 0 )
ROM_LOAD( "spa_data_2-21-a10.8e", 0x00000, 0x20000, CRC(87427d7d) SHA1(f76b0dc3f0d87deb0f0c81084aff9756b236e867) ) // same as regular
@@ -573,7 +573,7 @@ ROM_START( spbactnp )
ROM_REGION( 0x10000, "extracpu", 0 ) // what? it's annother z80 rom... unused for now
ROM_LOAD( "6204_6-6.29c", 0x00000, 0x10000, CRC(e8250c26) SHA1(9b669878790c8e3c5d80f165b5ffa1d6830f4696) )
- ROM_REGION( 0x080000, "gfx4", 0 ) /* 8x8 BG Tiles */ // more 8x8 tiles, with the girl graphics? unused for now .. for horizontal orientation??
+ ROM_REGION( 0x080000, "gfx4", 0 ) /* 8x8 BG Tiles */ // more 8x8 tiles, with the girl graphics? unused for now .. for horizontal orientation??
ROM_LOAD( "spa.25c", 0x00000, 0x20000, CRC(02b69ab9) SHA1(368e774693a6fab756faaeec4ffd42406816e6e2) )
ROM_REGION( 0x10000, "misc", 0 ) //misc
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 0209eff4437..65a9dbdb514 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -286,7 +286,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index 6dff19d1a22..b3115659faf 100644
--- a/src/mame/drivers/spiders.c
+++ b/src/mame/drivers/spiders.c
@@ -508,7 +508,7 @@ WRITE_LINE_MEMBER(spiders_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/supercrd.c b/src/mame/drivers/supercrd.c
index ffc795a50d2..828c0c4c6af 100644
--- a/src/mame/drivers/supercrd.c
+++ b/src/mame/drivers/supercrd.c
@@ -402,7 +402,7 @@ GFXDECODE_END
//static MC6845_INTERFACE( mc6845_intf )
//{
// "screen", /* screen we are acting on */
-// false,
+// false,
// 4, /* number of pixels per video memory address */
// NULL, /* before pixel update callback */
// NULL, /* row update callback */
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index fb2b4d3d6ed..ac228b2b066 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -2749,7 +2749,7 @@ void taitosj_state::init_common()
save_item(NAME(m_kikstart_gears));
save_item(NAME(m_dac_out));
save_item(NAME(m_dac_vol));
-
+
machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(taitosj_state::reset_common), this));
}
diff --git a/src/mame/drivers/taitotz.c b/src/mame/drivers/taitotz.c
index 37fba119d81..5b94e295443 100644
--- a/src/mame/drivers/taitotz.c
+++ b/src/mame/drivers/taitotz.c
@@ -619,42 +619,42 @@ public:
/*
static void taitotz_exit(running_machine &machine)
{
-
- taitotz_state *state = machine.driver_data<taitotz_state>();
-
- FILE *file;
- int i;
-
- file = fopen("screen_ram.bin","wb");
- for (i=0; i < 0x200000; i++)
- {
- fputc((UINT8)(state->m_screen_ram[i] >> 24), file);
- fputc((UINT8)(state->m_screen_ram[i] >> 16), file);
- fputc((UINT8)(state->m_screen_ram[i] >> 8), file);
- fputc((UINT8)(state->m_screen_ram[i] >> 0), file);
- }
- fclose(file);
- file = fopen("frame_ram.bin","wb");
- for (i=0; i < 0x80000; i++)
- {
- fputc((UINT8)(state->m_frame_ram[i] >> 24), file);
- fputc((UINT8)(state->m_frame_ram[i] >> 16), file);
- fputc((UINT8)(state->m_frame_ram[i] >> 8), file);
- fputc((UINT8)(state->m_frame_ram[i] >> 0), file);
- }
- fclose(file);
+ taitotz_state *state = machine.driver_data<taitotz_state>();
+
+ FILE *file;
+ int i;
+
+ file = fopen("screen_ram.bin","wb");
+ for (i=0; i < 0x200000; i++)
+ {
+ fputc((UINT8)(state->m_screen_ram[i] >> 24), file);
+ fputc((UINT8)(state->m_screen_ram[i] >> 16), file);
+ fputc((UINT8)(state->m_screen_ram[i] >> 8), file);
+ fputc((UINT8)(state->m_screen_ram[i] >> 0), file);
+ }
+ fclose(file);
+
+ file = fopen("frame_ram.bin","wb");
+ for (i=0; i < 0x80000; i++)
+ {
+ fputc((UINT8)(state->m_frame_ram[i] >> 24), file);
+ fputc((UINT8)(state->m_frame_ram[i] >> 16), file);
+ fputc((UINT8)(state->m_frame_ram[i] >> 8), file);
+ fputc((UINT8)(state->m_frame_ram[i] >> 0), file);
+ }
+ fclose(file);
+
+ file = fopen("texture_ram.bin","wb");
+ for (i=0; i < 0x800000; i++)
+ {
+ fputc((UINT8)(state->m_texture_ram[i] >> 24), file);
+ fputc((UINT8)(state->m_texture_ram[i] >> 16), file);
+ fputc((UINT8)(state->m_texture_ram[i] >> 8), file);
+ fputc((UINT8)(state->m_texture_ram[i] >> 0), file);
+ }
+ fclose(file);
- file = fopen("texture_ram.bin","wb");
- for (i=0; i < 0x800000; i++)
- {
- fputc((UINT8)(state->m_texture_ram[i] >> 24), file);
- fputc((UINT8)(state->m_texture_ram[i] >> 16), file);
- fputc((UINT8)(state->m_texture_ram[i] >> 8), file);
- fputc((UINT8)(state->m_texture_ram[i] >> 0), file);
- }
- fclose(file);
-
}
*/
void taitotz_state::video_start()
diff --git a/src/mame/drivers/tapatune.c b/src/mame/drivers/tapatune.c
index 8408ac9761c..6af31e0b761 100644
--- a/src/mame/drivers/tapatune.c
+++ b/src/mame/drivers/tapatune.c
@@ -362,7 +362,7 @@ WRITE_LINE_MEMBER(tapatune_state::crtc_vsync)
static MC6845_INTERFACE( h46505_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
5, /* number of pixels per video memory address */
begin_update,/* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index 2ac3698daef..6954f084d67 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -547,7 +547,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index 4d291b6df38..0e998c6e262 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -104,7 +104,7 @@ WRITE8_MEMBER(tp84_state::tp84_filter_w)
C = 0;
if (offset & 0x020) C += 47000; /* 47000pF = 0.047uF */
if (offset & 0x040) C += 470000; /* 470000pF = 0.47uF */
- // dynamic_cast<filter_rc_device*>(machine().device("filter2"))->filter_rc_set_RC(,1000,2200,1000,C);
+ // dynamic_cast<filter_rc_device*>(machine().device("filter2"))->filter_rc_set_RC(,1000,2200,1000,C);
/* 76489 #2 */
C = 0;
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index 6f0b25234c2..18e17f12d52 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -435,7 +435,7 @@ static const pia6821_interface pia0_intf =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index d52f97a8f23..e93f1879e39 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -217,7 +217,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index f34f0676a28..aa7cd3cc41e 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -548,7 +548,7 @@ ROM_START( vastar3 )
ROM_REGION( 0x10000, "sub", 0 ) /* 64k for the second CPU */
ROM_LOAD( "vst_0.2f", 0x0000, 0x1000, CRC(713478d8) SHA1(9cbd1fb689d93a8964f48e59d4effaa4878b2945) )
- ROM_LOAD( "vst_1.2j", 0x1000, 0x1000, CRC(e4535442) SHA1(280d93bec5cf6183250827ce70ed5ddff968bba5) )
+ ROM_LOAD( "vst_1.2j", 0x1000, 0x1000, CRC(e4535442) SHA1(280d93bec5cf6183250827ce70ed5ddff968bba5) )
ROM_REGION( 0x2000, "gfx1", 0 )
ROM_LOAD( "c_c9.rom", 0x0000, 0x2000, CRC(34f067b6) SHA1(45d7f8be5bd1dc9e5e511aa2e99c216c5ff12273) )
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index 1c926526f7a..443e7eb3507 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -569,7 +569,7 @@ WRITE_LINE_MEMBER(vcombat_state::sound_update)
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/vlc.c b/src/mame/drivers/vlc.c
index 71030cc16a9..ab33524fa7e 100644
--- a/src/mame/drivers/vlc.c
+++ b/src/mame/drivers/vlc.c
@@ -217,9 +217,9 @@ static const UINT8 pal35[256] = {
static MC6845_INTERFACE( mc6845_intf )
{
- "screen", /* screen we are acting on */
- false, /* show border area */
- 8, /* number of pixels per video memory address */
+ "screen", /* screen we are acting on */
+ false, /* show border area */
+ 8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
NULL, /* after pixel update callback */
diff --git a/src/mame/drivers/whitestar.c b/src/mame/drivers/whitestar.c
index 9c21e71f695..799b9bd5a27 100644
--- a/src/mame/drivers/whitestar.c
+++ b/src/mame/drivers/whitestar.c
@@ -247,7 +247,7 @@ MC6845_UPDATE_ROW( whitestar_update_row )
static MC6845_INTERFACE( whitestar_crtc6845_interface )
{
NULL,
- false, /* show border area */
+ false, /* show border area */
1,
NULL,
whitestar_update_row,
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index 994de49d59c..d306500305d 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -142,10 +142,10 @@ Notes:
Offset WWFS47.BIN 24j6-0.112 (first 0x10000 bytes)
--------------------------------------------------------
- 0xBB03 F8 F0
- 0xD9B1 0F 07
- 0xED63 4C 44
- 0xEE00 3B 33
+ 0xBB03 F8 F0
+ 0xD9B1 0F 07
+ 0xED63 4C 44
+ 0xEE00 3B 33
0xF8B8 F8 F0
*******************************************************************************/
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 93bc95236a8..192149b9699 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -462,7 +462,7 @@ void xexex_state::machine_start()
m_k056832 = machine().device("k056832");
m_k054338 = machine().device("k054338");
m_k054539 = machine().device("k054539");
- m_filter1l = machine().device<filter_volume_device>("filter1l");
+ m_filter1l = machine().device<filter_volume_device>("filter1l");
m_filter1r = machine().device<filter_volume_device>("filter1r");
m_filter2l = machine().device<filter_volume_device>("filter2l");
m_filter2r = machine().device<filter_volume_device>("filter2r");
diff --git a/src/mame/drivers/xtheball.c b/src/mame/drivers/xtheball.c
index e7c172902de..48c72577f80 100644
--- a/src/mame/drivers/xtheball.c
+++ b/src/mame/drivers/xtheball.c
@@ -19,11 +19,11 @@ class xtheball_state : public driver_device
public:
xtheball_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) ,
- m_tlc34076(*this, "tlc34076"),
- m_vram_bg(*this, "vrabg"),
- m_vram_fg(*this, "vrafg"),
- m_analog_x(*this, "ANALOGX"),
- m_analog_y(*this, "ANALOGY")
+ m_tlc34076(*this, "tlc34076"),
+ m_vram_bg(*this, "vrabg"),
+ m_vram_fg(*this, "vrafg"),
+ m_analog_x(*this, "ANALOGX"),
+ m_analog_y(*this, "ANALOGY")
{ }
required_device<tlc34076_device> m_tlc34076;
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index 95f8becad11..31acbbb6d1d 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -2890,7 +2890,7 @@ ROM_START( sfexa )
CPZN1_BIOS
ROM_REGION32_LE( 0x80000, "user3", 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, "user2", 0 )
ROM_LOAD( "sfe-05m.3h", 0x0000000, 0x400000, CRC(eab781fe) SHA1(205476cb72c8dac915e140fb32243dfc5d209ba4) )
diff --git a/src/mame/includes/20pacgal.h b/src/mame/includes/20pacgal.h
index 5e1f5143da0..29b5cefdde7 100644
--- a/src/mame/includes/20pacgal.h
+++ b/src/mame/includes/20pacgal.h
@@ -63,8 +63,8 @@ public:
void draw_chars(bitmap_rgb32 &bitmap);
void draw_stars(bitmap_rgb32 &bitmap, const rectangle &cliprect );
void draw_sprite(bitmap_rgb32 &bitmap, int y, int x,
- UINT8 code, UINT8 color, int flip_y, int flip_x);
-
+ UINT8 code, UINT8 color, int flip_y, int flip_x);
+
};
diff --git a/src/mame/includes/4enraya.h b/src/mame/includes/4enraya.h
index 049582e02e8..a840ef6954b 100644
--- a/src/mame/includes/4enraya.h
+++ b/src/mame/includes/4enraya.h
@@ -15,7 +15,7 @@ public:
m_snd_latch_bit(4)
{ }
-
+
required_device<ay8910_device> m_ay;
/* memory pointers */
diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h
index bf098f8fe4e..e02bc004aa3 100644
--- a/src/mame/includes/8080bw.h
+++ b/src/mame/includes/8080bw.h
@@ -131,7 +131,7 @@ public:
DECLARE_WRITE8_MEMBER(polaris_sh_port_1_w);
DECLARE_WRITE8_MEMBER(polaris_sh_port_2_w);
DECLARE_WRITE8_MEMBER(polaris_sh_port_3_w);
-
+
void schaser_reinit_555_time_remain();
void invadpt2_get_pens( pen_t *pens );
void sflush_get_pens( pen_t *pens );
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 44460b650cc..48a9041c336 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -123,5 +123,3 @@ enum
ALPHA68K_JONGBOU, // used in kyros_alpha_trigger_r & kyros_draw_sprites
ALPHA68K_KYROS // used in kyros_draw_sprites
};
-
-
diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h
index 2d9e5b748cd..77e7735d58b 100644
--- a/src/mame/includes/amiga.h
+++ b/src/mame/includes/amiga.h
@@ -410,7 +410,7 @@ public:
optional_ioport m_p2joy_port;
optional_memory_bank m_bank1;
-
+
const amiga_machine_interface *m_intf;
autoconfig_device *m_autoconfig_list;
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index 066e0e17f18..52bc259962e 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -84,7 +84,7 @@ public:
void armedf_drawgfx(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
UINT32 code,UINT32 color, UINT32 clut,int flipx,int flipy,int offsx,int offsy,
int transparent_color);
-
+
};
class bigfghtr_state : public armedf_state
diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h
index e0659320301..23b66a3dcf8 100644
--- a/src/mame/includes/btime.h
+++ b/src/mame/includes/btime.h
@@ -121,5 +121,5 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 color,
UINT8 sprite_y_adjust, UINT8 sprite_y_adjust_flip_screen,
UINT8 *sprite_ram, offs_t interleave );
-
+
};
diff --git a/src/mame/includes/carpolo.h b/src/mame/includes/carpolo.h
index eb1215b860f..4b95ae40e03 100644
--- a/src/mame/includes/carpolo.h
+++ b/src/mame/includes/carpolo.h
@@ -98,7 +98,7 @@ public:
int check_sprite_sprite_collision(int x1, int y1, int code1, int flipy1,
int x2, int y2, int code2, int flipy2,
int *col_x, int *col_y);
-
+
};
diff --git a/src/mame/includes/cps3.h b/src/mame/includes/cps3.h
index 7b3e2258c62..9a846ec4260 100644
--- a/src/mame/includes/cps3.h
+++ b/src/mame/includes/cps3.h
@@ -127,7 +127,7 @@ public:
unsigned int code,unsigned int color,int flipx,int flipy,int sx,int sy,
int transparency,int transparent_color,
int scalex, int scaley,bitmap_ind8 *pri_buffer,UINT32 pri_mask);
-
+
};
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index 1ea6df6fae8..fca13a018c5 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -151,7 +151,7 @@ public:
DECLARE_VIDEO_START(lockload);
UINT32 screen_update_dragngun(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void screen_eof_dragngun(screen_device &screen, bool state);
- void dragngun_draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect, const UINT32 *spritedata);
+ void dragngun_draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect, const UINT32 *spritedata);
};
/*----------- defined in video/deco32.c -----------*/
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index 17ce9f6db73..2042f04c61a 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -35,7 +35,7 @@ public:
optional_ioport m_penx2port;
optional_ioport m_peny2port;
optional_memory_bank m_sndbank;
-
+
DECLARE_READ32_MEMBER(eolith_custom_r);
DECLARE_WRITE32_MEMBER(systemcontrol_w);
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 0b64315d2a5..000a39011d7 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -116,7 +116,7 @@ public:
DECLARE_WRITE8_MEMBER( xevious_vh_latch_w );
DECLARE_WRITE8_MEMBER( xevious_bs_w );
DECLARE_READ8_MEMBER( xevious_bb_r );
-
+
// Custom I/O
void battles_customio_init();
@@ -132,7 +132,7 @@ public:
DECLARE_WRITE8_MEMBER( battles_customio_data3_w );
DECLARE_WRITE8_MEMBER( battles_CPU4_coin_w );
DECLARE_WRITE8_MEMBER( battles_noise_sound_w );
-
+
UINT8 m_customio[16];
char m_battles_customio_command;
char m_battles_customio_prev_command;
@@ -170,11 +170,11 @@ public:
DECLARE_PALETTE_INIT(bosco);
UINT32 screen_update_bosco(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void screen_eof_bosco(screen_device &screen, bool state);
-
+
inline void get_tile_info_bosco(tile_data &tileinfo,int tile_index,int ram_offs);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_bullets(bitmap_ind16 &bitmap, const rectangle &cliprect);
- void draw_stars(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip);
+ void draw_stars(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip);
DECLARE_WRITE8_MEMBER( bosco_videoram_w );
DECLARE_WRITE8_MEMBER( bosco_scrollx_w );
DECLARE_WRITE8_MEMBER( bosco_scrolly_w );
@@ -207,7 +207,7 @@ public:
UINT32 screen_update_digdug(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER( digdug_videoram_w );
- DECLARE_WRITE8_MEMBER( digdug_PORT_w );
+ DECLARE_WRITE8_MEMBER( digdug_PORT_w );
};
/*----------- defined in audio/galaga.c -----------*/
diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h
index f45881c5e8d..a37d0daba4d 100644
--- a/src/mame/includes/galaxian.h
+++ b/src/mame/includes/galaxian.h
@@ -64,18 +64,18 @@ public:
int m_tenspot_current_game;
UINT8 m_frogger_adjust;
UINT8 m_sfx_tilemap;
-
+
/* video extension callbacks */
typedef void (galaxian_state::*galaxian_extend_tile_info_func)(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
typedef void (galaxian_state::*galaxian_extend_sprite_info_func)(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
typedef void (galaxian_state::*galaxian_draw_bullet_func)(bitmap_rgb32 &bitmap, const rectangle &cliprect, int offs, int x, int y);
typedef void (galaxian_state::*galaxian_draw_background_func)(bitmap_rgb32 &bitmap, const rectangle &cliprect);
-
+
galaxian_extend_tile_info_func m_extend_tile_info_ptr;
galaxian_extend_sprite_info_func m_extend_sprite_info_ptr;
galaxian_draw_bullet_func m_draw_bullet_ptr;
galaxian_draw_background_func m_draw_background_ptr;
-
+
tilemap_t *m_bg_tilemap;
UINT8 m_flipscreen_x;
UINT8 m_flipscreen_y;
diff --git a/src/mame/includes/itech32.h b/src/mame/includes/itech32.h
index 125379b8485..ad8f11ba454 100644
--- a/src/mame/includes/itech32.h
+++ b/src/mame/includes/itech32.h
@@ -184,4 +184,3 @@ public:
void install_timekeeper();
void init_gt_common();
};
-
diff --git a/src/mame/includes/itech8.h b/src/mame/includes/itech8.h
index e182d543e7b..a6c4dab6ebd 100644
--- a/src/mame/includes/itech8.h
+++ b/src/mame/includes/itech8.h
@@ -18,7 +18,7 @@ public:
m_tlc34076(*this, "tlc34076"),
m_visarea(0, 0, 0, 0){ }
- required_device<tlc34076_device> m_tlc34076;
+ required_device<tlc34076_device> m_tlc34076;
rectangle m_visarea;
UINT8 m_grom_bank;
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index 251c67114b4..57294ee6080 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -96,7 +96,7 @@ public:
void redclash_set_stars_enable(UINT8 on);
void redclash_update_stars_state();
void redclash_set_stars_speed(UINT8 speed);
- void redclash_draw_stars(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 palette_offset, UINT8 sraider, UINT8 firstx, UINT8 lastx);
+ void redclash_draw_stars(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 palette_offset, UINT8 sraider, UINT8 firstx, UINT8 lastx);
void redclash_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void redclash_draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h
index fbcdec359fc..8651c5b3069 100644
--- a/src/mame/includes/n64.h
+++ b/src/mame/includes/n64.h
@@ -24,7 +24,7 @@ public:
virtual void machine_reset();
virtual void video_start();
void n64_machine_stop();
-
+
UINT32 screen_update_n64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
};
diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h
index 9c0e5e24e9c..ff2db978995 100644
--- a/src/mame/includes/stv.h
+++ b/src/mame/includes/stv.h
@@ -297,7 +297,7 @@ public:
void drawpixel_4bpp_trans(int x, int y, int patterndata, int offsetcnt);
void drawpixel_generic(int x, int y, int patterndata, int offsetcnt);
void vdp1_fill_slope(const rectangle &cliprect, int patterndata, int xsize,
- INT32 x1, INT32 x2, INT32 sl1, INT32 sl2, INT32 *nx1, INT32 *nx2,
+ INT32 x1, INT32 x2, INT32 sl1, INT32 sl2, INT32 *nx1, INT32 *nx2,
INT32 u1, INT32 u2, INT32 slu1, INT32 slu2, INT32 *nu1, INT32 *nu2,
INT32 v1, INT32 v2, INT32 slv1, INT32 slv2, INT32 *nv1, INT32 *nv2,
INT32 _y1, INT32 y2);
@@ -390,7 +390,7 @@ public:
void stv_vdp2_draw_basic_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_4bpp_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_8bpp_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
-// void draw_11bpp_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
+// void draw_11bpp_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_rgb15_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_rgb32_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -714,4 +714,3 @@ public:
#define IRQ_DMAILL 1 << 12
#define IRQ_VDP1_END 1 << 13
#define IRQ_ABUS 1 << 15
-
diff --git a/src/mame/includes/tecmosys.h b/src/mame/includes/tecmosys.h
index cbdfb0285db..f414870ff89 100644
--- a/src/mame/includes/tecmosys.h
+++ b/src/mame/includes/tecmosys.h
@@ -83,4 +83,3 @@ public:
void tecmosys_prot_init(int which);
void tecmosys_prot_reset();
};
-
diff --git a/src/mame/machine/amiga.c b/src/mame/machine/amiga.c
index 0a27656f4d2..45fcf71df66 100644
--- a/src/mame/machine/amiga.c
+++ b/src/mame/machine/amiga.c
@@ -1192,7 +1192,7 @@ READ16_HANDLER( amiga_custom_r )
case REG_JOY1DAT:
if (state->m_intf->joy1dat_r != NULL)
return (*state->m_intf->joy1dat_r)(space.machine());
-
+
if (state->m_joy1dat_port) return state->m_joy1dat_port->read();
else return 0xffff;
diff --git a/src/mame/machine/chaknpop.c b/src/mame/machine/chaknpop.c
index fc7f1771ae6..9e448061eee 100644
--- a/src/mame/machine/chaknpop.c
+++ b/src/mame/machine/chaknpop.c
@@ -47,7 +47,6 @@ static const UINT8 mcu_data[256] = {
void chaknpop_state::mcu_update_seed( UINT8 data )
{
-
if (!(data & 0x80))
{
m_mcu_seed += 0x83;
diff --git a/src/mame/machine/megadriv.c b/src/mame/machine/megadriv.c
index 90998e1252d..4ceeba6e41e 100644
--- a/src/mame/machine/megadriv.c
+++ b/src/mame/machine/megadriv.c
@@ -306,7 +306,7 @@ UINT8 megadrive_io_read_data_port_3button(running_machine &machine, int portnum)
{
UINT8 retdata, helper = (megadrive_io_ctrl_regs[portnum] & 0x7f) | 0x80; // bit 7 always comes from megadrive_io_data_regs
static const char *const pad3names[] = { "PAD1", "PAD2", "IN0", "UNK" };
-
+
if (megadrive_io_data_regs[portnum] & 0x40)
{
/* here we read B, C & the directional buttons */
diff --git a/src/mame/machine/scudsp.c b/src/mame/machine/scudsp.c
index 5aa197567ed..4a9c59097ac 100644
--- a/src/mame/machine/scudsp.c
+++ b/src/mame/machine/scudsp.c
@@ -66,17 +66,17 @@ Changelog:
- Add control flags
- Croc: has a bug somewhere that never allows it to trip the ENDI opcode.
Snippet of interest is:
- 08 00823500 CLR A MOV M0,PL
- 09 08040000 OR MOV ALU,A
- 0A D208000D JMP NZ,$D
- 0B 00000000 NOP
- 0C F8000000 ENDI
+ 08 00823500 CLR A MOV M0,PL
+ 09 08040000 OR MOV ALU,A
+ 0A D208000D JMP NZ,$D
+ 0B 00000000 NOP
+ 0C F8000000 ENDI
...
- 40 00863502 MOV M0,A MOV M2,PL
- 41 10003009 ADD MOV ALL,MC0
- 42 D3400042 JMP T0,$42
- 43 00000000 NOP
- 44 D0000007 JMP $7
+ 40 00863502 MOV M0,A MOV M2,PL
+ 41 10003009 ADD MOV ALL,MC0
+ 42 D3400042 JMP T0,$42
+ 43 00000000 NOP
+ 44 D0000007 JMP $7
******************************************************************************************/
#include "emu.h"
diff --git a/src/mame/machine/smpc.c b/src/mame/machine/smpc.c
index c470aea7dda..5754bc72be8 100644
--- a/src/mame/machine/smpc.c
+++ b/src/mame/machine/smpc.c
@@ -226,7 +226,7 @@ static TIMER_CALLBACK( smpc_slave_enable )
state->m_smpc.OREG[31] = param + 0x02; //read-back for last command issued
state->m_smpc.SF = 0x00; //clear hand-shake flag
state->m_smpc.slave_on = param;
-// printf("%d %d\n",machine.primary_screen->hpos(),machine.primary_screen->vpos());
+// printf("%d %d\n",machine.primary_screen->hpos(),machine.primary_screen->vpos());
}
static TIMER_CALLBACK( smpc_sound_enable )
@@ -618,7 +618,7 @@ static TIMER_CALLBACK( smpc_nmi_set )
{
saturn_state *state = machine.driver_data<saturn_state>();
-// printf("%d %d\n",machine.primary_screen->hpos(),machine.primary_screen->vpos());
+// printf("%d %d\n",machine.primary_screen->hpos(),machine.primary_screen->vpos());
state->m_NMI_reset = param;
/* put issued command in OREG31 */
state->m_smpc.OREG[31] = 0x19 + param;
@@ -878,7 +878,7 @@ UINT8 saturn_state::smpc_th_control_mode(UINT8 pad_n)
break;
case 2:
res = th<<6;
- // 1 C B Right Left Down Up
+ // 1 C B Right Left Down Up
res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>4)) & 0x30); // C & B
res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>12)) & 0xf);
break;
diff --git a/src/mame/machine/snes7110.c b/src/mame/machine/snes7110.c
index ad27cd0ac65..0aa5299f591 100644
--- a/src/mame/machine/snes7110.c
+++ b/src/mame/machine/snes7110.c
@@ -127,7 +127,7 @@ public:
void init(running_machine &machine, UINT8 *ROM, UINT32 mode, UINT32 offset, UINT32 index);
void reset();
-
+
UINT8 read(UINT8 *ROM);
void write(UINT8 data);
void mode0(UINT8 init, UINT8 *ROM);
@@ -159,7 +159,7 @@ public:
UINT32 m_morton16[2][256];
UINT32 m_morton32[4][256];
-
+
private:
running_machine& m_machine;
UINT32 m_rom_size;
@@ -238,10 +238,10 @@ UINT8 SPC7110Decomp::read(UINT8 *ROM)
{
UINT8 data;
- if (m_decomp_buffer_length == 0)
+ if (m_decomp_buffer_length == 0)
{
//decompress at least (SPC7110_DECOMP_BUFFER_SIZE / 2) bytes to the buffer
- switch (m_decomp_mode)
+ switch (m_decomp_mode)
{
case 0:
mode0(0, ROM);
diff --git a/src/mame/machine/snessdd1.c b/src/mame/machine/snessdd1.c
index 943c9c02e02..91608a857b8 100644
--- a/src/mame/machine/snessdd1.c
+++ b/src/mame/machine/snessdd1.c
@@ -485,7 +485,7 @@ SDD1emu::SDD1emu(running_machine &machine)
m_BG6 = auto_alloc(machine, SDD1_BG(m_GCD, 6));
m_BG7 = auto_alloc(machine, SDD1_BG(m_GCD, 7));
m_PEM = auto_alloc(machine, SDD1_PEM(m_BG0, m_BG1, m_BG2, m_BG3,
- m_BG4, m_BG5, m_BG6, m_BG7));
+ m_BG4, m_BG5, m_BG6, m_BG7));
m_CM = auto_alloc(machine, SDD1_CM(m_PEM));
m_OL = auto_alloc(machine, SDD1_OL(m_CM));
}
diff --git a/src/mame/machine/stvcd.c b/src/mame/machine/stvcd.c
index f7f15be6bae..6ec36582670 100644
--- a/src/mame/machine/stvcd.c
+++ b/src/mame/machine/stvcd.c
@@ -103,10 +103,10 @@ void saturn_state::cd_exec_command( void )
UINT32 temp;
if(cr1 != 0 &&
- ((cr1 & 0xff00) != 0x5100) &&
- ((cr1 & 0xff00) != 0x5200) &&
- ((cr1 & 0xff00) != 0x5300) &&
- 1)
+ ((cr1 & 0xff00) != 0x5100) &&
+ ((cr1 & 0xff00) != 0x5200) &&
+ ((cr1 & 0xff00) != 0x5300) &&
+ 1)
printf("CD: command exec %04x %04x %04x %04x %04x (stat %04x)\n", hirqreg, cr1, cr2, cr3, cr4, cd_stat);
switch (cr1 & 0xff00)
@@ -1222,8 +1222,8 @@ void saturn_state::cd_exec_command( void )
CDROM_LOG(("%s:CD: Verify copy protection\n", machine.describe_context()))
if(((cd_stat & 0x0f00) != CD_STAT_NODISC) && ((cd_stat & 0x0f00) != CD_STAT_OPEN))
cd_stat = CD_STAT_PAUSE;
-// cr1 = cd_stat; // necessary to pass
-// cr2 = 0x4;
+// cr1 = cd_stat; // necessary to pass
+// cr2 = 0x4;
// hirqreg |= (CMOK|EFLS|CSCT);
sectorstore = 1;
hirqreg = 0xfc5;
@@ -1239,7 +1239,7 @@ void saturn_state::cd_exec_command( void )
cr3 = 0;
cr4 = 0;
hirqreg |= (CMOK);
-// cr_standard_return(cd_stat);
+// cr_standard_return(cd_stat);
break;
default:
@@ -1489,7 +1489,7 @@ UINT16 saturn_state::cd_readWord(UINT32 addr)
case 0x000c:
case 0x000e:
-// CDROM_LOG(("RW HIRM: %04x\n", hirqmask))
+// CDROM_LOG(("RW HIRM: %04x\n", hirqmask))
printf("RW HIRM: %04x\n", hirqmask);
return hirqmask;
@@ -1636,9 +1636,9 @@ UINT32 saturn_state::cd_readLong(UINT32 addr)
{
// get next longword
rv = (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 0]<<24) |
- (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 1]<<16) |
- (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 2]<<8) |
- (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 3]<<0);
+ (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 1]<<16) |
+ (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 2]<<8) |
+ (transpart->blocks[xfersectpos+xfersect]->data[xferoffs + 3]<<0);
xferdnum += 4;
xferoffs += 4;
@@ -1699,7 +1699,7 @@ void saturn_state::cd_writeWord(UINT32 addr, UINT16 data)
{
case 0x0008:
case 0x000a:
-// CDROM_LOG(("%s:WW HIRQ: %04x & %04x => %04x\n", machine().describe_context(), hirqreg, data, hirqreg & data))
+// CDROM_LOG(("%s:WW HIRQ: %04x & %04x => %04x\n", machine().describe_context(), hirqreg, data, hirqreg & data))
hirqreg &= data;
if(!(hirqreg & CMOK))
{
@@ -1709,7 +1709,7 @@ void saturn_state::cd_writeWord(UINT32 addr, UINT16 data)
return;
case 0x000c:
case 0x000e:
-// CDROM_LOG(("WW HIRM: %04x => %04x\n", hirqmask, data))
+// CDROM_LOG(("WW HIRM: %04x => %04x\n", hirqmask, data))
printf("WW HIRM: %04x => %04x\n", hirqmask, data);
hirqmask = data;
return;
diff --git a/src/mame/machine/tecmosys.c b/src/mame/machine/tecmosys.c
index c38f3bace4a..bd1678d9dc1 100644
--- a/src/mame/machine/tecmosys.c
+++ b/src/mame/machine/tecmosys.c
@@ -104,7 +104,7 @@ static const struct prot_data tkdensha_data =
void tecmosys_state::tecmosys_prot_reset()
-{
+{
m_device_read_ptr = 0;
m_device_status = DS_IDLE;
m_device_value = 0xff;
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 2d1965b132a..73256970bbe 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -701,7 +701,7 @@ nrallyx // (c) 1981 Namco
nrallyxb // (c) 1981 Namco
jungler // GX327 (c) 1981 Konami
junglers // GX327 (c) 1981 Stern
-jackler // 1 9 8 2 (Jungler Bootleg)
+jackler // 1 9 8 2 (Jungler Bootleg)
savanna // Olympia (c) 1982 (Jungler bootleg)
tactcian // GX335 (c) 1982 Sega
tactcian2 // GX335 (c) 1981 Sega
@@ -2974,7 +2974,7 @@ sf2m7 // hack
sf2m8 // bootleg
sf2yyc // hack
sf2koryu // hack
-sf2dongb // hack
+sf2dongb // hack
sf2mdt // bootleg
sf2mdta // bootleg
cworld2j // 11/06/1992 (c) 1992 (Japan)
@@ -4156,8 +4156,8 @@ wbmljo // (c) 1987 Sega/Westone (S2)
wbmljb // (c) 1987 Sega/Westone (S2)
wbmlb // bootleg? (S2)
wbmlbg // bootleg (Galaxy Electronics)
-wbmlbge // bootleg (Gecas)
-wbmlvc // Virtual Console
+wbmlbge // bootleg (Gecas)
+wbmlvc // Virtual Console
dakkochn // 836-6483 (S2)
ufosensi // 834-6659 (S2)
ufosensib // bootleg
@@ -4619,7 +4619,7 @@ pclub2 // 1997.09 Print Club 2
thunt // 1997.09 Puzzle & Action Treasure Hunt (Sega (Deniam License))
thuntk
winterht // 1997.10 Winter Heat (Data East)
-pclb297w // 1997.10 Print Club 2 '97 Winter Ver
+pclb297w // 1997.10 Print Club 2 '97 Winter Ver
pclub298 // 1997.10 Print Club 2 '98 Spring Ver
cotton2 // 1997.11 Cotton 2 (Success)
hanagumi // 1997.11 Sakura Taisen Hanagumi Taisen Columns
@@ -5804,7 +5804,7 @@ wc90b1 // bootleg
wc90b2 // bootleg
spbactn // 9002 - (c) 1991 Tecmo
spbactnj // 9002 - (c) 1991 Tecmo
-spbactnp // prototype
+spbactnp // prototype
fstarfrc // (c) 1992 Tecmo
fstarfrcj // (c) 1992 Tecmo
ginkun // (c) 1995 Tecmo
@@ -8294,7 +8294,7 @@ netwars // (c) 1983 Orca + Esco Trading Co license
// the name "Orca"
vastar // (c) 1983 Sesame Japan
vastar2 // (c) 1983 Sesame Japan
-vastar3 // (c) 1983 Sesame Japan
+vastar3 // (c) 1983 Sesame Japan
/*
other Orca games:
82 Battle Cross Kit 2P
@@ -8770,7 +8770,7 @@ wbeachvl2 // (c) 1995
wbeachvl3 // (c) 1995
excelsr // (c) 1995
hotmind // (c) 1995
-luckboomh // (c) 1995
+luckboomh // (c) 1995
hrdtimes // (c) 1994
hrdtimesa // (c) 1994
drtomy // (c) 1993 no copyright message (1993 on pcb), some code taken from 'Big Karnak'
@@ -9186,12 +9186,12 @@ haunthig // (c) 200?
fearless // (c) 2006
// IGS036 Cpu Games
-cjdh2 // (c) 200?
-cjdh2a // (c) 200?
-cjdh2b // (c) 200?
-cjdh2c // (c) 200?
-cjddzsp // (c) 200?
-igsm312 // (c) 200?
+cjdh2 // (c) 200?
+cjdh2a // (c) 200?
+cjdh2b // (c) 200?
+cjdh2c // (c) 200?
+cjddzsp // (c) 200?
+igsm312 // (c) 200?
// IGS PGM System Games
pgm // Base Unit
@@ -9256,10 +9256,10 @@ py2k2 // (c) 2001 Photo Y2K2
pgm3in1 // (c) 2004 Photo Y2K2 3-in-1
dmnfrnt // (c) 2002 Demon Front
dmnfrnta //
-dmnfrntb //
+dmnfrntb //
dmnfrntpcb //
kovshp // (c) 200? Knights of Valor Superheroes PLUS
-kovytzy // (c) 1999 Knights of Valour: Yi Tong Zhong Yuan
+kovytzy // (c) 1999 Knights of Valour: Yi Tong Zhong Yuan
kovshxas // bootleg
kovlsqh // bootleg
kovlsqh2 // bootleg
@@ -9848,7 +9848,7 @@ quake // (c) 19?? Lazer-Tron / iD Software
majorpkr // (c) 1994 PAL System.
su2000 // (c) 1993 Virtuality
boonggab // (c) 2001 Taff System
-fresh // (c) Chain Leisure
+fresh // (c) Chain Leisure
// Success
tonton // (c) 199? Success / Taiyo Jidoki.
@@ -10519,7 +10519,7 @@ cfever51 // (c) 2000 High Video
cfever61 // (c) 2000 High Video
cfever1k // (c) 2000 High Video
girotutt // (c) 2000 High Video
-nyjoker //
+nyjoker //
// Sure games
mil4000 // (c) 2000 Sure Milano
@@ -10701,7 +10701,7 @@ nfb96a // (c) 1996 Amcoe
nfb96b // (c) 1996 Amcoe
nfb96c // (c) 1996 Amcoe
nfb96txt // (c) 2000 Amcoe
-fb2010 // (c) 2009 Amcoe
+fb2010 // (c) 2009 Amcoe
nfb96se // bootleg
nfb96sea // bootleg
nfb96seb // bootleg
diff --git a/src/mame/video/ccastles.c b/src/mame/video/ccastles.c
index 860067abe80..c6c7b49bd12 100644
--- a/src/mame/video/ccastles.c
+++ b/src/mame/video/ccastles.c
@@ -163,7 +163,6 @@ inline void ccastles_state::ccastles_write_vram( UINT16 addr, UINT8 data, UINT8
inline void ccastles_state::bitmode_autoinc( )
{
-
/* auto increment in the x-direction if it's enabled */
if (!m_video_control[0]) /* /AX */
{
diff --git a/src/mame/video/cchasm.c b/src/mame/video/cchasm.c
index e69992dba34..d97df1fa06a 100644
--- a/src/mame/video/cchasm.c
+++ b/src/mame/video/cchasm.c
@@ -26,7 +26,6 @@ TIMER_CALLBACK_MEMBER(cchasm_state::cchasm_refresh_end)
void cchasm_state::cchasm_refresh ()
{
-
int pc = 0;
int done = 0;
int opcode, data;
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index b964bb15b28..76ba7849369 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -80,7 +80,6 @@ void centiped_state::init_penmask()
void centiped_state::init_common()
{
-
save_item(NAME(m_flipscreen));
save_item(NAME(m_gfx_bank));
save_item(NAME(m_bullsdrt_sprites_bank));
diff --git a/src/mame/video/cloud9.c b/src/mame/video/cloud9.c
index 473220449e3..9bfa978b817 100644
--- a/src/mame/video/cloud9.c
+++ b/src/mame/video/cloud9.c
@@ -156,7 +156,6 @@ inline void cloud9_state::cloud9_write_vram( UINT16 addr, UINT8 data, UINT8 bitm
inline void cloud9_state::bitmode_autoinc( )
{
-
/* auto increment in the x-direction if it's enabled */
if (!m_video_control[0]) /* /AX */
m_bitmode_addr[0]++;
diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c
index 3a4f294d75a..a7624c4e113 100644
--- a/src/mame/video/cps1.c
+++ b/src/mame/video/cps1.c
@@ -2276,7 +2276,6 @@ void cps_state::cps1_find_last_sprite() /* Find the offset of last sprite */
void cps_state::cps1_render_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
-
#define DRAWSPRITE(CODE,COLOR,FLIPX,FLIPY,SX,SY) \
{ \
if (flip_screen()) \
@@ -2510,7 +2509,6 @@ void cps_state::cps2_find_last_sprite() /* Find the offset of last sprite */
void cps_state::cps2_render_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int *primasks )
{
-
#define DRAWSPRITE(CODE,COLOR,FLIPX,FLIPY,SX,SY) \
{ \
if (flip_screen()) \
diff --git a/src/mame/video/dday.c b/src/mame/video/dday.c
index dc6b9a83be4..c18596db1b3 100644
--- a/src/mame/video/dday.c
+++ b/src/mame/video/dday.c
@@ -33,7 +33,6 @@ TIMER_CALLBACK_MEMBER(dday_state::countdown_timer_callback)
void dday_state::start_countdown_timer()
{
-
m_timer_value = 0;
machine().scheduler().timer_pulse(attotime::from_seconds(1), timer_expired_delegate(FUNC(dday_state::countdown_timer_callback),this));
diff --git a/src/mame/video/dkong.c b/src/mame/video/dkong.c
index f35e8adade5..86f0a2bf5b5 100644
--- a/src/mame/video/dkong.c
+++ b/src/mame/video/dkong.c
@@ -669,7 +669,6 @@ void dkong_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
inline double dkong_state::CD4049(double x)
{
-
if (x>0)
return exp(-m_cd4049_a * pow(x,m_cd4049_b));
else
@@ -690,7 +689,6 @@ inline double dkong_state::CD4049(double x)
void dkong_state::radarscp_step(int line_cnt)
{
-
/* Condensator is illegible in schematics for TRS2 board.
* TRS1 board states 3.3u.
*/
diff --git a/src/mame/video/fromanc2.c b/src/mame/video/fromanc2.c
index f0d1128d7f7..75354c27e03 100644
--- a/src/mame/video/fromanc2.c
+++ b/src/mame/video/fromanc2.c
@@ -288,7 +288,6 @@ WRITE16_MEMBER(fromanc2_state::fromancr_gfxreg_1_w)
void fromanc2_state::fromancr_gfxbank_w( int data )
{
-
m_gfxbank[0][0] = (data & 0x0010) >> 4; // BG (1P)
m_gfxbank[0][1] = (data & 0xf000) >> 12; // FG (1P)
m_gfxbank[1][0] = (data & 0x0008) >> 3; // BG (2P)
diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c
index 54865729da9..44e62c22b97 100644
--- a/src/mame/video/fromance.c
+++ b/src/mame/video/fromance.c
@@ -55,7 +55,6 @@ TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_fg_tile_info){ get_nekkyoku_ti
void fromance_state::init_common( )
{
-
/* allocate local videoram */
m_local_videoram[0] = auto_alloc_array(machine(), UINT8, 0x1000 * 3);
m_local_videoram[1] = auto_alloc_array(machine(), UINT8, 0x1000 * 3);
diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c
index fce68cdc943..e7d12d8a78e 100644
--- a/src/mame/video/galaga.c
+++ b/src/mame/video/galaga.c
@@ -472,7 +472,6 @@ WRITE8_MEMBER(galaga_state::gatsbee_bank_w)
void galaga_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
-
UINT8 *spriteram = m_galaga_ram1 + 0x380;
UINT8 *spriteram_2 = m_galaga_ram2 + 0x380;
UINT8 *spriteram_3 = m_galaga_ram3 + 0x380;
diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c
index 4528ddc1692..e6f831a6f05 100644
--- a/src/mame/video/galaxold.c
+++ b/src/mame/video/galaxold.c
@@ -1305,7 +1305,6 @@ void galaxold_state::dambustr_draw_background(bitmap_ind16 &bitmap, const rectan
void galaxold_state::dambustr_draw_upper_background(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
-
if (flip_screen_x())
{
rectangle clip(254 - m_dambustr_bg_split_line, m_dambustr_bg_split_line, 0, 255);
diff --git a/src/mame/video/konicdev.c b/src/mame/video/konicdev.c
index 24f1ab937cc..3c59c5f9990 100644
--- a/src/mame/video/konicdev.c
+++ b/src/mame/video/konicdev.c
@@ -10327,7 +10327,7 @@ void k001604_draw_back_layer( device_t *device, bitmap_rgb32 &bitmap, const rect
window_x = ((k001604->reg[0x1b] >> 1) & 3) * 512;
else
window_x = ((k001604->reg[0x1b] >> 1) & 1) * 512;
-
+
window_y = 0;
switch (layer_size)
@@ -10339,7 +10339,7 @@ void k001604_draw_back_layer( device_t *device, bitmap_rgb32 &bitmap, const rect
}
window_ymask = pixmap.height() - 1;
-
+
// loop over rows
while (sy <= ey)
diff --git a/src/mame/video/lastduel.c b/src/mame/video/lastduel.c
index 4ccde683063..de2cb93285c 100644
--- a/src/mame/video/lastduel.c
+++ b/src/mame/video/lastduel.c
@@ -199,7 +199,6 @@ WRITE16_MEMBER(lastduel_state::lastduel_palette_word_w)
void lastduel_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri )
{
-
UINT16 *buffered_spriteram16 = m_spriteram->buffer();
int offs;
diff --git a/src/mame/video/lockon.c b/src/mame/video/lockon.c
index 4a9613c8a12..07ef300ba24 100644
--- a/src/mame/video/lockon.c
+++ b/src/mame/video/lockon.c
@@ -300,7 +300,6 @@ TIMER_CALLBACK_MEMBER(lockon_state::bufend_callback)
void lockon_state::ground_draw( )
{
-
/* ROM pointers */
const UINT8 *const gfx_rom = memregion("gfx4")->base();
const UINT8 *const lut_rom = gfx_rom + 0x30000 + ((m_ground_ctrl >> 2) & 0x3 ? 0x10000 : 0);
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index 6efa6face08..f61d58a23ec 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -380,7 +380,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/video/qix.c b/src/mame/video/qix.c
index 2cd3db62a27..70a7ba9dce3 100644
--- a/src/mame/video/qix.c
+++ b/src/mame/video/qix.c
@@ -385,7 +385,7 @@ ADDRESS_MAP_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/video/redclash.c b/src/mame/video/redclash.c
index c5d327df41f..0d8ed261796 100644
--- a/src/mame/video/redclash.c
+++ b/src/mame/video/redclash.c
@@ -286,7 +286,7 @@ void ladybug_state::redclash_draw_bullets( bitmap_ind16 &bitmap, const rectangle
/* This line can reset the LFSR to zero and disables the star generator */
void ladybug_state::redclash_set_stars_enable(UINT8 on)
-{
+{
if ((m_stars_enable == 0) && (on == 1))
{
m_stars_offset = 0;
diff --git a/src/mame/video/spbactn.c b/src/mame/video/spbactn.c
index c2213592bda..2cec9383b79 100644
--- a/src/mame/video/spbactn.c
+++ b/src/mame/video/spbactn.c
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(spbactn_state::get_fg_tile_info)
int tileno = m_fgvideoram[tile_index+0x2000];
int color = ((attr & 0x00f0)>>4);
-
+
/* blending */
if (attr & 0x0008)
color += 0x00f0;
diff --git a/src/mame/video/stvvdp1.c b/src/mame/video/stvvdp1.c
index 15100909b9a..98365f8a1e8 100644
--- a/src/mame/video/stvvdp1.c
+++ b/src/mame/video/stvvdp1.c
@@ -239,7 +239,7 @@ void saturn_state::stv_vdp1_change_framebuffers( void )
void saturn_state::stv_set_framebuffer_config( void )
{
if ( m_vdp1.framebuffer_mode == STV_VDP1_TVM &&
- m_vdp1.framebuffer_double_interlace == STV_VDP1_DIE ) return;
+ m_vdp1.framebuffer_double_interlace == STV_VDP1_DIE ) return;
if ( VDP1_LOG ) logerror( "Setting framebuffer config\n" );
m_vdp1.framebuffer_mode = STV_VDP1_TVM;
@@ -1908,7 +1908,7 @@ void saturn_state::stv_vdp1_process_list( void )
break;
case 0x0005:
-// case 0x0007: // mirror? Baroque uses it, crashes for whatever reason
+// case 0x0007: // mirror? Baroque uses it, crashes for whatever reason
if (VDP1_LOG) logerror ("Sprite List Polyline\n");
stv2_current_sprite.ispoly = 1;
stv_vdp1_draw_poly_line(*cliprect);
@@ -1921,7 +1921,7 @@ void saturn_state::stv_vdp1_process_list( void )
break;
case 0x0008:
-// case 0x000b: // mirror? Bug 2
+// case 0x000b: // mirror? Bug 2
if (VDP1_LOG) logerror ("Sprite List Set Command for User Clipping (%d,%d),(%d,%d)\n", stv2_current_sprite.CMDXA, stv2_current_sprite.CMDYA, stv2_current_sprite.CMDXC, stv2_current_sprite.CMDYC);
m_vdp1.user_cliprect.set(stv2_current_sprite.CMDXA, stv2_current_sprite.CMDXC, stv2_current_sprite.CMDYA, stv2_current_sprite.CMDYC);
break;
@@ -2021,7 +2021,7 @@ void saturn_state::video_update_vdp1( void )
/* TODO: Slam n Jam 96 & Cross Romance doesn't like this, investigate. */
framebuffer_changed = 1;
}
- // framebuffer_changed = 1;
+ // framebuffer_changed = 1;
break;
}
m_vdp1.fbcr_accessed = 0;
diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c
index 4e27cbac89f..e22ea9cd652 100644
--- a/src/mame/video/stvvdp2.c
+++ b/src/mame/video/stvvdp2.c
@@ -2604,9 +2604,9 @@ void saturn_state::stv_vdp2_drawgfxzoom_rgb555(
myclip = clip;
myclip &= dest_bmp.cliprect();
-// if( gfx )
+// if( gfx )
{
-// const UINT8 *source_base = gfx->get_data(code % gfx->elements());
+// const UINT8 *source_base = gfx->get_data(code % gfx->elements());
//int sprite_screen_height = (scaley*gfx->height()+0x8000)>>16;
//int sprite_screen_width = (scalex*gfx->width()+0x8000)>>16;
@@ -3264,27 +3264,27 @@ void saturn_state::stv_vdp2_draw_basic_bitmap(bitmap_rgb32 &bitmap, const rectan
/* intentional fall-through*/
popmessage("%d %s %s %s %s",stv2_current_tilemap.colour_depth,
- stv2_current_tilemap.transparency == STV_TRANSPARENCY_NONE ? "no trans" : "trans",
- stv2_current_tilemap.window_control & 6 ? "window" : "no window",
- stv2_current_tilemap.colour_calculation_enabled ? "cc" : "no cc",
- (stv2_current_tilemap.incx == 0x10000 && stv2_current_tilemap.incy == 0x10000) ? "no zoom" : "zoom");
+ stv2_current_tilemap.transparency == STV_TRANSPARENCY_NONE ? "no trans" : "trans",
+ stv2_current_tilemap.window_control & 6 ? "window" : "no window",
+ stv2_current_tilemap.colour_calculation_enabled ? "cc" : "no cc",
+ (stv2_current_tilemap.incx == 0x10000 && stv2_current_tilemap.incy == 0x10000) ? "no zoom" : "zoom");
}
else
{
switch(stv2_current_tilemap.colour_depth)
{
- // case 0: draw_4bpp_bitmap(bitmap,cliprect); return;
+ // case 0: draw_4bpp_bitmap(bitmap,cliprect); return;
case 1: draw_8bpp_bitmap(bitmap,cliprect); return;
case 3: draw_rgb15_bitmap(bitmap,cliprect); return;
- // case 4: draw_rgb32_bitmap(bitmap,cliprect); return;
+ // case 4: draw_rgb32_bitmap(bitmap,cliprect); return;
}
/* intentional fall-through*/
popmessage("%d %s %s %s %s",stv2_current_tilemap.colour_depth,
- stv2_current_tilemap.transparency == STV_TRANSPARENCY_NONE ? "no trans" : "trans",
- stv2_current_tilemap.window_control & 6 ? "window" : "no window",
- stv2_current_tilemap.colour_calculation_enabled ? "cc" : "no cc",
- (stv2_current_tilemap.incx == 0x10000 && stv2_current_tilemap.incy == 0x10000) ? "no zoom" : "zoom");
+ stv2_current_tilemap.transparency == STV_TRANSPARENCY_NONE ? "no trans" : "trans",
+ stv2_current_tilemap.window_control & 6 ? "window" : "no window",
+ stv2_current_tilemap.colour_calculation_enabled ? "cc" : "no cc",
+ (stv2_current_tilemap.incx == 0x10000 && stv2_current_tilemap.incy == 0x10000) ? "no zoom" : "zoom");
}
/* size for n0 / n1 */
@@ -4319,11 +4319,11 @@ void saturn_state::stv_vdp2_check_tilemap_with_linescroll(bitmap_rgb32 &bitmap,
// prepare linescroll flags
linescroll_enable = stv2_current_tilemap.linescroll_enable;
-// stv2_current_tilemap.linescroll_enable = 0;
+// stv2_current_tilemap.linescroll_enable = 0;
vertical_linescroll_enable = stv2_current_tilemap.vertical_linescroll_enable;
-// stv2_current_tilemap.vertical_linescroll_enable = 0;
+// stv2_current_tilemap.vertical_linescroll_enable = 0;
linezoom_enable = stv2_current_tilemap.linezoom_enable;
-// stv2_current_tilemap.linezoom_enable = 0;
+// stv2_current_tilemap.linezoom_enable = 0;
// prepare working clipping rectangle
memcpy( &mycliprect, &cliprect, sizeof(rectangle) );
@@ -4542,8 +4542,8 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
if(stv2_current_tilemap.colour_depth == 2 && !stv2_current_tilemap.bitmap_enable)
popmessage("2048 color mode used on a non-bitmap plane");
-// if(STV_VDP2_SCXDN0 || STV_VDP2_SCXDN1 || STV_VDP2_SCYDN0 || STV_VDP2_SCYDN1)
-// popmessage("Fractional part scrolling write, contact MAMEdev");
+// if(STV_VDP2_SCXDN0 || STV_VDP2_SCXDN1 || STV_VDP2_SCYDN0 || STV_VDP2_SCYDN1)
+// popmessage("Fractional part scrolling write, contact MAMEdev");
/* Pukunpa */
//if(STV_VDP2_SPWINEN)
@@ -7023,5 +7023,3 @@ UINT32 saturn_state::screen_update_stv_vdp2(screen_device &screen, bitmap_rgb32
#endif
return 0;
}
-
-
diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c
index 9b4edef9f02..78028da3ac5 100644
--- a/src/mame/video/taitoic.c
+++ b/src/mame/video/taitoic.c
@@ -1883,7 +1883,7 @@ READ_LINE_DEVICE_HANDLER( tc0080vco_flipscreen_r )
void tc0080vco_device::tc0080vco_postload()
{
tc0080vco_state *tc0080vco = tc0080vco_get_safe_token(this);
-
+
tc0080vco->flipscreen = tc0080vco->scroll_ram[0] & 0x0c00;
tc0080vco->tilemap[0]->set_flip(tc0080vco->flipscreen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
@@ -3716,7 +3716,7 @@ READ8_DEVICE_HANDLER( tc0480scp_pri_reg_r )
void tc0480scp_device::tc0480scp_postload()
{
tc0480scp_state *tc0480scp = tc0480scp_get_safe_token(this);
-
+
int reg;
int flip = tc0480scp->ctrl[0xf] & 0x40;
diff --git a/src/mame/video/tecmo_spr.c b/src/mame/video/tecmo_spr.c
index c9580ee36f7..25e53edd7d0 100644
--- a/src/mame/video/tecmo_spr.c
+++ b/src/mame/video/tecmo_spr.c
@@ -79,7 +79,7 @@ int spbactn_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
attr = spriteram[offs];
int pri = (spriteram[offs] & 0x0030);
-// int pri = (spriteram[offs+2] & 0x0030);
+// int pri = (spriteram[offs+2] & 0x0030);
if ((attr & 0x0004) &&
@@ -542,5 +542,3 @@ void raiga_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap_bg, bitm
source -= 8;
}
}
-
-
diff --git a/src/mame/video/tecmo_spr.h b/src/mame/video/tecmo_spr.h
index 693e933e565..8af6da82a1d 100644
--- a/src/mame/video/tecmo_spr.h
+++ b/src/mame/video/tecmo_spr.h
@@ -5,4 +5,3 @@ void tecmo16_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap_bg, bit
void gaiden_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
void raiga_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
int spbactn_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, bool alt_sprites, UINT16* spriteram);
-
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index e20c36db9ae..6a43d1d4644 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -21,7 +21,7 @@
MC6845_INTERFACE( twincobr_mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
2, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/apc.c b/src/mess/drivers/apc.c
index 8d6a86353c8..5d8308a2a17 100644
--- a/src/mess/drivers/apc.c
+++ b/src/mess/drivers/apc.c
@@ -403,10 +403,10 @@ WRITE8_MEMBER(apc_state::apc_dma_w)
WRITE8_MEMBER(apc_state::apc_irq_ack_w)
{
/*
- x--- GDC
- -x-- TM
- --x- APU
- ---x CRT
+ x--- GDC
+ -x-- TM
+ --x- APU
+ ---x CRT
*/
if(data & 4)
pic8259_ir3_w(machine().device("pic8259_master"), 0);
@@ -464,7 +464,7 @@ RTC write bits: 76543210
static ADDRESS_MAP_START( apc_map, AS_PROGRAM, 16, apc_state )
AM_RANGE(0x00000, 0x9ffff) AM_RAM
AM_RANGE(0xa0000, 0xa0fff) AM_RAM AM_SHARE("cmos")
-// AM_RANGE(0xa1000, 0xbffff) mirror CMOS
+// AM_RANGE(0xa1000, 0xbffff) mirror CMOS
// AM_RANGE(0xc0000, 0xcffff) standard character ROM
AM_RANGE(0xd8000, 0xd9fff) AM_RAM AM_REGION("aux_pcg", 0) // AUX character RAM
// AM_RANGE(0xe0000, 0xeffff) Special Character RAM
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( apc_io, AS_IO, 16, apc_state )
AM_RANGE(0x48, 0x4f) AM_READWRITE8(apc_kbd_r, apc_kbd_w, 0x00ff)
AM_RANGE(0x50, 0x53) AM_DEVICE8("upd765", upd765a_device, map, 0x00ff ) // upd765
AM_RANGE(0x58, 0x59) AM_READWRITE8(apc_rtc_r, apc_rtc_w, 0x00ff)
-// 0x59 CMOS enable
+// 0x59 CMOS enable
// 0x5a APU data (Arithmetic Processing Unit!)
// 0x5b, Power Off
// 0x5e APU status/command
@@ -492,7 +492,7 @@ static ADDRESS_MAP_START( apc_io, AS_IO, 16, apc_state )
// 0x70, 0x76 AM_DEVREADWRITE8("upd7220_btm", upd7220_device, read, write, 0x00ff)
// 0x71, 0x77 IDA Controller
// 0x80, 0x90 Communication Adapter
-// 0xf0, 0xf6 ASOP Controller
+// 0xf0, 0xf6 ASOP Controller
ADDRESS_MAP_END
/* TODO: key repeat, remove port impulse! */
diff --git a/src/mess/drivers/apple2.c b/src/mess/drivers/apple2.c
index 7c6c40fbce7..2c04a0dc02f 100644
--- a/src/mess/drivers/apple2.c
+++ b/src/mess/drivers/apple2.c
@@ -633,7 +633,7 @@ static SLOT_INTERFACE_START(apple2_cards)
SLOT_INTERFACE("vtc1", A2BUS_VTC1) /* Unknown VideoTerm clone #1 */
SLOT_INTERFACE("vtc2", A2BUS_VTC2) /* Unknown VideoTerm clone #2 */
SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */
- SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
+ SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
// SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */
SLOT_INTERFACE_END
@@ -727,7 +727,7 @@ static MACHINE_CONFIG_DERIVED( apple2e, apple2_common )
MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl0", A2BUS_LANG, NULL)
MCFG_A2EAUXSLOT_BUS_ADD(AUXSLOT_TAG, "maincpu", a2eauxbus_intf)
- MCFG_A2EAUXSLOT_SLOT_ADD(AUXSLOT_TAG, "aux", apple2eaux_cards, "ext80", NULL) // default to an extended 80-column card
+ MCFG_A2EAUXSLOT_SLOT_ADD(AUXSLOT_TAG, "aux", apple2eaux_cards, "ext80", NULL) // default to an extended 80-column card
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/apple2gs.c b/src/mess/drivers/apple2gs.c
index 2a87471f1c4..88265b5b723 100644
--- a/src/mess/drivers/apple2gs.c
+++ b/src/mess/drivers/apple2gs.c
@@ -72,24 +72,24 @@
static const gfx_layout apple2gs_text_layout =
{
- 14,8, /* 14*8 characters */
- 512, /* 256 characters */
- 1, /* 1 bits per pixel */
- { 0 }, /* no bitplanes; 1 bit per pixel */
+ 14,8, /* 14*8 characters */
+ 512, /* 256 characters */
+ 1, /* 1 bits per pixel */
+ { 0 }, /* no bitplanes; 1 bit per pixel */
{ 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1 }, /* x offsets */
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8 /* every char takes 8 bytes */
+ 8*8 /* every char takes 8 bytes */
};
static const gfx_layout apple2gs_dbltext_layout =
{
- 7,8, /* 7*8 characters */
- 512, /* 256 characters */
- 1, /* 1 bits per pixel */
- { 0 }, /* no bitplanes; 1 bit per pixel */
+ 7,8, /* 7*8 characters */
+ 512, /* 256 characters */
+ 1, /* 1 bits per pixel */
+ { 0 }, /* no bitplanes; 1 bit per pixel */
{ 7, 6, 5, 4, 3, 2, 1 }, /* x offsets */
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8 /* every char takes 8 bytes */
+ 8*8 /* every char takes 8 bytes */
};
static GFXDECODE_START( apple2gs )
@@ -99,22 +99,22 @@ GFXDECODE_END
static const unsigned char apple2gs_palette[] =
{
- 0x0, 0x0, 0x0, /* Black $0 $0000 */
- 0xD, 0x0, 0x3, /* Deep Red $1 $0D03 */
- 0x0, 0x0, 0x9, /* Dark Blue $2 $0009 */
- 0xD, 0x2, 0xD, /* Purple $3 $0D2D */
- 0x0, 0x7, 0x2, /* Dark Green $4 $0072 */
- 0x5, 0x5, 0x5, /* Dark Gray $5 $0555 */
- 0x2, 0x2, 0xF, /* Medium Blue $6 $022F */
- 0x6, 0xA, 0xF, /* Light Blue $7 $06AF */
- 0x8, 0x5, 0x0, /* Brown $8 $0850 */
- 0xF, 0x6, 0x0, /* Orange $9 $0F60 */
- 0xA, 0xA, 0xA, /* Light Gray $A $0AAA */
- 0xF, 0x9, 0x8, /* Pink $B $0F98 */
- 0x1, 0xD, 0x0, /* Light Green $C $01D0 */
- 0xF, 0xF, 0x0, /* Yellow $D $0FF0 */
- 0x4, 0xF, 0x9, /* Aquamarine $E $04F9 */
- 0xF, 0xF, 0xF /* White $F $0FFF */
+ 0x0, 0x0, 0x0, /* Black $0 $0000 */
+ 0xD, 0x0, 0x3, /* Deep Red $1 $0D03 */
+ 0x0, 0x0, 0x9, /* Dark Blue $2 $0009 */
+ 0xD, 0x2, 0xD, /* Purple $3 $0D2D */
+ 0x0, 0x7, 0x2, /* Dark Green $4 $0072 */
+ 0x5, 0x5, 0x5, /* Dark Gray $5 $0555 */
+ 0x2, 0x2, 0xF, /* Medium Blue $6 $022F */
+ 0x6, 0xA, 0xF, /* Light Blue $7 $06AF */
+ 0x8, 0x5, 0x0, /* Brown $8 $0850 */
+ 0xF, 0x6, 0x0, /* Orange $9 $0F60 */
+ 0xA, 0xA, 0xA, /* Light Gray $A $0AAA */
+ 0xF, 0x9, 0x8, /* Pink $B $0F98 */
+ 0x1, 0xD, 0x0, /* Light Green $C $01D0 */
+ 0xF, 0xF, 0x0, /* Yellow $D $0FF0 */
+ 0x4, 0xF, 0x9, /* Aquamarine $E $04F9 */
+ 0xF, 0xF, 0xF /* White $F $0FFF */
};
static INPUT_PORTS_START( apple2gs )
@@ -195,7 +195,7 @@ READ8_MEMBER(apple2gs_state::adbmicro_p1_in)
{
if (m_is_rom3)
{
- return 0x06; // indicate ROM 3
+ return 0x06; // indicate ROM 3
}
return 0;
@@ -203,12 +203,12 @@ READ8_MEMBER(apple2gs_state::adbmicro_p1_in)
READ8_MEMBER(apple2gs_state::adbmicro_p2_in)
{
- return (m_adb_line) ? 0x80 : 0x00;
+ return (m_adb_line) ? 0x80 : 0x00;
}
READ8_MEMBER(apple2gs_state::adbmicro_p3_in)
{
- return (m_adb_line) ? 0x08 : 0x00;
+ return (m_adb_line) ? 0x08 : 0x00;
}
WRITE8_MEMBER(apple2gs_state::adbmicro_p0_out)
@@ -223,12 +223,12 @@ WRITE8_MEMBER(apple2gs_state::adbmicro_p1_out)
WRITE8_MEMBER(apple2gs_state::adbmicro_p2_out)
{
if (!(data & 0x10))
- {
+ {
if (m_adbmicro->are_port_bits_output(0, 0xff))
{
keyglu_mcu_write(data & 7, m_glu_bus);
}
- else // read GLU
+ else // read GLU
{
m_glu_bus = keyglu_mcu_read(data & 7);
}
@@ -255,47 +255,47 @@ static const struct m5074x_interface adbmicro_intf =
WRITE8_MEMBER(apple2gs_state::a2bus_irq_w)
{
- if (data)
- {
- apple2gs_add_irq(machine(), IRQ_SLOT);
- }
- else
- {
- apple2gs_remove_irq(machine(), IRQ_SLOT);
- }
+ if (data)
+ {
+ apple2gs_add_irq(machine(), IRQ_SLOT);
+ }
+ else
+ {
+ apple2gs_remove_irq(machine(), IRQ_SLOT);
+ }
}
WRITE8_MEMBER(apple2gs_state::a2bus_nmi_w)
{
- m_maincpu->set_input_line(INPUT_LINE_NMI, data);
+ m_maincpu->set_input_line(INPUT_LINE_NMI, data);
}
WRITE8_MEMBER(apple2gs_state::a2bus_inh_w)
{
- m_inh_slot = data;
- apple2_update_memory();
+ m_inh_slot = data;
+ apple2_update_memory();
}
static const struct a2bus_interface a2bus_intf =
{
- // interrupt lines
- DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_irq_w),
- DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_nmi_w),
- DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_inh_w)
+ // interrupt lines
+ DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_irq_w),
+ DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_nmi_w),
+ DEVCB_DRIVER_MEMBER(apple2gs_state,a2bus_inh_w)
};
static SLOT_INTERFACE_START(apple2_cards)
- SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */
- SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */
- SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */
- SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
- SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
- SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */
- SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */
- SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */
- SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */
- SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
- SLOT_INTERFACE("vulcan", A2BUS_VULCAN) /* AE Vulcan IDE card */
+ SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */
+ SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */
+ SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */
+ SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
+ SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
+ SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */
+ SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */
+ SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */
+ SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */
+ SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
+ SLOT_INTERFACE("vulcan", A2BUS_VULCAN) /* AE Vulcan IDE card */
// SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */ // appears not to be IIgs compatible?
// SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */
SLOT_INTERFACE_END
@@ -310,7 +310,7 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_SIZE(704, 262) // 640+32+32 for the borders
+ MCFG_SCREEN_SIZE(704, 262) // 640+32+32 for the borders
MCFG_SCREEN_VISIBLE_AREA(0,703,0,230)
MCFG_SCREEN_UPDATE_DRIVER(apple2gs_state, screen_update_apple2gs)
@@ -338,17 +338,17 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
#endif
/* slot devices */
- MCFG_A2BUS_BUS_ADD("a2bus", "maincpu", a2bus_intf)
- MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl0", A2BUS_LANG, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl1", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl2", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl3", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl4", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl5", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl6", apple2_cards, NULL, NULL)
- MCFG_A2BUS_SLOT_ADD("a2bus", "sl7", apple2_cards, NULL, NULL)
-
- MCFG_IWM_ADD("fdc", apple2_fdc_interface)
+ MCFG_A2BUS_BUS_ADD("a2bus", "maincpu", a2bus_intf)
+ MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl0", A2BUS_LANG, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl1", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl2", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl3", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl4", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl5", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl6", apple2_cards, NULL, NULL)
+ MCFG_A2BUS_SLOT_ADD("a2bus", "sl7", apple2_cards, NULL, NULL)
+
+ MCFG_IWM_ADD("fdc", apple2_fdc_interface)
/* SCC */
MCFG_SCC8530_ADD("scc", APPLE2GS_14M/2, line_cb_t())
@@ -365,7 +365,7 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
MCFG_RAM_DEFAULT_VALUE(0x00)
MCFG_SOFTWARE_LIST_ADD("flop35_list","apple2gs")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("flop525_list", "apple2")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("flop525_list", "apple2")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( apple2gsr1, apple2gs )
@@ -376,7 +376,7 @@ static MACHINE_CONFIG_DERIVED( apple2gsr1, apple2gs )
MCFG_M50740_ADD(ADBMICRO_TAG, XTAL_3_579545MHz, adbmicro_intf)
#endif
- MCFG_RAM_MODIFY(RAM_TAG)
+ MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1280K") // 256K on board + 1M in the expansion slot was common for ROM 01
MCFG_RAM_EXTRA_OPTIONS("256K,512K,768K,1M,2M,3M,4M,5M,6M,7M,8M")
MCFG_RAM_DEFAULT_VALUE(0x00)
@@ -389,18 +389,18 @@ MACHINE_CONFIG_END
***************************************************************************/
ROM_START(apple2gs)
- // M50740/50741 ADB MCU inside the IIgs system unit
+ // M50740/50741 ADB MCU inside the IIgs system unit
ROM_REGION(0x1000,"m50741",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) )
+ // 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 */
@@ -409,16 +409,16 @@ ROM_START(apple2gs)
ROM_LOAD("341-0737", 0x0000, 0x20000, CRC(8d410067) SHA1(c0f4704233ead14cb8e1e8a68fbd7063c56afd27)) /* Needs verification; 341-0737: IIgs ROM03 FC-FD */
ROM_LOAD("341-0748", 0x20000, 0x20000, CRC(d4c50550) SHA1(2784cdd7ac7094b3e494409db3e72b4e6d2d9e81)) /* Needs verification; 341-0748: IIgs ROM03 FE-FF */
- ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
+ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
ROM_END
ROM_START(apple2gsr3p)
ROM_REGION(0x1000,"m50741",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(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 */
@@ -427,16 +427,16 @@ ROM_START(apple2gsr3p)
ROM_LOAD("341-0728", 0x0000, 0x20000, NO_DUMP) /* 341-0728: IIgs ROM03 prototype FC-FD */
ROM_LOAD("341-0729", 0x20000, 0x20000, NO_DUMP) /* 341-0729: IIgs ROM03 prototype FE-FF */
- ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
+ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
ROM_END
ROM_START(apple2gsr3lp)
ROM_REGION(0x1000,"m50741",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(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 */
@@ -445,16 +445,16 @@ ROM_START(apple2gsr3lp)
ROM_LOAD("341-0737", 0x0000, 0x20000, CRC(8d410067) SHA1(c0f4704233ead14cb8e1e8a68fbd7063c56afd27)) /* 341-0737: IIgs ROM03 FC-FD */
ROM_LOAD("341-0749", 0x20000, 0x20000, NO_DUMP) /* 341-0749: unknown ?post? ROM03 IIgs prototype? FE-FF */
- ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
+ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
ROM_END
ROM_START(apple2gsr1)
ROM_REGION(0xc00,"m50740",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(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 */
@@ -462,16 +462,16 @@ ROM_START(apple2gsr1)
ROM_REGION(0x20000,"maincpu",0)
ROM_LOAD("342-0077-b", 0x0000, 0x20000, CRC(42f124b0) SHA1(e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37)) /* 342-0077-B: IIgs ROM01 */
- ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
+ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
ROM_END
ROM_START(apple2gsr0)
ROM_REGION(0xc00,"m50740",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(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))
@@ -483,7 +483,7 @@ ROM_START(apple2gsr0)
ROM_LOAD("rom0c.bin", 0x10000, 0x8000, CRC(94c32caa) SHA1(4806d50d676b06f5213b181693fc1585956b98bb))
ROM_LOAD("rom0d.bin", 0x18000, 0x8000, CRC(200a15b8) SHA1(0c2890bb169ead63369738bbd5f33b869f24c42a))
- ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
+ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
@@ -492,4 +492,3 @@ COMP( 198?, apple2gsr3p, apple2gs, 0, apple2gs, apple2gs, driver_device, 0,
COMP( 1989, apple2gsr3lp, apple2gs, 0, apple2gs, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM03 late prototype?)", GAME_NOT_WORKING )
COMP( 1987, apple2gsr1, apple2gs, 0, apple2gsr1, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM01)", GAME_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0, apple2gs, 0, apple2gsr1, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM00)", GAME_SUPPORTS_SAVE )
-
diff --git a/src/mess/drivers/apricotp.c b/src/mess/drivers/apricotp.c
index 0839ad2fb88..daa33003395 100644
--- a/src/mess/drivers/apricotp.c
+++ b/src/mess/drivers/apricotp.c
@@ -416,7 +416,7 @@ static APRICOT_KEYBOARD_INTERFACE( kb_intf )
// pic8259_interface pic_intf
//-------------------------------------------------
- IRQ_CALLBACK_MEMBER(fp_state::fp_irq_callback)
+ IRQ_CALLBACK_MEMBER(fp_state::fp_irq_callback)
{
return m_pic->inta_r();
}
diff --git a/src/mess/drivers/aquarius.c b/src/mess/drivers/aquarius.c
index 793f83cf71e..d60ab73de2b 100644
--- a/src/mess/drivers/aquarius.c
+++ b/src/mess/drivers/aquarius.c
@@ -5,7 +5,7 @@
TODO:
- - slot interface for cartridges
+ - slot interface for cartridges
- hand controllers
- scramble RAM also
- CAQ tape support
diff --git a/src/mess/drivers/b16.c b/src/mess/drivers/b16.c
index 66994ac89bb..c6e5f64e87e 100644
--- a/src/mess/drivers/b16.c
+++ b/src/mess/drivers/b16.c
@@ -250,7 +250,7 @@ void b16_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/binbug.c b/src/mess/drivers/binbug.c
index 8cfc8147a82..e6f6b051b2d 100644
--- a/src/mess/drivers/binbug.c
+++ b/src/mess/drivers/binbug.c
@@ -355,7 +355,7 @@ Port 8 controls some kind of memory protection scheme.
The code indicates that B is the page to protect, and
A is the code (0x08 = inhibit; 0x0B = unprotect;
0x0C = enable; 0x0E = protect). There are 256 pages so
-each page is 256 bytes.
+each page is 256 bytes.
To turn the clock on (if it was working), put a non-zero
into D80D.
diff --git a/src/mess/drivers/bml3.c b/src/mess/drivers/bml3.c
index e821b71f434..995247e0e85 100644
--- a/src/mess/drivers/bml3.c
+++ b/src/mess/drivers/bml3.c
@@ -568,7 +568,7 @@ INPUT_PORTS_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c
index ffc7d954564..4a63515e07e 100644
--- a/src/mess/drivers/c128.c
+++ b/src/mess/drivers/c128.c
@@ -1014,7 +1014,7 @@ READ8_MEMBER( c128_state::cia1_pa_r )
// keyboard
UINT8 cia1_pb = m_cia1->pb_r();
UINT8 row[8] = { m_row0->read(), m_row1->read() & m_lock->read(), m_row2->read(), m_row3->read(),
- m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
+ m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
for (int i = 0; i < 8; i++)
{
@@ -1055,7 +1055,7 @@ READ8_MEMBER( c128_state::cia1_pb_r )
// joystick
UINT8 joy_a = m_joy1->joy_r();
-
+
data &= (0xf0 | (joy_a & 0x0f));
data &= ~(!BIT(joy_a, 5) << 4);
diff --git a/src/mess/drivers/c64.c b/src/mess/drivers/c64.c
index 14345119482..225624f60c4 100644
--- a/src/mess/drivers/c64.c
+++ b/src/mess/drivers/c64.c
@@ -608,7 +608,7 @@ READ8_MEMBER( c64_state::cia1_pa_r )
// keyboard
UINT8 cia1_pb = m_cia1->pb_r();
UINT8 row[8] = { m_row0->read(), m_row1->read() & m_lock->read(), m_row2->read(), m_row3->read(),
- m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
+ m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
for (int i = 0; i < 8; i++)
{
@@ -649,7 +649,7 @@ READ8_MEMBER( c64_state::cia1_pb_r )
// joystick
UINT8 joy_a = m_joy1->joy_r();
-
+
data &= (0xf0 | (joy_a & 0x0f));
data &= ~(!BIT(joy_a, 5) << 4);
@@ -711,9 +711,9 @@ READ8_MEMBER( c64gs_state::cia1_pa_r )
PA2 JOY B2
PA3 JOY B3
PA4 BTNB
- PA5
- PA6
- PA7
+ PA5
+ PA6
+ PA7
*/
@@ -749,7 +749,7 @@ READ8_MEMBER( c64gs_state::cia1_pb_r )
// joystick
UINT8 joy_a = m_joy1->joy_r();
-
+
data &= (0xf0 | (joy_a & 0x0f));
data &= ~(!BIT(joy_a, 5) << 4);
diff --git a/src/mess/drivers/cat.c b/src/mess/drivers/cat.c
index 2a864522af0..536148d46c7 100644
--- a/src/mess/drivers/cat.c
+++ b/src/mess/drivers/cat.c
@@ -66,9 +66,9 @@ In MESS, to activate it as above:
* simultaneously press both alt keys for a moment and release both (the whole "Enable Forth Language" line will be selected)
* press control(use front) and press backspace(ERASE) (If beeping actually worked the cat would beep here)
* press control(use front), shift, and space (the cursor should stop blinking)
-* press enter and the forth "ok" prompt should appear. you can type 'page' and enter to clear the screen
+* press enter and the forth "ok" prompt should appear. you can type 'page' and enter to clear the screen
Optional further steps:
-* type without quotes "-1 wheel! savesetup re" at the forth prompt to permanently
+* type without quotes "-1 wheel! savesetup re" at the forth prompt to permanently
enable shift + use front + space to dump to forth mode easily
* change the keyboard setting in the setup menu (use front + [ ) to ASCII so you can type < and >
* after doing the -1 wheel! thing, you can compile a selected forth program in the editor
@@ -177,13 +177,13 @@ ToDo:
- (would-be-really-nice-but-totally-unnecessary feature): due to open bus, the
svrom1 and svrom2 checksums in diagnostics read as 01A80000 and 01020000
respectively on a real machine (and hence appear inverted/'fail'-state).
- This requires sub-cycle accurate 68k open bus emulation to pull off, as well
+ This requires sub-cycle accurate 68k open bus emulation to pull off, as well
as emulating the fact that UDS/LDS are ?not connected? (unclear because this
happens inside an asic) for the SVROMS (or the svram or the code roms, for
that matter!)
- Hook Battery Low input to a dipswitch.
- Document what every IPx and OPx bit on the DUART connects to.
-
+
* Swyft
- Figure out the keyboard (interrupts are involved? or maybe an NMI on a
@@ -307,7 +307,7 @@ public:
this causes the DUART to fire an interrupt, which makes the 68000 read
the keyboard.
*/
- UINT16 m_6ms_counter;
+ UINT16 m_6ms_counter;
UINT8 m_video_enable;
UINT8 m_video_invert;
UINT16 m_pr_cont;
@@ -323,18 +323,18 @@ public:
/*
DRIVER_INIT_MEMBER( cat_state,cat )
{
- UINT8 *svrom = machine().root_device().memregion("svrom")->base();
- int i;
- // fill svrom with the correct 2e80 pattern except where svrom1 sits
- // first half
- for (i = 0; i < 0x20000; i+=2)
- svrom[i] = 0x2E;
- // second half
- for (i = 0x20000; i < 0x40000; i+=2)
- {
- svrom[i] = 0x2E;
- svrom[i+1] = 0x80;
- }
+ UINT8 *svrom = machine().root_device().memregion("svrom")->base();
+ int i;
+ // fill svrom with the correct 2e80 pattern except where svrom1 sits
+ // first half
+ for (i = 0; i < 0x20000; i+=2)
+ svrom[i] = 0x2E;
+ // second half
+ for (i = 0x20000; i < 0x40000; i+=2)
+ {
+ svrom[i] = 0x2E;
+ svrom[i+1] = 0x80;
+ }
}*/
/* 0x600000-0x65ffff Write: Video Generator (AKA NH4-5001 AKA Gate Array #1 @ IC30)
@@ -607,7 +607,7 @@ a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
0 0 1 x x 1 * * * * * * * * * * * * * * * * * 1 R SVROM 1 ic8 (not present on cat as sold, open bus reads as 0x80) [controlled via GA2 /SVCS1] *SEE BELOW*
*NOTE: on Dwight E's user-made developer unit, two 128K SRAMS are mapped in place of the two entries immediately above!* (this involves some creative wiring+sockets); the official IAI 'shadow ram board' maps the ram to the A00000-A3FFFF area instead)
0 1 * * * * * * * * * * * * * * * * * * * * * * *BOTH GATE ARRAYS 1 and 2 DECODE THIS AREA; 2 DEALS WITH ADDR AND 1 WITH DATA/CAS/RAS*
-0 1 0 x x a b * * * * * * * * * * * * * * * * * RW VIDEO/SYSTEM DRAM (ab: 00=row 0, ic26-29; 01=row 1, ic22-25; 10=row 2; ic18-21; 11=row 3; ic14-17)
+0 1 0 x x a b * * * * * * * * * * * * * * * * * RW VIDEO/SYSTEM DRAM (ab: 00=row 0, ic26-29; 01=row 1, ic22-25; 10=row 2; ic18-21; 11=row 3; ic14-17)
*NOTE: DRAM rows 2 and 3 above are only usually populated in cat developer units!*
0 1 1 ? ? * * * ? ? ? ? ? ? ? * * * * * * * * x W VIDEO CONTRL REGISTERS (reads as 0x2e80)
1 x x x x x x x x x x x x x x x x x x * * * * * *GATE ARRAY 3 DECODES THIS AREA, GA3 IS ENABLED BY /IOCS1 FROM GA2*
@@ -626,7 +626,7 @@ a23 a22 a21 a20 a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
1 0 0 x x 0 1 0 x x x x x x x x x x * * * * * 0 RW {'modem'} Modem Chip AMI S35213 @ IC37 DATA BIT 7 ONLY [controlled via GA2 /SMCS]
1 0 0 x x 0 1 1 x x x x x x x x x x x x x x x * R {'timer'} Read: Fixed 16-bit counter from ga2. increments every 6.5535ms when another 16-bit counter clocked at 10mhz overflows
1 0 0 x x 1 0 0 x x x x x x x x x x x x x x x * W {'opr'} Output Port (Video/Sync enable and watchdog reset?) register (screen enable on bit 3?) (reads as 0x2e80)
-1 0 0 x x 1 0 1 x x x x x x x x x x x x x x x * R {'wdt'} Watchdog timer reads as 0x0100 0x0101 or 0x0102, some sort of test register or video status register?
+1 0 0 x x 1 0 1 x x x x x x x x x x x x x x x * R {'wdt'} Watchdog timer reads as 0x0100 0x0101 or 0x0102, some sort of test register or video status register?
1 0 0 x x 1 1 0 x x x x x x x x x x x x x x x * R?W {'tcb'} test control bits: powerfail status in bit <?> (reads as 0x0000)
1 0 0 x x 1 1 1 x x x x x x x x x x x x x x x * ? Unknown (reads as 0x2e80)
@@ -1010,12 +1010,12 @@ ROM_START( cat )
* populated, as opposed to 256k-standard (2 rows) and 512k-max with all
* 4 rows populated on a "released" cat.
*/
- ROM_SYSTEM_BIOS( 0, "r240", "Canon Cat V2.40 US Firmware")
+ ROM_SYSTEM_BIOS( 0, "r240", "Canon Cat V2.40 US Firmware")
ROMX_LOAD( "boultl0.ic2", 0x00001, 0x10000, CRC(77b66208) SHA1(9D718C0A521FEFE4F86EF328805B7921BADE9D89), ROM_SKIP(1) | ROM_BIOS(1))
ROMX_LOAD( "boulth0.ic4", 0x00000, 0x10000, CRC(f1e1361a) SHA1(0A85385527E2CC55790DE9F9919EB44AC32D7F62), ROM_SKIP(1) | ROM_BIOS(1))
ROMX_LOAD( "boultl1.ic3", 0x20001, 0x10000, CRC(c61dafb0) SHA1(93216c26c2d5fc71412acc548c96046a996ea668), ROM_SKIP(1) | ROM_BIOS(1))
ROMX_LOAD( "boulth1.ic5", 0x20000, 0x10000, CRC(bed1f761) SHA1(D177E1D3A39B005DD94A6BDA186221D597129AF4), ROM_SKIP(1) | ROM_BIOS(1))
- /* This 2.40 code was compiled by Dwight Elvey based on the v2.40 source
+ /* This 2.40 code was compiled by Dwight Elvey based on the v2.40 source
* code disks recovered around 2004. It does NOT exactly match the above
* set exactly but has a few small differences.
* It is as of yet unknown whether it is earlier or later code than the
diff --git a/src/mess/drivers/cbm2.c b/src/mess/drivers/cbm2.c
index 227f839cc7e..676d17b85b3 100644
--- a/src/mess/drivers/cbm2.c
+++ b/src/mess/drivers/cbm2.c
@@ -2732,20 +2732,20 @@ ROM_END
// SYSTEM DRIVERS
//**************************************************************************
-// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
-COMP( 1983, p500, 0, 0, p500_ntsc, cbm2, driver_device, 0, "Commodore Business Machines", "P500 (NTSC)", GAME_SUPPORTS_SAVE )
-COMP( 1983, p500p, p500, 0, p500_pal, cbm2, driver_device, 0, "Commodore Business Machines", "P500 (PAL)", GAME_SUPPORTS_SAVE )
-COMP( 1983, b500, 0, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B500", GAME_SUPPORTS_SAVE )
-COMP( 1983, b128, b500, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B128", GAME_SUPPORTS_SAVE )
-COMP( 1983, b256, b500, 0, b256, cbm2, driver_device, 0, "Commodore Business Machines", "B256", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm610, b500, 0, cbm610, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 610", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm620, b500, 0, cbm620, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 620", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm620_hu, b500, 0, cbm620, cbm2_hu, driver_device, 0, "Commodore Business Machines", "CBM 620 (Hungary)", GAME_SUPPORTS_SAVE )
-COMP( 1983, b128hp, 0, 0, b128hp, cbm2, driver_device, 0, "Commodore Business Machines", "B128-80HP", GAME_SUPPORTS_SAVE )
-COMP( 1983, b256hp, b128hp, 0, b256hp, cbm2, driver_device, 0, "Commodore Business Machines", "B256-80HP", GAME_SUPPORTS_SAVE )
-COMP( 1983, bx256hp, b128hp, 0, bx256hp, cbm2, driver_device, 0, "Commodore Business Machines", "BX256-80HP", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 8088 co-processor is missing
-COMP( 1983, cbm710, b128hp, 0, cbm710, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 710", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm720, b128hp, 0, cbm720, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 720", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm720_de, b128hp, 0, cbm720, cbm2_de, driver_device, 0, "Commodore Business Machines", "CBM 720 (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm720_se, b128hp, 0, cbm720, cbm2_se, driver_device, 0, "Commodore Business Machines", "CBM 720 (Sweden/Finland)", GAME_SUPPORTS_SAVE )
-COMP( 1983, cbm730, b128hp, 0, cbm730, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 730", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 8088 co-processor is missing
+// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
+COMP( 1983, p500, 0, 0, p500_ntsc, cbm2, driver_device, 0, "Commodore Business Machines", "P500 (NTSC)", GAME_SUPPORTS_SAVE )
+COMP( 1983, p500p, p500, 0, p500_pal, cbm2, driver_device, 0, "Commodore Business Machines", "P500 (PAL)", GAME_SUPPORTS_SAVE )
+COMP( 1983, b500, 0, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B500", GAME_SUPPORTS_SAVE )
+COMP( 1983, b128, b500, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B128", GAME_SUPPORTS_SAVE )
+COMP( 1983, b256, b500, 0, b256, cbm2, driver_device, 0, "Commodore Business Machines", "B256", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm610, b500, 0, cbm610, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 610", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm620, b500, 0, cbm620, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 620", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm620_hu, b500, 0, cbm620, cbm2_hu, driver_device, 0, "Commodore Business Machines", "CBM 620 (Hungary)", GAME_SUPPORTS_SAVE )
+COMP( 1983, b128hp, 0, 0, b128hp, cbm2, driver_device, 0, "Commodore Business Machines", "B128-80HP", GAME_SUPPORTS_SAVE )
+COMP( 1983, b256hp, b128hp, 0, b256hp, cbm2, driver_device, 0, "Commodore Business Machines", "B256-80HP", GAME_SUPPORTS_SAVE )
+COMP( 1983, bx256hp, b128hp, 0, bx256hp, cbm2, driver_device, 0, "Commodore Business Machines", "BX256-80HP", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 8088 co-processor is missing
+COMP( 1983, cbm710, b128hp, 0, cbm710, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 710", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm720, b128hp, 0, cbm720, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 720", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm720_de, b128hp, 0, cbm720, cbm2_de, driver_device, 0, "Commodore Business Machines", "CBM 720 (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm720_se, b128hp, 0, cbm720, cbm2_se, driver_device, 0, "Commodore Business Machines", "CBM 720 (Sweden/Finland)", GAME_SUPPORTS_SAVE )
+COMP( 1983, cbm730, b128hp, 0, cbm730, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 730", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 8088 co-processor is missing
diff --git a/src/mess/drivers/clcd.c b/src/mess/drivers/clcd.c
index 1bbf5101d44..0e7af199fc1 100644
--- a/src/mess/drivers/clcd.c
+++ b/src/mess/drivers/clcd.c
@@ -81,7 +81,7 @@ public:
{
case 0:
return m_col0->read();
-
+
case 1:
return m_col1->read();
diff --git a/src/mess/drivers/esq1.c b/src/mess/drivers/esq1.c
index 463fdb543a7..30910cb3b55 100644
--- a/src/mess/drivers/esq1.c
+++ b/src/mess/drivers/esq1.c
@@ -231,7 +231,7 @@ static ADDRESS_MAP_START( esq1_map, AS_PROGRAM, 8, esq1_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM // OSRAM
AM_RANGE(0x4000, 0x5fff) AM_RAM // SEQRAM
AM_RANGE(0x6000, 0x63ff) AM_DEVREADWRITE("es5503", es5503_device, read, write)
- AM_RANGE(0x6400, 0x640f) AM_DEVREADWRITE("duart", duartn68681_device, read, write)
+ AM_RANGE(0x6400, 0x640f) AM_DEVREADWRITE("duart", duartn68681_device, read, write)
AM_RANGE(0x6800, 0x68ff) AM_NOP
AM_RANGE(0x7000, 0x7fff) AM_ROMBANK("osbank")
@@ -323,7 +323,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiin_intf =
{
- DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
+ DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
};
static SLOT_INTERFACE_START(midiout_slot)
@@ -332,7 +332,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
static const duartn68681_config duart_config =
diff --git a/src/mess/drivers/esq5505.c b/src/mess/drivers/esq5505.c
index e108be87323..4fae3c4a6de 100644
--- a/src/mess/drivers/esq5505.c
+++ b/src/mess/drivers/esq5505.c
@@ -192,29 +192,29 @@ static SLOT_INTERFACE_START( ensoniq_floppies )
SLOT_INTERFACE_END
static int maincpu_irq_acknowledge_callback(device_t *device, int irqnum) {
- // We immediately update the interrupt presented to the CPU, so that it doesn't
- // end up retrying the same interrupt over and over. We then return the appropriate vector.
- esq5505_state *esq5505 = device->machine().driver_data<esq5505_state>();
- int vector = 0;
- switch(irqnum) {
- case 1:
- esq5505->otis_irq_state = 0;
- vector = M68K_INT_ACK_AUTOVECTOR;
- break;
- case 2:
- esq5505->dmac_irq_state = 0;
- vector = esq5505->dmac_irq_vector;
- break;
- case 3:
- esq5505->duart_irq_state = 0;
- vector = esq5505->duart_irq_vector;
- break;
- default:
- printf("\nUnexpected IRQ ACK Callback: IRQ %d\n", irqnum);
- return 0;
- }
- esq5505->update_irq_to_maincpu();
- return vector;
+ // We immediately update the interrupt presented to the CPU, so that it doesn't
+ // end up retrying the same interrupt over and over. We then return the appropriate vector.
+ esq5505_state *esq5505 = device->machine().driver_data<esq5505_state>();
+ int vector = 0;
+ switch(irqnum) {
+ case 1:
+ esq5505->otis_irq_state = 0;
+ vector = M68K_INT_ACK_AUTOVECTOR;
+ break;
+ case 2:
+ esq5505->dmac_irq_state = 0;
+ vector = esq5505->dmac_irq_vector;
+ break;
+ case 3:
+ esq5505->duart_irq_state = 0;
+ vector = esq5505->duart_irq_vector;
+ break;
+ default:
+ printf("\nUnexpected IRQ ACK Callback: IRQ %d\n", irqnum);
+ return 0;
+ }
+ esq5505->update_irq_to_maincpu();
+ return vector;
}
void esq5505_state::machine_reset()
@@ -225,24 +225,24 @@ void esq5505_state::machine_reset()
}
void esq5505_state::update_irq_to_maincpu() {
- //printf("\nupdating IRQ state: have OTIS=%d, DMAC=%d, DUART=%d\n", otis_irq_state, dmac_irq_state, duart_irq_state);
- if (duart_irq_state) {
- m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
- m_maincpu->set_input_line_and_vector(M68K_IRQ_3, ASSERT_LINE, duart_irq_vector);
- } else if (dmac_irq_state) {
- m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
- m_maincpu->set_input_line_and_vector(M68K_IRQ_2, ASSERT_LINE, dmac_irq_vector);
- } else if (otis_irq_state) {
- m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_1, ASSERT_LINE);
- } else {
- m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
- m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
- }
+ //printf("\nupdating IRQ state: have OTIS=%d, DMAC=%d, DUART=%d\n", otis_irq_state, dmac_irq_state, duart_irq_state);
+ if (duart_irq_state) {
+ m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
+ m_maincpu->set_input_line_and_vector(M68K_IRQ_3, ASSERT_LINE, duart_irq_vector);
+ } else if (dmac_irq_state) {
+ m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
+ m_maincpu->set_input_line_and_vector(M68K_IRQ_2, ASSERT_LINE, dmac_irq_vector);
+ } else if (otis_irq_state) {
+ m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1, ASSERT_LINE);
+ } else {
+ m_maincpu->set_input_line(M68K_IRQ_3, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
+ }
}
READ16_MEMBER(esq5505_state::lower_r)
@@ -252,17 +252,17 @@ READ16_MEMBER(esq5505_state::lower_r)
// get pointers when 68k resets
if (!m_rom)
{
- m_rom = (UINT16 *)(void *)machine().root_device().memregion("osrom")->base();
- m_ram = (UINT16 *)(void *)machine().root_device().memshare("osram")->ptr();
+ m_rom = (UINT16 *)(void *)machine().root_device().memregion("osrom")->base();
+ m_ram = (UINT16 *)(void *)machine().root_device().memshare("osram")->ptr();
}
- if (m68k_get_fc(m_maincpu) == 0x6) // supervisor mode = ROM
+ if (m68k_get_fc(m_maincpu) == 0x6) // supervisor mode = ROM
{
- return m_rom[offset];
+ return m_rom[offset];
}
else
{
- return m_ram[offset];
+ return m_ram[offset];
}
}
@@ -360,10 +360,10 @@ static UINT16 esq5505_read_adc(device_t *device)
return 0x7fff;
case 2: // volume control
- return 0xffff;
+ return 0xffff;
case 3: // pedal
- return 0xffff;
+ return 0xffff;
case 5: // mod wheel
return 0xffff;
@@ -390,7 +390,7 @@ WRITE_LINE_MEMBER(esq5505_state::duart_irq_handler)
}
else
{
- duart_irq_state = 0;
+ duart_irq_state = 0;
}
update_irq_to_maincpu();
};
@@ -446,20 +446,20 @@ WRITE8_MEMBER(esq5505_state::duart_output)
bit 7 = SACK (?)
*/
- if (data & 0x40) {
- if (!m_esp->input_state(es5510_device::ES5510_HALT)) {
+ if (data & 0x40) {
+ if (!m_esp->input_state(es5510_device::ES5510_HALT)) {
logerror("ESQ5505: Asserting ESPHALT\n");
m_esp->set_input_line(es5510_device::ES5510_HALT, ASSERT_LINE);
- }
- } else {
- if (m_esp->input_state(es5510_device::ES5510_HALT)) {
+ }
+ } else {
+ if (m_esp->input_state(es5510_device::ES5510_HALT)) {
logerror("ESQ5505: Clearing ESPHALT\n");
m_esp->set_input_line(es5510_device::ES5510_HALT, CLEAR_LINE);
- }
- }
+ }
+ }
- if (floppy)
- {
+ if (floppy)
+ {
if (m_system_type == EPS)
{
floppy->ss_w((data & 2)>>1);
@@ -566,13 +566,13 @@ INPUT_CHANGED_MEMBER(esq5505_state::key_stroke)
shift += 32;
printf("New shift %d\n", shift);
}
- else if (val == 0x02)
+ else if (val == 0x02)
{
- printf("Analog tests!\n");
- m_panel->xmit_char(54 | 0x80); m_panel->xmit_char(0); // Preset down
- m_panel->xmit_char(8 | 0x80); m_panel->xmit_char(0); // Compare down
- m_panel->xmit_char(8); m_panel->xmit_char(0); // Compare up
- m_panel->xmit_char(54); m_panel->xmit_char(0); // Preset up
+ printf("Analog tests!\n");
+ m_panel->xmit_char(54 | 0x80); m_panel->xmit_char(0); // Preset down
+ m_panel->xmit_char(8 | 0x80); m_panel->xmit_char(0); // Compare down
+ m_panel->xmit_char(8); m_panel->xmit_char(0); // Compare up
+ m_panel->xmit_char(54); m_panel->xmit_char(0); // Preset up
}
}
}
@@ -611,7 +611,7 @@ static const es5505_interface es5505_config =
"waverom", /* Bank 0 */
"waverom2", /* Bank 1 */
esq5505_otis_irq, /* irq */
- esq5505_read_adc
+ esq5505_read_adc
};
static const esqpanel_interface esqpanel_config =
@@ -625,7 +625,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiin_intf =
{
- DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
+ DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
};
static SLOT_INTERFACE_START(midiout_slot)
@@ -634,7 +634,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
static MACHINE_CONFIG_START( vfx, esq5505_state )
diff --git a/src/mess/drivers/esqkt.c b/src/mess/drivers/esqkt.c
index 9d0d8859672..52a4a73b58b 100644
--- a/src/mess/drivers/esqkt.c
+++ b/src/mess/drivers/esqkt.c
@@ -435,7 +435,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiin_intf =
{
- DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
+ DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w) // route MIDI Tx send directly to 68681 channel A Rx
};
static SLOT_INTERFACE_START(midiout_slot)
@@ -444,7 +444,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
static MACHINE_CONFIG_START( kt, esqkt_state )
diff --git a/src/mess/drivers/fp1100.c b/src/mess/drivers/fp1100.c
index f0e36eadf08..c2fd8ab888b 100644
--- a/src/mess/drivers/fp1100.c
+++ b/src/mess/drivers/fp1100.c
@@ -385,7 +385,7 @@ static const UPD7810_CONFIG fp1100_slave_cpu_config = { TYPE_7801, NULL };
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
fp1100_update_row, /* row update callback */
diff --git a/src/mess/drivers/fp6000.c b/src/mess/drivers/fp6000.c
index 2276d356177..ee8d4f30774 100644
--- a/src/mess/drivers/fp6000.c
+++ b/src/mess/drivers/fp6000.c
@@ -283,7 +283,7 @@ void fp6000_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/gb.c b/src/mess/drivers/gb.c
index d894ad8cd6c..5c34ebbf8e9 100644
--- a/src/mess/drivers/gb.c
+++ b/src/mess/drivers/gb.c
@@ -618,7 +618,7 @@ static ADDRESS_MAP_START(megaduck_map, AS_PROGRAM, 8, megaduck_state )
AM_RANGE(0x0000, 0x7fff) AM_READWRITE(cart_r, bank1_w)
AM_RANGE(0x8000, 0x9fff) AM_READWRITE(gb_vram_r, gb_vram_w ) /* 8k VRAM */
AM_RANGE(0xa000, 0xafff) AM_NOP /* unused? */
- AM_RANGE(0xb000, 0xb000) AM_WRITE(bank2_w)
+ AM_RANGE(0xb000, 0xb000) AM_WRITE(bank2_w)
AM_RANGE(0xb001, 0xbfff) AM_NOP /* unused? */
AM_RANGE(0xc000, 0xfe9f) AM_RAM /* 8k low RAM, echo RAM */
AM_RANGE(0xfe00, 0xfeff) AM_READWRITE(gb_oam_r, gb_oam_w ) /* OAM RAM */
diff --git a/src/mess/drivers/gba.c b/src/mess/drivers/gba.c
index 36581fc0297..d1ed29eef90 100644
--- a/src/mess/drivers/gba.c
+++ b/src/mess/drivers/gba.c
@@ -1325,7 +1325,7 @@ WRITE32_MEMBER(gba_state::gba_io_w)
}
if( (mem_mask) & 0x00ff0000 )
{
- gb_sound_w(m_gbsound, space, 1, data>>16); // SOUND1CNT_H
+ gb_sound_w(m_gbsound, space, 1, data>>16); // SOUND1CNT_H
}
if( (mem_mask) & 0xff000000 )
{
@@ -1339,7 +1339,7 @@ WRITE32_MEMBER(gba_state::gba_io_w)
}
if( (mem_mask) & 0x0000ff00 )
{
- gb_sound_w(m_gbsound, space, 4, data>>8); // SOUND1CNT_H
+ gb_sound_w(m_gbsound, space, 4, data>>8); // SOUND1CNT_H
}
break;
case 0x0068/4:
@@ -1369,7 +1369,7 @@ WRITE32_MEMBER(gba_state::gba_io_w)
}
if( (mem_mask) & 0x00ff0000 )
{
- gb_sound_w(m_gbsound, space, 0xb, data>>16); // SOUND1CNT_H
+ gb_sound_w(m_gbsound, space, 0xb, data>>16); // SOUND1CNT_H
}
if( (mem_mask) & 0xff000000 )
{
diff --git a/src/mess/drivers/m20.c b/src/mess/drivers/m20.c
index 78b4ac2a31b..7d6b81f7045 100644
--- a/src/mess/drivers/m20.c
+++ b/src/mess/drivers/m20.c
@@ -836,7 +836,7 @@ void m20_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/mac.c b/src/mess/drivers/mac.c
index 3f1d986a491..7c6d0fa1663 100644
--- a/src/mess/drivers/mac.c
+++ b/src/mess/drivers/mac.c
@@ -39,7 +39,7 @@
'g 6802c73c' to get to the interesting part (wait past the boot chime). PPC register r24 is the 68000 PC.
when the PC hits GetCPUID, the move.l (a2), d0 at PC = 0x10000 will cause an MMU fault (jump to 0xFFF00300). why?
a2 = 0x5ffffffc (the CPU ID register). MMU is unable to resolve this; defect in the MMU emulation probable.
-
+
****************************************************************************/
diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c
index f6c58d87705..ca9a6a5a609 100644
--- a/src/mess/drivers/megadriv.c
+++ b/src/mess/drivers/megadriv.c
@@ -297,7 +297,7 @@ static MACHINE_RESET( ms_megadriv )
static SLOT_INTERFACE_START(md_cart)
SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
SLOT_INTERFACE_INTERNAL("rom_svp", MD_STD_ROM)
-// SLOT_INTERFACE_INTERNAL("rom_svp", MD_ROM_SVP) // not ready yet...
+// SLOT_INTERFACE_INTERNAL("rom_svp", MD_ROM_SVP) // not ready yet...
SLOT_INTERFACE_INTERNAL("rom_sk", MD_ROM_SK)
// NVRAM handling
SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM)
@@ -468,7 +468,7 @@ DEVICE_IMAGE_LOAD_MEMBER( md_base_state, _32x_cart )
UINT16 *ROM16;
UINT32 *ROM32;
int i;
-
+
if (image.software_entry() == NULL)
{
length = image.length();
@@ -481,23 +481,23 @@ DEVICE_IMAGE_LOAD_MEMBER( md_base_state, _32x_cart )
temp_copy = auto_alloc_array(image.device().machine(), UINT8, length);
memcpy(temp_copy, image.get_software_region("rom"), length);
}
-
+
/* Copy the cart image in the locations the driver expects */
// Notice that, by using pick_integer, we are sure the code works on both LE and BE machines
ROM16 = (UINT16 *) image.device().machine().root_device().memregion("gamecart")->base();
for (i = 0; i < length; i += 2)
ROM16[i / 2] = pick_integer_be(temp_copy, i, 2);
-
+
ROM32 = (UINT32 *) image.device().machine().root_device().memregion("gamecart_sh2")->base();
for (i = 0; i < length; i += 4)
ROM32[i / 4] = pick_integer_be(temp_copy, i, 4);
-
+
ROM16 = (UINT16 *) image.device().machine().root_device().memregion("maincpu")->base();
for (i = 0x00; i < length; i += 2)
ROM16[i / 2] = pick_integer_be(temp_copy, i, 2);
-
+
auto_free(image.device().machine(), temp_copy);
-
+
return IMAGE_INIT_PASS;
}
diff --git a/src/mess/drivers/microvsn.c b/src/mess/drivers/microvsn.c
index 0d6153471a9..97d1fd7f4e8 100644
--- a/src/mess/drivers/microvsn.c
+++ b/src/mess/drivers/microvsn.c
@@ -80,8 +80,8 @@ public:
};
cpu_type m_cpu_type;
- pcb_type m_pcb_type;
- rc_type m_rc_type;
+ pcb_type m_pcb_type;
+ rc_type m_rc_type;
protected:
required_device<dac_device> m_dac;
@@ -191,7 +191,7 @@ MACHINE_RESET_MEMBER(microvision_state, microvision)
break;
case RC_TYPE_100PF_23_2K:
- case RC_TYPE_UNKNOWN: // Default to most occuring setting
+ case RC_TYPE_UNKNOWN: // Default to most occuring setting
static_set_clock( m_tms1100, 500000 );
break;
diff --git a/src/mess/drivers/multi16.c b/src/mess/drivers/multi16.c
index b885ea526c5..30871f718e7 100644
--- a/src/mess/drivers/multi16.c
+++ b/src/mess/drivers/multi16.c
@@ -149,7 +149,7 @@ void multi16_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/multi8.c b/src/mess/drivers/multi8.c
index d8cfdc26d85..4413bb516c4 100644
--- a/src/mess/drivers/multi8.c
+++ b/src/mess/drivers/multi8.c
@@ -560,7 +560,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c
index d205b6c5c56..97d9ca79f57 100644
--- a/src/mess/drivers/myb3k.c
+++ b/src/mess/drivers/myb3k.c
@@ -233,7 +233,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/mycom.c b/src/mess/drivers/mycom.c
index 35deaaa1751..e369801f282 100644
--- a/src/mess/drivers/mycom.c
+++ b/src/mess/drivers/mycom.c
@@ -333,17 +333,17 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
- "screen", /* screen we are acting on */
- false, /* show border area */
- 8, /* number of pixels per video memory address */
- NULL, /* before pixel update callback */
- mycom_update_row, /* row update callback */
- NULL, /* after pixel update callback */
- DEVCB_NULL, /* callback for display state changes */
- DEVCB_NULL, /* callback for cursor state changes */
- DEVCB_NULL, /* HSYNC callback */
- DEVCB_NULL, /* VSYNC callback */
- NULL /* update address callback */
+ "screen", /* screen we are acting on */
+ false, /* show border area */
+ 8, /* number of pixels per video memory address */
+ NULL, /* before pixel update callback */
+ mycom_update_row, /* row update callback */
+ NULL, /* after pixel update callback */
+ DEVCB_NULL, /* callback for display state changes */
+ DEVCB_NULL, /* callback for cursor state changes */
+ DEVCB_NULL, /* HSYNC callback */
+ DEVCB_NULL, /* VSYNC callback */
+ NULL /* update address callback */
};
WRITE8_MEMBER( mycom_state::mycom_04_w )
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index f244ae2c80d..ecd44b20af2 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -1849,8 +1849,8 @@ static GFXDECODE_START( mz2500 )
GFXDECODE_ENTRY("kanji", 0, mz2500_cg_layout, 0, 256)
GFXDECODE_ENTRY("kanji", 0x4400, mz2500_8_layout, 0, 256)
GFXDECODE_ENTRY("kanji", 0, mz2500_16_layout, 0, 256)
-// GFXDECODE_ENTRY("pcg", 0, mz2500_pcg_layout_1bpp, 0, 0x10)
-// GFXDECODE_ENTRY("pcg", 0, mz2500_pcg_layout_3bpp, 0, 4)
+// GFXDECODE_ENTRY("pcg", 0, mz2500_pcg_layout_1bpp, 0, 0x10)
+// GFXDECODE_ENTRY("pcg", 0, mz2500_pcg_layout_3bpp, 0, 4)
GFXDECODE_END
INTERRUPT_GEN_MEMBER(mz2500_state::mz2500_vbl)
diff --git a/src/mess/drivers/odyssey2.c b/src/mess/drivers/odyssey2.c
index ed0a0f82d9b..08e4578a032 100644
--- a/src/mess/drivers/odyssey2.c
+++ b/src/mess/drivers/odyssey2.c
@@ -96,7 +96,7 @@ protected:
required_ioport m_key5;
required_ioport m_joy0;
required_ioport m_joy1;
-
+
void switch_banks();
};
@@ -104,7 +104,7 @@ class g7400_state : public odyssey2_state
{
public:
g7400_state(const machine_config &mconfig, device_type type, const char *tag)
- : odyssey2_state(mconfig, type, tag)
+ : odyssey2_state(mconfig, type, tag)
, m_i8243(*this, "i8243")
, m_ef9340_1(*this, "ef9340_1")
{ }
@@ -246,7 +246,7 @@ const UINT8 odyssey2_colors[] =
/* Background,Grid Dim */
0x00,0x00,0x00, /* Black */ // i r g b
0x13,0x35,0xA5, /* Blue - Calibrated To Real VideoPac */ // i r g B
- 0x02,0x70,0x02, /* Green - Calibrated To Real VideoPac */ // i r G b
+ 0x02,0x70,0x02, /* Green - Calibrated To Real VideoPac */ // i r G b
0x38,0x85,0x8C, /* Blue-Green - Calibrated To Real VideoPac */ // i r G B
0x91,0x00,0x00, /* Dk Red - Calibrated To Real VideoPac */ // i R g b
0x86,0x49,0xA3, /* Violet - Calibrated To Real VideoPac */ // i R g B
@@ -258,7 +258,7 @@ const UINT8 odyssey2_colors[] =
0x60,0x89,0xDB, /* Ltr Blue - Calibrated To Real VideoPac */ // I R g B
0x54,0xBF,0x54, /* Lt Green - Calibrated To Real VideoPac */ // I R g B
0x6B,0xDD,0xF4, /* Lt Blue - Calibrated To Real VideoPac */ // I R g b
- 0xE5,0x5E,0x5E, /* Red - Calibrated To Real VideoPac */ // I R g b
+ 0xE5,0x5E,0x5E, /* Red - Calibrated To Real VideoPac */ // I R g b
0xD9,0x83,0xDB, /* Lt Violet - Calibrated To Real VideoPac */ // I R g B
0xC4,0xBD,0x5C, /* Lt Yellow - Calibrated To Real VideoPac */ // I R G b
0xFF,0xFF,0xFF, /* White */ // I R G B
@@ -283,7 +283,7 @@ void g7400_state::palette_init()
0x49,0x49,0x49, 0x49,0x49,0xff, 0x49,0xff,0x49, 0x49,0xff,0xff,
0xff,0x49,0x49, 0xff,0x49,0xff, 0xff,0xff,0x49, 0xff,0xff,0xff
-
+
};
for ( int i = 0; i < 16; i++ )
diff --git a/src/mess/drivers/paso1600.c b/src/mess/drivers/paso1600.c
index 3d152ab4926..9d2c10b6a87 100644
--- a/src/mess/drivers/paso1600.c
+++ b/src/mess/drivers/paso1600.c
@@ -263,7 +263,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/pasopia.c b/src/mess/drivers/pasopia.c
index 4e88bc37314..0159cf33b81 100644
--- a/src/mess/drivers/pasopia.c
+++ b/src/mess/drivers/pasopia.c
@@ -303,17 +303,17 @@ static Z80PIO_INTERFACE( z80pio_intf )
static MC6845_INTERFACE( mc6845_intf )
{
- "screen", /* screen we are acting on */
- false, /* show border area */
- 8, /* number of pixels per video memory address */
- NULL, /* before pixel update callback */
+ "screen", /* screen we are acting on */
+ false, /* show border area */
+ 8, /* number of pixels per video memory address */
+ NULL, /* before pixel update callback */
pasopia_update_row, /* row update callback */
- NULL, /* after pixel update callback */
- DEVCB_NULL, /* callback for display state changes */
- DEVCB_NULL, /* callback for cursor state changes */
- DEVCB_NULL, /* HSYNC callback */
- DEVCB_NULL, /* VSYNC callback */
- NULL /* update address callback */
+ NULL, /* after pixel update callback */
+ DEVCB_NULL, /* callback for display state changes */
+ DEVCB_NULL, /* callback for cursor state changes */
+ DEVCB_NULL, /* HSYNC callback */
+ DEVCB_NULL, /* VSYNC callback */
+ NULL /* update address callback */
};
static const gfx_layout p7_chars_8x8 =
diff --git a/src/mess/drivers/pasopia7.c b/src/mess/drivers/pasopia7.c
index efb5c2a30e4..44eb2ed0138 100644
--- a/src/mess/drivers/pasopia7.c
+++ b/src/mess/drivers/pasopia7.c
@@ -726,7 +726,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/pet.c b/src/mess/drivers/pet.c
index 9637c610524..2c3c4febe54 100644
--- a/src/mess/drivers/pet.c
+++ b/src/mess/drivers/pet.c
@@ -707,9 +707,9 @@ static MACHINE_CONFIG_START( pet_general, pet_state )
MCFG_PIA6821_ADD( "pia_0", pet_pia0)
MCFG_PIA6821_ADD( "pia_1", pet_pia1)
- /* software lists */
- MCFG_SOFTWARE_LIST_ADD("rom_list", "pet_rom")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "pet_flop")
+ /* software lists */
+ MCFG_SOFTWARE_LIST_ADD("rom_list", "pet_rom")
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "pet_flop")
MACHINE_CONFIG_END
@@ -818,12 +818,12 @@ static MACHINE_CONFIG_DERIVED( superpet, pet80 )
MCFG_PIA6821_MODIFY( "pia_0", petb_pia0 )
- MCFG_SOFTWARE_LIST_ADD("flop_list2", "superpet_flop")
+ MCFG_SOFTWARE_LIST_ADD("flop_list2", "superpet_flop")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cbm8296, pet80pal )
- MCFG_SOFTWARE_LIST_ADD("flop_list2", "cbm8296_flop")
+ MCFG_SOFTWARE_LIST_ADD("flop_list2", "cbm8296_flop")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/pet2001.c b/src/mess/drivers/pet2001.c
index 6a1eca61ff7..373141ea7e3 100644
--- a/src/mess/drivers/pet2001.c
+++ b/src/mess/drivers/pet2001.c
@@ -130,23 +130,23 @@ ROM sockets: UA3 2K or 4K character
/*
- TODO:
-
- - accurate video timing for non-CRTC models
- - PET 4000-12 (40 column CRTC models)
- - High Speed Graphics board
- - keyboard layouts
- - Swedish
- - German
- - SuperPET
- - 6809
- - OS/9 MMU
- - 8096
- - 64k expansion
- - 8296
- - PLA dumps
- - high resolution graphics
- - rom software list
+ TODO:
+
+ - accurate video timing for non-CRTC models
+ - PET 4000-12 (40 column CRTC models)
+ - High Speed Graphics board
+ - keyboard layouts
+ - Swedish
+ - German
+ - SuperPET
+ - 6809
+ - OS/9 MMU
+ - 8096
+ - 64k expansion
+ - 8296
+ - PLA dumps
+ - high resolution graphics
+ - rom software list
*/
@@ -196,7 +196,7 @@ READ8_MEMBER( pet_state::read )
switch (sel)
{
- case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7:
+ case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7:
if (offset < m_ram->size())
{
data = m_ram->pointer()[offset];
@@ -255,7 +255,7 @@ WRITE8_MEMBER( pet_state::write )
switch (sel)
{
- case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7:
+ case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7:
if (offset < m_ram->size())
{
m_ram->pointer()[offset] = data;
@@ -582,10 +582,10 @@ READ8_MEMBER( pet_state::via_pb_r )
bit description
PB0 _NDAC IN
- PB1
- PB2
- PB3
- PB4
+ PB1
+ PB2
+ PB3
+ PB4
PB5 SYNC IN
PB6 _NRFD IN
PB7 _DAV IN
@@ -611,14 +611,14 @@ WRITE8_MEMBER( pet_state::via_pb_w )
bit description
- PB0
+ PB0
PB1 _NRFD OUT
PB2 _ATN OUT
PB3 CASS WRITE
PB4 #2 CASS MOTOR
- PB5
- PB6
- PB7
+ PB5
+ PB6
+ PB7
*/
@@ -726,9 +726,9 @@ WRITE8_MEMBER( pet_state::pia1_pa_w )
PA1 KEY B
PA2 KEY C
PA3 KEY D
- PA4
- PA5
- PA6
+ PA4
+ PA5
+ PA6
PA7 SPEAKER
*/
@@ -1871,33 +1871,33 @@ ROM_END
// SYSTEM DRIVERS
//**************************************************************************
-// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
-COMP( 1977, pet2001, 0, 0, pet2001, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-4", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1977, pet20018, pet2001, 0, pet20018, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001n, 0, 0, pet2001n8, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001n16, pet2001n, 0, pet2001n16, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001n32, pet2001n, 0, pet2001n32, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, cbm3008, pet2001n, 0, cbm3008, pet, driver_device, 0, "Commodore Business Machines", "CBM 3008", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, cbm3016, pet2001n, 0, cbm3016, pet, driver_device, 0, "Commodore Business Machines", "CBM 3016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, cbm3032, pet2001n, 0, cbm3032, pet, driver_device, 0, "Commodore Business Machines", "CBM 3032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001b, 0, 0, pet2001b8, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001b16, pet2001b, 0, pet2001b16, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, pet2001b32, pet2001b, 0, pet2001b32, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1979, cbm3032b, pet2001b, 0, cbm3032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 3032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, pet4016, 0, 0, pet4016, pet, driver_device, 0, "Commodore Business Machines", "PET 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, pet4032, pet4016, 0, pet4032, pet, driver_device, 0, "Commodore Business Machines", "PET 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, cbm4016, pet4016, 0, cbm4016, pet, driver_device, 0, "Commodore Business Machines", "CBM 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, cbm4032, pet4016, 0, cbm4032, pet, driver_device, 0, "Commodore Business Machines", "CBM 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, pet4032b, 0, 0, pet4032b, petb, driver_device, 0, "Commodore Business Machines", "PET 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, cbm4032b, pet4032b, 0, cbm4032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
-COMP( 1980, pet8032, 0, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "PET 8032", GAME_SUPPORTS_SAVE )
-COMP( 1981, cbm8032, pet8032, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "CBM 8032", GAME_SUPPORTS_SAVE )
-COMP( 1981, cbm8032_de, pet8032, 0, pet8032, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Germany)", GAME_SUPPORTS_SAVE )
-COMP( 1981, cbm8032_se, pet8032, 0, pet8032, petb_se, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Sweden/Finland)", GAME_SUPPORTS_SAVE )
-COMP( 1981, superpet, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "SuperPET SP-9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1981, mmf9000, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1981, mmf9000_se, pet8032, 0, superpet, petb_se, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000 (Sweden/Finland)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1981, cbm8096, pet8032, 0, cbm8096, petb, driver_device, 0, "Commodore Business Machines", "CBM 8096", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1984, cbm8296, 0, 0, cbm8296, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1984, cbm8296d, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296D", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-COMP( 1984, cbm8296d_de,cbm8296, 0, cbm8296d, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8296D (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS
+COMP( 1977, pet2001, 0, 0, pet2001, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-4", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1977, pet20018, pet2001, 0, pet20018, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001n, 0, 0, pet2001n8, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001n16, pet2001n, 0, pet2001n16, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001n32, pet2001n, 0, pet2001n32, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, cbm3008, pet2001n, 0, cbm3008, pet, driver_device, 0, "Commodore Business Machines", "CBM 3008", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, cbm3016, pet2001n, 0, cbm3016, pet, driver_device, 0, "Commodore Business Machines", "CBM 3016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, cbm3032, pet2001n, 0, cbm3032, pet, driver_device, 0, "Commodore Business Machines", "CBM 3032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001b, 0, 0, pet2001b8, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001b16, pet2001b, 0, pet2001b16, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, pet2001b32, pet2001b, 0, pet2001b32, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1979, cbm3032b, pet2001b, 0, cbm3032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 3032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, pet4016, 0, 0, pet4016, pet, driver_device, 0, "Commodore Business Machines", "PET 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, pet4032, pet4016, 0, pet4032, pet, driver_device, 0, "Commodore Business Machines", "PET 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, cbm4016, pet4016, 0, cbm4016, pet, driver_device, 0, "Commodore Business Machines", "CBM 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, cbm4032, pet4016, 0, cbm4032, pet, driver_device, 0, "Commodore Business Machines", "CBM 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, pet4032b, 0, 0, pet4032b, petb, driver_device, 0, "Commodore Business Machines", "PET 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, cbm4032b, pet4032b, 0, cbm4032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+COMP( 1980, pet8032, 0, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "PET 8032", GAME_SUPPORTS_SAVE )
+COMP( 1981, cbm8032, pet8032, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "CBM 8032", GAME_SUPPORTS_SAVE )
+COMP( 1981, cbm8032_de, pet8032, 0, pet8032, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Germany)", GAME_SUPPORTS_SAVE )
+COMP( 1981, cbm8032_se, pet8032, 0, pet8032, petb_se, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Sweden/Finland)", GAME_SUPPORTS_SAVE )
+COMP( 1981, superpet, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "SuperPET SP-9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1981, mmf9000, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1981, mmf9000_se, pet8032, 0, superpet, petb_se, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000 (Sweden/Finland)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1981, cbm8096, pet8032, 0, cbm8096, petb, driver_device, 0, "Commodore Business Machines", "CBM 8096", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1984, cbm8296, 0, 0, cbm8296, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1984, cbm8296d, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296D", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+COMP( 1984, cbm8296d_de,cbm8296, 0, cbm8296d, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8296D (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mess/drivers/plus4.c b/src/mess/drivers/plus4.c
index 6f219081597..e3d07d8c1b8 100644
--- a/src/mess/drivers/plus4.c
+++ b/src/mess/drivers/plus4.c
@@ -594,18 +594,18 @@ WRITE_LINE_MEMBER( plus4_state::ted_irq_w )
READ8_MEMBER( plus4_state::ted_k_r )
{
/*
-
+
bit description
-
+
0 JOY A0, JOY B0
1 JOY A1, JOY B1
2 JOY A2, JOY B2
3 JOY A3, JOY B3
- 4
- 5
+ 4
+ 5
6 BTN A
7 BTN B
-
+
*/
UINT8 data = 0xff;
@@ -614,7 +614,7 @@ READ8_MEMBER( plus4_state::ted_k_r )
if (!BIT(offset, 2))
{
UINT8 joy_a = m_joy1->joy_r();
-
+
data &= (0xf0 | (joy_a & 0x0f));
data &= ~(!BIT(joy_a, 5) << 6);
}
@@ -622,7 +622,7 @@ READ8_MEMBER( plus4_state::ted_k_r )
if (!BIT(offset, 1))
{
UINT8 joy_b = m_joy2->joy_r();
-
+
data &= (0xf0 | (joy_b & 0x0f));
data &= ~(!BIT(joy_b, 5) << 7);
}
diff --git a/src/mess/drivers/portfoli.c b/src/mess/drivers/portfoli.c
index 6d59e6ae520..53b1daa72b3 100644
--- a/src/mess/drivers/portfoli.c
+++ b/src/mess/drivers/portfoli.c
@@ -62,7 +62,7 @@
TODO:
- - expansion port slot interface
+ - expansion port slot interface
- clock is running too fast
- create chargen ROM from tech manual
- memory error interrupt vector
@@ -202,12 +202,12 @@ void portfolio_state::scan_keyboard()
UINT8 keycode = 0xff;
UINT8 keydata[8] = { m_y0->read(), m_y1->read(), m_y2->read(), m_y3->read(),
- m_y4->read(), m_y5->read(), m_y6->read(), m_y7->read() };
+ m_y4->read(), m_y5->read(), m_y6->read(), m_y7->read() };
for (int row = 0; row < 8; row++)
{
UINT8 data = keydata[row];
-
+
if (data != 0xff)
{
for (int col = 0; col < 8; col++)
diff --git a/src/mess/drivers/prof180x.c b/src/mess/drivers/prof180x.c
index 5443a0ab0f6..bbbc60abe6d 100644
--- a/src/mess/drivers/prof180x.c
+++ b/src/mess/drivers/prof180x.c
@@ -40,31 +40,29 @@ READ8_MEMBER( prof180x_state::read )
if (offset < 0x40000)
{
-
}
else
{
-
}
/*
- switch ((m_mm1 << 1) | m_mm0)
- {
- case 0:
- // bank0_r = EPROM, bank0_w = RAM, bank1 = RAM
- break;
-
- case 1:
- // bank0_r = RAM, bank0_w = RAM, bank1 = RAM
- break;
-
- case 2:
- // bank0_r = UNMAP, bank0_w = UNMAP, bank1 = RAM
- break;
-
- case 3:
- // bank0_r = RAM, bank0_w = RAM, bank1 = UNMAP
- break;
- }
+ switch ((m_mm1 << 1) | m_mm0)
+ {
+ case 0:
+ // bank0_r = EPROM, bank0_w = RAM, bank1 = RAM
+ break;
+
+ case 1:
+ // bank0_r = RAM, bank0_w = RAM, bank1 = RAM
+ break;
+
+ case 2:
+ // bank0_r = UNMAP, bank0_w = UNMAP, bank1 = RAM
+ break;
+
+ case 3:
+ // bank0_r = RAM, bank0_w = RAM, bank1 = UNMAP
+ break;
+ }
*/
return data;
}
@@ -73,12 +71,10 @@ WRITE8_MEMBER( prof180x_state::write )
{
if (offset < 0x40000)
{
-
}
else
{
-
- }
+ }
}
void prof180x_state::ls259_w(int flag, int value)
diff --git a/src/mess/drivers/prof80.c b/src/mess/drivers/prof80.c
index be3d2683dec..042965f1889 100644
--- a/src/mess/drivers/prof80.c
+++ b/src/mess/drivers/prof80.c
@@ -156,7 +156,7 @@ void prof80_state::ls259_w(int fa, int sa, int fb, int sb)
// turn on floppy motor
if (m_floppy0->get_device()) m_floppy0->get_device()->mon_w(0);
if (m_floppy1->get_device()) m_floppy1->get_device()->mon_w(0);
-
+
m_motor = 1;
// reset floppy motor off NE555 timer
diff --git a/src/mess/drivers/sage2.c b/src/mess/drivers/sage2.c
index ca6d9c1a24d..a5ac172cbb5 100644
--- a/src/mess/drivers/sage2.c
+++ b/src/mess/drivers/sage2.c
@@ -255,7 +255,7 @@ WRITE8_MEMBER( sage2_state::ppi0_pc_w )
// floppy motor
if (m_floppy) m_floppy->mon_w(BIT(data, 5));
-
+
// FDC reset
if(BIT(data, 7)) m_fdc->reset();
}
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index 685ba4185b6..f4825345cd6 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -137,7 +137,7 @@ UINT32 smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16 &b
UINT16 count;
int x_width;
-// popmessage("%d %d %d %d",mc6845_v_char_total,mc6845_v_total_adj,mc6845_v_display,mc6845_v_sync_pos);
+// popmessage("%d %d %d %d",mc6845_v_char_total,mc6845_v_total_adj,mc6845_v_display,mc6845_v_sync_pos);
bitmap.fill(machine().pens[m_backdrop_pen], cliprect);
@@ -162,7 +162,7 @@ UINT32 smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16 &b
}
//else
//{
- // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = machine().pens[color];
+ // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = machine().pens[color];
//}
color = (m_gvram[count] & 0x0f) >> 0;
@@ -173,7 +173,7 @@ UINT32 smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16 &b
}
//else
//{
- // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = machine().pens[color];
+ // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = machine().pens[color];
//}
count++;
@@ -997,7 +997,7 @@ void smc777_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- true, /* show border area */
+ true, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index 0ec66c414d3..edac90a20d6 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -185,14 +185,14 @@ hardware.
#include "includes/super80.h"
#include "formats/z80bin.h"
-#define MASTER_CLOCK (XTAL_12MHz)
-#define PIXEL_CLOCK (MASTER_CLOCK/2)
-#define HTOTAL (384)
-#define HBEND (0)
-#define HBSTART (256)
-#define VTOTAL (240)
-#define VBEND (0)
-#define VBSTART (160)
+#define MASTER_CLOCK (XTAL_12MHz)
+#define PIXEL_CLOCK (MASTER_CLOCK/2)
+#define HTOTAL (384)
+#define HBEND (0)
+#define HBSTART (256)
+#define VTOTAL (240)
+#define VBEND (0)
+#define VBSTART (160)
#define SUPER80V_SCREEN_WIDTH (560)
#define SUPER80V_SCREEN_HEIGHT (300)
diff --git a/src/mess/drivers/tek405x.c b/src/mess/drivers/tek405x.c
index 47d94ee6915..be29fa48699 100644
--- a/src/mess/drivers/tek405x.c
+++ b/src/mess/drivers/tek405x.c
@@ -1342,15 +1342,15 @@ ROM_START( tek4051 )
ROM_LOAD( "156-0714-01.u121", 0x1000, 0x0800, NO_DUMP )
ROM_LOAD( "156-0715-01.u131", 0x1800, 0x0800, NO_DUMP )
/*
- ROM_REGION( 0x2000, "4051r01", 0 ) // 4051R01 Matrix Functions
- ROM_LOAD( "4051r01", 0x0000, 0x1000, NO_DUMP )
+ ROM_REGION( 0x2000, "4051r01", 0 ) // 4051R01 Matrix Functions
+ ROM_LOAD( "4051r01", 0x0000, 0x1000, NO_DUMP )
- ROM_REGION( 0x2000, "4051r05", 0 ) // 4051R05 Binary Program Loader
- ROM_LOAD( "156-0856-00.u1", 0x0000, 0x0800, NO_DUMP )
- ROM_LOAD( "156-0857-00.u11", 0x0800, 0x0800, NO_DUMP )
+ ROM_REGION( 0x2000, "4051r05", 0 ) // 4051R05 Binary Program Loader
+ ROM_LOAD( "156-0856-00.u1", 0x0000, 0x0800, NO_DUMP )
+ ROM_LOAD( "156-0857-00.u11", 0x0800, 0x0800, NO_DUMP )
- ROM_REGION( 0x2000, "4051r06", 0 ) // 4051R06 Editor
- ROM_LOAD( "4051r06", 0x0000, 0x1000, NO_DUMP )
+ ROM_REGION( 0x2000, "4051r06", 0 ) // 4051R06 Editor
+ ROM_LOAD( "4051r06", 0x0000, 0x1000, NO_DUMP )
*/
ROM_END
diff --git a/src/mess/drivers/ti89.c b/src/mess/drivers/ti89.c
index 4d8abcd84e4..5772c1d69bf 100644
--- a/src/mess/drivers/ti89.c
+++ b/src/mess/drivers/ti89.c
@@ -39,7 +39,7 @@ UINT8 ti68k_state::keypad_r (running_machine &machine)
data ^= m_io_bit5->read() & (0x01 << bit) ? 0x20 : 0x00;
data ^= m_io_bit6->read() & (0x01 << bit) ? 0x40 : 0x00;
data ^= m_io_bit7->read() & (0x01 << bit) ? 0x80 : 0x00;
- }
+ }
}
return data;
diff --git a/src/mess/drivers/tk80bs.c b/src/mess/drivers/tk80bs.c
index 110a8ec0ffb..25b1e396b29 100644
--- a/src/mess/drivers/tk80bs.c
+++ b/src/mess/drivers/tk80bs.c
@@ -197,7 +197,7 @@ READ8_MEMBER( tk80bs_state::key_matrix_r )
// PA0-7 keyscan in
UINT8 data = 0xff;
-
+
if (BIT(m_ppi_portc, 4))
data &= ioport("X0")->read();
if (BIT(m_ppi_portc, 5))
diff --git a/src/mess/drivers/tmc1800.c b/src/mess/drivers/tmc1800.c
index c8dc469d177..6e0099b72a9 100644
--- a/src/mess/drivers/tmc1800.c
+++ b/src/mess/drivers/tmc1800.c
@@ -156,9 +156,9 @@ WRITE8_MEMBER( nano_state::keylatch_w )
2 C
3 NY0
4 NY1
- 5
- 6
- 7
+ 5
+ 6
+ 7
*/
@@ -694,7 +694,7 @@ void tmc2000_state::machine_start()
{
m_colorram[addr] = machine().rand() & 0xff;
}
-
+
// find keyboard rows
m_key_row[0] = m_y0;
m_key_row[1] = m_y1;
diff --git a/src/mess/drivers/tmc600.c b/src/mess/drivers/tmc600.c
index d9ca0cd1917..6733e1ac9bc 100644
--- a/src/mess/drivers/tmc600.c
+++ b/src/mess/drivers/tmc600.c
@@ -249,7 +249,7 @@ void tmc600_state::machine_start()
program.unmap_readwrite(0xa000, 0xbfff);
break;
}
-
+
// find keyboard rows
m_key_row[0] = m_y0;
m_key_row[1] = m_y1;
diff --git a/src/mess/drivers/vboy.c b/src/mess/drivers/vboy.c
index 47ef5f2c7ee..b82608c9fae 100644
--- a/src/mess/drivers/vboy.c
+++ b/src/mess/drivers/vboy.c
@@ -43,7 +43,7 @@
// bit of magic here, we also write pre-flipped copies of the data to extra ram we've allocated
// to simplify the draw loop (we can just pass the flip / unused bits as the upper character bits)
-// (all TILE words are in the format of ccxy -ttt tttt tttt
+// (all TILE words are in the format of ccxy -ttt tttt tttt
// where 'c' = palette, 'x/y' are flips, '-' is unused(?) and 't' is your basic tile number
#define WRITE_FONT(woffs) \
@@ -56,8 +56,7 @@
m_font[((woffs) + 0x10000)] = dat; /* flip x */ \
m_font[((woffs) + 0x14000)] = dat; /* flip x */ \
m_font[((woffs) + 0x18000) ^ 7] = dat; /* flip x+y */ \
- m_font[((woffs) + 0x1c000) ^ 7] = dat; /* flip x+y */ \
-
+ m_font[((woffs) + 0x1c000) ^ 7] = dat; /* flip x+y */
/* FIXME: most if not all of these must be UINT8 */
@@ -295,7 +294,7 @@ void vboy_state::fill_ovr_char(UINT16 code, UINT8 pal)
inline INT8 vboy_state::get_bg_map_pixel(int num, int xpos, int ypos)
{
-// g_profiler.start(PROFILER_USER1);
+// g_profiler.start(PROFILER_USER1);
int x, y;
UINT8 stepx, stepy;
@@ -321,14 +320,14 @@ inline INT8 vboy_state::get_bg_map_pixel(int num, int xpos, int ypos)
//g_profiler.stop();
return -1;
}
- // g_profiler.stop();
+ // g_profiler.stop();
return (pal >> (dat*2)) & 3;
}
void vboy_state::draw_bg_map(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16 param_base, int mode, int gx, int gp, int gy, int mx, int mp, int my, int h, int w,
UINT16 x_mask, UINT16 y_mask, UINT8 ovr, bool right, int bg_map_num)
{
-// g_profiler.start(PROFILER_USER2);
+// g_profiler.start(PROFILER_USER2);
int x,y;
for(y=0;y<=h;y++)
@@ -380,13 +379,13 @@ void vboy_state::draw_bg_map(bitmap_ind16 &bitmap, const rectangle &cliprect, UI
bitmap.pix16(y1, x1) = machine().pens[pix & 3];
}
}
-// g_profiler.stop();
+// g_profiler.stop();
}
void vboy_state::draw_affine_map(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16 param_base, int gx, int gp, int gy, int h, int w,
UINT16 x_mask, UINT16 y_mask, UINT8 ovr, bool right, int bg_map_num)
{
-// g_profiler.start(PROFILER_USER3);
+// g_profiler.start(PROFILER_USER3);
int x,y;
for(y=0;y<=h;y++)
@@ -425,7 +424,7 @@ void vboy_state::draw_affine_map(bitmap_ind16 &bitmap, const rectangle &cliprect
bitmap.pix16(y1, x1) = machine().pens[pix & 3];
}
}
-// g_profiler.stop();
+// g_profiler.stop();
}
/*
diff --git a/src/mess/drivers/vic10.c b/src/mess/drivers/vic10.c
index e94d7c31518..7101c887dcb 100644
--- a/src/mess/drivers/vic10.c
+++ b/src/mess/drivers/vic10.c
@@ -405,7 +405,7 @@ READ8_MEMBER( vic10_state::cia_pa_r )
// keyboard
UINT8 cia_pb = m_cia->pb_r();
UINT8 row[8] = { m_row0->read(), m_row1->read() & m_lock->read(), m_row2->read(), m_row3->read(),
- m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
+ m_row4->read(), m_row5->read(), m_row6->read(), m_row7->read() };
for (int i = 0; i < 8; i++)
{
@@ -446,7 +446,7 @@ READ8_MEMBER( vic10_state::cia_pb_r )
// joystick
UINT8 joy_a = m_joy1->joy_r();
-
+
data &= (0xf0 | (joy_a & 0x0f));
data &= ~(!BIT(joy_a, 5) << 4);
diff --git a/src/mess/drivers/vidbrain.c b/src/mess/drivers/vidbrain.c
index e5ca3a171d1..dc1a0edd1a6 100644
--- a/src/mess/drivers/vidbrain.c
+++ b/src/mess/drivers/vidbrain.c
@@ -482,7 +482,7 @@ static VIDEOBRAIN_EXPANSION_INTERFACE( expansion_intf )
//**************************************************************************
//-------------------------------------------------
-// IRQ_CALLBACK_MEMBER(vidbrain_int_ack)
+// IRQ_CALLBACK_MEMBER(vidbrain_int_ack)
//-------------------------------------------------
IRQ_CALLBACK_MEMBER(vidbrain_state::vidbrain_int_ack)
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index 71769713a1a..be2d440115e 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -545,7 +545,7 @@ UINT32 x1_state::screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, c
m_xstart = ((mc6845_h_char_total - mc6845_h_sync_pos) * 8) / 2;
m_ystart = ((mc6845_v_char_total - mc6845_v_sync_pos) * 8) / 2;
-// popmessage("%d %d %d %d",mc6845_h_sync_pos,mc6845_v_sync_pos,mc6845_h_char_total,mc6845_v_char_total);
+// popmessage("%d %d %d %d",mc6845_h_sync_pos,mc6845_v_sync_pos,mc6845_h_char_total,mc6845_v_char_total);
draw_gfxbitmap(machine(),bitmap,cliprect,m_scrn_reg.disp_bank,m_scrn_reg.pri);
draw_fgtilemap(machine(),bitmap,cliprect);
@@ -1884,7 +1884,7 @@ static I8255A_INTERFACE( ppi8255_intf )
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- true, /* show border area */
+ true, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -2239,7 +2239,7 @@ static GFXDECODE_START( x1 )
GFXDECODE_ENTRY( "cgrom", 0x00000, x1_chars_8x8, 0, 1 )
GFXDECODE_ENTRY( "font", 0x00000, x1_chars_8x16, 0, 1 )
GFXDECODE_ENTRY( "kanji", 0x00000, x1_chars_16x16, 0, 1 )
-// GFXDECODE_ENTRY( "pcg", 0x00000, x1_pcg_8x8, 0, 1 )
+// GFXDECODE_ENTRY( "pcg", 0x00000, x1_pcg_8x8, 0, 1 )
GFXDECODE_END
/*************************************
diff --git a/src/mess/drivers/x1twin.c b/src/mess/drivers/x1twin.c
index 99169f0b15b..59c44bd2861 100644
--- a/src/mess/drivers/x1twin.c
+++ b/src/mess/drivers/x1twin.c
@@ -91,16 +91,16 @@ static I8255A_INTERFACE( ppi8255_intf )
static MC6845_INTERFACE( mc6845_intf )
{
"x1_screen", /* screen we are acting on */
- false, /* show border area*/
- 8, /* number of pixels per video memory address */
- NULL, /* before pixel update callback */
- NULL, /* row update callback */
- NULL, /* after pixel update callback */
- DEVCB_NULL, /* callback for display state changes */
- DEVCB_NULL, /* callback for cursor state changes */
- DEVCB_NULL, /* HSYNC callback */
- DEVCB_NULL, /* VSYNC callback */
- NULL /* update address callback */
+ false, /* show border area*/
+ 8, /* number of pixels per video memory address */
+ NULL, /* before pixel update callback */
+ NULL, /* row update callback */
+ NULL, /* after pixel update callback */
+ DEVCB_NULL, /* callback for display state changes */
+ DEVCB_NULL, /* callback for cursor state changes */
+ DEVCB_NULL, /* HSYNC callback */
+ DEVCB_NULL, /* VSYNC callback */
+ NULL /* update address callback */
};
/*************************************
diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c
index 1e4fb5ed021..d84e7609995 100644
--- a/src/mess/drivers/z100.c
+++ b/src/mess/drivers/z100.c
@@ -632,7 +632,7 @@ static const struct pic8259_interface z100_pic8259_slave_config =
static MC6845_INTERFACE( mc6845_intf )
{
"screen", /* screen we are acting on */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/includes/abc1600.h b/src/mess/includes/abc1600.h
index f86e0454233..13cc2d1e140 100644
--- a/src/mess/includes/abc1600.h
+++ b/src/mess/includes/abc1600.h
@@ -157,7 +157,7 @@ public:
DECLARE_WRITE8_MEMBER( cio_pc_w );
DECLARE_WRITE_LINE_MEMBER( nmi_w );
-
+
IRQ_CALLBACK_MEMBER( abc1600_int_ack );
void fdc_intrq_w(bool state);
diff --git a/src/mess/includes/abc80x.h b/src/mess/includes/abc80x.h
index 99127862d30..ea6cf283ad6 100644
--- a/src/mess/includes/abc80x.h
+++ b/src/mess/includes/abc80x.h
@@ -59,8 +59,8 @@
#define Z80SIO_TAG "z80sio"
#define Z80DART_TAG "z80dart"
#define DISCRETE_TAG "discrete"
-#define RS232_A_TAG "rs232a"
-#define RS232_B_TAG "rs232b"
+#define RS232_A_TAG "rs232a"
+#define RS232_B_TAG "rs232b"
//**************************************************************************
diff --git a/src/mess/includes/amstrad.h b/src/mess/includes/amstrad.h
index c1f1963c8c8..30c1c6b8873 100644
--- a/src/mess/includes/amstrad.h
+++ b/src/mess/includes/amstrad.h
@@ -189,7 +189,7 @@ public:
void aleste_interrupt(bool state);
DECLARE_FLOPPY_FORMATS( floppy_formats );
-
+
IRQ_CALLBACK_MEMBER(amstrad_cpu_acknowledge_int);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( amstrad_plus_cartridge );
diff --git a/src/mess/includes/apple2.h b/src/mess/includes/apple2.h
index 4c629fce510..6ab58783080 100644
--- a/src/mess/includes/apple2.h
+++ b/src/mess/includes/apple2.h
@@ -75,7 +75,7 @@
enum machine_type_t
{
APPLE_II, // Apple II/II+
- APPLE_IIE, // Apple IIe with aux slots
+ APPLE_IIE, // Apple IIe with aux slots
APPLE_IIEPLUS, // Apple IIc/IIgs/IIc+ with permanent aux memory
TK2000, // Microdigital TK2000
LASER128, // Laser 128/128EX/128EX2
diff --git a/src/mess/includes/apple2gs.h b/src/mess/includes/apple2gs.h
index 35f73381100..0bd2e3ffec4 100644
--- a/src/mess/includes/apple2gs.h
+++ b/src/mess/includes/apple2gs.h
@@ -18,7 +18,7 @@
#include "cpu/m6502/m5074x.h"
#endif
-#define ADBMICRO_TAG "adbmicro"
+#define ADBMICRO_TAG "adbmicro"
// IIgs clocks as marked on the schematics
#define APPLE2GS_28M (XTAL_28_63636MHz) // IIGS master clock
@@ -33,27 +33,27 @@
// these are numbered as seen from the MCU
enum glu_reg_names
{
- GLU_KEY_DATA = 0, // MCU W
- GLU_COMMAND, // MCU R
- GLU_MOUSEX, // MCU W
- GLU_MOUSEY, // MCU W
- GLU_KG_STATUS, // MCU R
- GLU_ANY_KEY_DOWN, // MCU W
- GLU_KEYMOD, // MCU W
- GLU_DATA, // MCU W
-
- GLU_C000, // 816 R
- GLU_C010, // 816 RW
- GLU_SYSSTAT // 816 R/(limited) W
+ GLU_KEY_DATA = 0, // MCU W
+ GLU_COMMAND, // MCU R
+ GLU_MOUSEX, // MCU W
+ GLU_MOUSEY, // MCU W
+ GLU_KG_STATUS, // MCU R
+ GLU_ANY_KEY_DOWN, // MCU W
+ GLU_KEYMOD, // MCU W
+ GLU_DATA, // MCU W
+
+ GLU_C000, // 816 R
+ GLU_C010, // 816 RW
+ GLU_SYSSTAT // 816 R/(limited) W
};
-enum glu_kg_status
+enum glu_kg_status
{
- KGS_ANY_KEY_DOWN = 0x01,
- KGS_KEYSTROBE = 0x10,
- KGS_DATA_FULL = 0x20,
- KGS_COMMAND_FULL = 0x40,
- KGS_MOUSEX_FULL = 0x80
+ KGS_ANY_KEY_DOWN = 0x01,
+ KGS_KEYSTROBE = 0x10,
+ KGS_DATA_FULL = 0x20,
+ KGS_COMMAND_FULL = 0x40,
+ KGS_MOUSEX_FULL = 0x80
};
enum apple2gs_clock_mode
@@ -194,15 +194,15 @@ public:
DECLARE_WRITE8_MEMBER(a2bus_inh_w);
DECLARE_READ8_MEMBER(apple2gs_read_vector);
- // ADB MCU and ADB GLU stuff
+ // ADB MCU and ADB GLU stuff
#if RUN_ADB_MICRO
- UINT8 m_glu_regs[8], m_glu_bus, m_glu_sysstat;
- bool m_glu_mcu_read_kgs, m_glu_816_read_dstat, m_glu_mouse_read_stat, m_adb_line;
+ UINT8 m_glu_regs[8], m_glu_bus, m_glu_sysstat;
+ bool m_glu_mcu_read_kgs, m_glu_816_read_dstat, m_glu_mouse_read_stat, m_adb_line;
UINT8 keyglu_mcu_read(UINT8 offset);
- void keyglu_mcu_write(UINT8 offset, UINT8 data);
- UINT8 keyglu_816_read(UINT8 offset);
- void keyglu_816_write(UINT8 offset, UINT8 data);
+ void keyglu_mcu_write(UINT8 offset, UINT8 data);
+ UINT8 keyglu_816_read(UINT8 offset);
+ void keyglu_816_write(UINT8 offset, UINT8 data);
DECLARE_READ8_MEMBER(adbmicro_p0_in);
DECLARE_READ8_MEMBER(adbmicro_p1_in);
diff --git a/src/mess/includes/aquarius.h b/src/mess/includes/aquarius.h
index 4ebe80df8f5..75ac5b72720 100644
--- a/src/mess/includes/aquarius.h
+++ b/src/mess/includes/aquarius.h
@@ -20,22 +20,22 @@ class aquarius_state : public driver_device
public:
aquarius_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_cassette(*this, CASSETTE_TAG),
- m_speaker(*this, SPEAKER_TAG),
- m_screen(*this, "screen"),
- m_ram(*this, RAM_TAG),
- m_rom(*this, "maincpu"),
- m_videoram(*this, "videoram"),
- m_colorram(*this, "colorram"),
- m_y0(*this, "Y0"),
- m_y1(*this, "Y1"),
- m_y2(*this, "Y2"),
- m_y3(*this, "Y3"),
- m_y4(*this, "Y4"),
- m_y5(*this, "Y5"),
- m_y6(*this, "Y6"),
- m_y7(*this, "Y7")
+ m_maincpu(*this, "maincpu"),
+ m_cassette(*this, CASSETTE_TAG),
+ m_speaker(*this, SPEAKER_TAG),
+ m_screen(*this, "screen"),
+ m_ram(*this, RAM_TAG),
+ m_rom(*this, "maincpu"),
+ m_videoram(*this, "videoram"),
+ m_colorram(*this, "colorram"),
+ m_y0(*this, "Y0"),
+ m_y1(*this, "Y1"),
+ m_y2(*this, "Y2"),
+ m_y3(*this, "Y3"),
+ m_y4(*this, "Y4"),
+ m_y5(*this, "Y5"),
+ m_y6(*this, "Y6"),
+ m_y7(*this, "Y7")
{ }
required_device<legacy_cpu_device> m_maincpu;
diff --git a/src/mess/includes/atarist.h b/src/mess/includes/atarist.h
index ed86ac27c99..f55c8f3c31c 100644
--- a/src/mess/includes/atarist.h
+++ b/src/mess/includes/atarist.h
@@ -315,7 +315,7 @@ public:
TIMER_CALLBACK_MEMBER(atarist_shifter_tick);
TIMER_CALLBACK_MEMBER(atarist_glue_tick);
TIMER_CALLBACK_MEMBER(atarist_blitter_tick);
- IRQ_CALLBACK_MEMBER(atarist_int_ack);
+ IRQ_CALLBACK_MEMBER(atarist_int_ack);
};
class megast_state : public st_state
@@ -371,7 +371,7 @@ public:
TIMER_CALLBACK_MEMBER(atariste_dmasound_tick);
TIMER_CALLBACK_MEMBER(atariste_microwire_tick);
-
+
void dmasound_set_state(int level);
void dmasound_tick();
void microwire_shift();
diff --git a/src/mess/includes/cbm2.h b/src/mess/includes/cbm2.h
index e1c751db863..7fbda2bfa54 100644
--- a/src/mess/includes/cbm2.h
+++ b/src/mess/includes/cbm2.h
@@ -44,7 +44,7 @@
#define SCREEN_TAG "screen"
#define CONTROL1_TAG "joy1"
#define CONTROL2_TAG "joy2"
-#define RS232_TAG "rs232"
+#define RS232_TAG "rs232"
#define EXT_I8088_TAG "ext_u1"
#define EXT_I8087_TAG "ext_u4"
diff --git a/src/mess/includes/gb.h b/src/mess/includes/gb.h
index 185ba6c486a..391c05059d3 100644
--- a/src/mess/includes/gb.h
+++ b/src/mess/includes/gb.h
@@ -157,7 +157,7 @@ public:
UINT8 *m_GBC_RAMMap[8]; /* (CGB) Addresses of internal RAM banks */
UINT8 m_GBC_RAMBank; /* (CGB) Current CGB RAM bank */
-
+
gb_lcd_t m_lcd;
void (gb_state::*update_scanline) ();
bool m_bios_disable;
@@ -240,7 +240,7 @@ public:
, m_maincpu(*this, "maincpu")
, m_inputs(*this, "INPUTS")
{ }
-
+
DECLARE_READ8_MEMBER(megaduck_video_r);
DECLARE_WRITE8_MEMBER(megaduck_video_w);
DECLARE_WRITE8_MEMBER(megaduck_sound_w1);
@@ -250,12 +250,12 @@ public:
DECLARE_MACHINE_START(megaduck);
DECLARE_MACHINE_RESET(megaduck);
DECLARE_PALETTE_INIT(megaduck);
-
+
DECLARE_READ8_MEMBER(cart_r);
DECLARE_WRITE8_MEMBER(bank1_w);
DECLARE_WRITE8_MEMBER(bank2_w);
optional_device<megaduck_cart_slot_device> m_cartslot;
-
+
protected:
required_device<lr35902_cpu_device> m_maincpu;
required_ioport m_inputs;
diff --git a/src/mess/includes/md.h b/src/mess/includes/md.h
index 72c1cf8ca0a..b32194529fa 100644
--- a/src/mess/includes/md.h
+++ b/src/mess/includes/md.h
@@ -13,13 +13,13 @@ public:
md_cons_state(const machine_config &mconfig, device_type type, const char *tag)
: md_base_state(mconfig, type, tag),
m_slotcart(*this, "mdslot")
- { }
-
+ { }
+
emu_timer *m_mess_io_timeout[3];
int m_mess_io_stage[3];
-
+
optional_device<md_cart_slot_device> m_slotcart;
-
+
DECLARE_DRIVER_INIT(mess_md_common);
DECLARE_DRIVER_INIT(genesis);
DECLARE_DRIVER_INIT(md_eur);
@@ -31,7 +31,7 @@ class mdsvp_state : public md_cons_state
public:
mdsvp_state(const machine_config &mconfig, device_type type, const char *tag)
: md_cons_state(mconfig, type, tag) { }
-
+
UINT8 *m_iram; // IRAM (0-0x7ff)
UINT8 *m_dram; // [0x20000];
UINT32 m_pmac_read[6]; // read modes/addrs for PM0-PM5
@@ -48,7 +48,7 @@ public:
pico_state(const machine_config &mconfig, device_type type, const char *tag)
: md_cons_state(mconfig, type, tag),
m_picocart(*this, "picoslot") { }
-
+
optional_device<pico_cart_slot_device> m_picocart;
UINT8 m_page_register;
};
diff --git a/src/mess/includes/nes.h b/src/mess/includes/nes.h
index 7707bc933cf..95f9087d09f 100644
--- a/src/mess/includes/nes.h
+++ b/src/mess/includes/nes.h
@@ -143,7 +143,7 @@ public:
ioport_port *m_io_zapper2_x;
ioport_port *m_io_zapper2_y;
ioport_port *m_io_paddle;
-
+
private:
/* devices */
// cpu_device *m_maincpu;
diff --git a/src/mess/includes/pc1512.h b/src/mess/includes/pc1512.h
index bc3395a7e1e..c811ad49b72 100644
--- a/src/mess/includes/pc1512.h
+++ b/src/mess/includes/pc1512.h
@@ -59,7 +59,7 @@ public:
m_bus(*this, ISA_BUS_TAG),
m_char_rom(*this, AMS40041_TAG),
m_video_ram(*this, "video_ram"),
- m_lk(*this, "LK"),
+ m_lk(*this, "LK"),
m_pit1(0),
m_pit2(0),
m_status1(0),
@@ -221,8 +221,8 @@ class pc1640_state : public pc1512_state
public:
pc1640_state(const machine_config &mconfig, device_type type, const char *tag)
: pc1512_state(mconfig, type, tag),
- m_sw(*this, "SW"),
- m_opt(0)
+ m_sw(*this, "SW"),
+ m_opt(0)
{ }
virtual void machine_start();
diff --git a/src/mess/includes/pcw16.h b/src/mess/includes/pcw16.h
index fa40ce35bf4..e8816688ad1 100644
--- a/src/mess/includes/pcw16.h
+++ b/src/mess/includes/pcw16.h
@@ -34,15 +34,15 @@ class pcw16_state : public driver_device
public:
pcw16_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_flash0(*this, "flash0"),
- m_flash1(*this, "flash1"),
- m_fdc(*this, "fdc"),
- m_uart2(*this, "ns16550_2"),
- m_speaker(*this, BEEPER_TAG),
- m_ram(*this, RAM_TAG),
- m_region_rom(*this, "maincpu"),
- m_io_extra(*this, "EXTRA")
+ m_maincpu(*this, "maincpu"),
+ m_flash0(*this, "flash0"),
+ m_flash1(*this, "flash1"),
+ m_fdc(*this, "fdc"),
+ m_uart2(*this, "ns16550_2"),
+ m_speaker(*this, BEEPER_TAG),
+ m_ram(*this, RAM_TAG),
+ m_region_rom(*this, "maincpu"),
+ m_io_extra(*this, "EXTRA")
{ }
required_device<legacy_cpu_device> m_maincpu;
diff --git a/src/mess/includes/pet2001.h b/src/mess/includes/pet2001.h
index 5a4cd8942d3..d92b7cb7a23 100644
--- a/src/mess/includes/pet2001.h
+++ b/src/mess/includes/pet2001.h
@@ -17,12 +17,12 @@
#include "sound/speaker.h"
#include "video/mc6845.h"
-#define M6502_TAG "f3"
-#define M6522_TAG "a5"
-#define M6520_1_TAG "g8"
-#define M6520_2_TAG "b8"
-#define MC6845_TAG "ub13"
-#define SCREEN_TAG "screen"
+#define M6502_TAG "f3"
+#define M6522_TAG "a5"
+#define M6520_1_TAG "g8"
+#define M6520_2_TAG "b8"
+#define MC6845_TAG "ub13"
+#define SCREEN_TAG "screen"
class pet_state : public driver_device
{
diff --git a/src/mess/includes/plus4.h b/src/mess/includes/plus4.h
index aefa2504a2a..d496904fa98 100644
--- a/src/mess/includes/plus4.h
+++ b/src/mess/includes/plus4.h
@@ -28,8 +28,8 @@
#define MOS8706_TAG "mos8706"
#define PLA_TAG "u19"
#define SCREEN_TAG "screen"
-#define CONTROL1_TAG "joy1"
-#define CONTROL2_TAG "joy2"
+#define CONTROL1_TAG "joy1"
+#define CONTROL2_TAG "joy2"
class plus4_state : public driver_device
{
diff --git a/src/mess/includes/portfoli.h b/src/mess/includes/portfoli.h
index 0c24bfb0f99..f2b6edc8cef 100644
--- a/src/mess/includes/portfoli.h
+++ b/src/mess/includes/portfoli.h
@@ -66,7 +66,7 @@ public:
required_ioport m_y6;
required_ioport m_y7;
required_ioport m_battery;
-
+
virtual void machine_start();
virtual void machine_reset();
diff --git a/src/mess/includes/psion.h b/src/mess/includes/psion.h
index f05f6cf23b8..9b195ce133f 100644
--- a/src/mess/includes/psion.h
+++ b/src/mess/includes/psion.h
@@ -69,7 +69,7 @@ public:
virtual void palette_init();
DECLARE_INPUT_CHANGED_MEMBER(psion_on);
TIMER_DEVICE_CALLBACK_MEMBER(nmi_timer);
-
+
static HD44780_PIXEL_UPDATE(lz_pixel_update);
};
diff --git a/src/mess/includes/sapi1.h b/src/mess/includes/sapi1.h
index 3bb9bbddca6..44849610c90 100644
--- a/src/mess/includes/sapi1.h
+++ b/src/mess/includes/sapi1.h
@@ -53,7 +53,7 @@ public:
UINT32 screen_update_sapizps3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
protected:
- optional_memory_bank m_bank1; // Only for sapi3
+ optional_memory_bank m_bank1; // Only for sapi3
required_ioport m_line0;
required_ioport m_line1;
required_ioport m_line2;
diff --git a/src/mess/includes/tiki100.h b/src/mess/includes/tiki100.h
index 1d0973a7edd..3b096d5c3df 100644
--- a/src/mess/includes/tiki100.h
+++ b/src/mess/includes/tiki100.h
@@ -54,7 +54,7 @@ public:
m_y9(*this, "Y9"),
m_y10(*this, "Y10"),
m_y11(*this, "Y11"),
- m_y12(*this, "Y12")
+ m_y12(*this, "Y12")
{ }
required_device<cpu_device> m_maincpu;
diff --git a/src/mess/includes/trs80m2.h b/src/mess/includes/trs80m2.h
index 390128c2d5c..77b41a28409 100644
--- a/src/mess/includes/trs80m2.h
+++ b/src/mess/includes/trs80m2.h
@@ -125,7 +125,7 @@ public:
int m_rtc_int;
int m_enable_rtc_int;
- TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
+ TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
};
class trs80m16_state : public trs80m2_state
@@ -144,7 +144,7 @@ public:
DECLARE_WRITE8_MEMBER( ual_w );
DECLARE_WRITE8_MEMBER( tcl_w );
-
+
IRQ_CALLBACK_MEMBER(trs80m16_irq_callback);
UINT16 m_ual;
diff --git a/src/mess/includes/wangpc.h b/src/mess/includes/wangpc.h
index ee23d971eba..0d6270c8afd 100644
--- a/src/mess/includes/wangpc.h
+++ b/src/mess/includes/wangpc.h
@@ -165,7 +165,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( bus_irq2_w );
DECLARE_FLOPPY_FORMATS( floppy_formats );
-
+
IRQ_CALLBACK_MEMBER(wangpc_irq_callback);
void fdc_irq(bool state);
diff --git a/src/mess/machine/a2eauxslot.h b/src/mess/machine/a2eauxslot.h
index 290e85ba0ec..7e4c16c7c4d 100644
--- a/src/mess/machine/a2eauxslot.h
+++ b/src/mess/machine/a2eauxslot.h
@@ -120,7 +120,7 @@ public:
virtual ~device_a2eauxslot_card_interface();
virtual UINT8 read_auxram(UINT16 offset) { printf("a2eauxslot: unhandled auxram read @ %04x\n", offset); return 0xff; }
- virtual void write_auxram(UINT16 offset, UINT8 data) { printf("a2eauxslot: unhandled auxram write %02x @ %04x\n", data, offset); }
+ virtual void write_auxram(UINT16 offset, UINT8 data) { printf("a2eauxslot: unhandled auxram write %02x @ %04x\n", data, offset); }
virtual void write_c07x(address_space &space, UINT8 offset, UINT8 data) {}
virtual UINT8 *get_vram_ptr() = 0;
virtual bool allow_dhr() { return true; }
diff --git a/src/mess/machine/a2eext80col.c b/src/mess/machine/a2eext80col.c
index e13057f8910..fa7df626aa3 100644
--- a/src/mess/machine/a2eext80col.c
+++ b/src/mess/machine/a2eext80col.c
@@ -67,4 +67,3 @@ UINT8 *a2eaux_ext80col_device::get_vram_ptr()
{
return &m_ram[0];
}
-
diff --git a/src/mess/machine/a2eext80col.h b/src/mess/machine/a2eext80col.h
index 5fef744c60a..491e63b7040 100644
--- a/src/mess/machine/a2eext80col.h
+++ b/src/mess/machine/a2eext80col.h
@@ -42,4 +42,3 @@ private:
extern const device_type A2EAUX_EXT80COL;
#endif /* __A2EAUX_EXT80COL__ */
-
diff --git a/src/mess/machine/a2eramworks3.c b/src/mess/machine/a2eramworks3.c
index 04023bf7153..228050f4aba 100644
--- a/src/mess/machine/a2eramworks3.c
+++ b/src/mess/machine/a2eramworks3.c
@@ -3,7 +3,7 @@
a2eramworks3.c
Applied Engineering RamWorks III
-
+
*********************************************************************/
@@ -73,14 +73,14 @@ UINT8 *a2eaux_ramworks3_device::get_vram_ptr()
/*
These cards are split into 64k logical banks.
-
+
On a RW3:
Banks 00-0F is the first MB
Banks 10-17 are the next 512K
Banks 30-37 are the next 512K
Banks 50-57 are the next 512K
Banks 70-77 are the next 512K
-
+
However, the software will recognize and correctly use a configuration in which
all of banks 00-7F are populated for a total of 8 megabytes. So that's what we do.
*/
@@ -92,4 +92,3 @@ void a2eaux_ramworks3_device::write_c07x(address_space &space, UINT8 offset, UIN
m_bank = 0x10000 * (data & 0x7f);
}
}
-
diff --git a/src/mess/machine/a2eramworks3.h b/src/mess/machine/a2eramworks3.h
index ef5c0857743..82ab022b9cc 100644
--- a/src/mess/machine/a2eramworks3.h
+++ b/src/mess/machine/a2eramworks3.h
@@ -44,4 +44,3 @@ private:
extern const device_type A2EAUX_RAMWORKS3;
#endif /* __A2EAUX_RAMWORKS3__ */
-
diff --git a/src/mess/machine/a2estd80col.c b/src/mess/machine/a2estd80col.c
index 92b6d90b4e9..dd09fa332e6 100644
--- a/src/mess/machine/a2estd80col.c
+++ b/src/mess/machine/a2estd80col.c
@@ -75,4 +75,3 @@ UINT8 *a2eaux_std80col_device::get_vram_ptr()
{
return &m_ram[0];
}
-
diff --git a/src/mess/machine/a2estd80col.h b/src/mess/machine/a2estd80col.h
index dbc7f1bfe96..0e718567a7d 100644
--- a/src/mess/machine/a2estd80col.h
+++ b/src/mess/machine/a2estd80col.h
@@ -32,7 +32,7 @@ protected:
virtual UINT8 read_auxram(UINT16 offset);
virtual void write_auxram(UINT16 offset, UINT8 data);
virtual UINT8 *get_vram_ptr();
- virtual bool allow_dhr() { return false; } // we don't allow DHR
+ virtual bool allow_dhr() { return false; } // we don't allow DHR
private:
UINT8 m_ram[2*1024];
@@ -42,4 +42,3 @@ private:
extern const device_type A2EAUX_STD80COL;
#endif /* __A2EAUX_STD80COL__ */
-
diff --git a/src/mess/machine/a2midi.c b/src/mess/machine/a2midi.c
index 23980d6d914..aa4777e8c88 100644
--- a/src/mess/machine/a2midi.c
+++ b/src/mess/machine/a2midi.c
@@ -21,7 +21,7 @@
const device_type A2BUS_MIDI = &device_creator<a2bus_midi_device>;
-#define MIDI_PTM_TAG "midi_ptm"
+#define MIDI_PTM_TAG "midi_ptm"
#define MIDI_ACIA_TAG "midi_acia"
static struct ptm6840_interface ptm_interface =
@@ -34,13 +34,13 @@ static struct ptm6840_interface ptm_interface =
static struct acia6850_interface acia_interface =
{
- 31250*16, // tx clock
- 0, // rx clock (we manually clock rx)
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, rx_in), // rx in
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, tx_out), // tx out
- DEVCB_NULL, // cts in
- DEVCB_NULL, // rts out
- DEVCB_NULL, // dcd in
+ 31250*16, // tx clock
+ 0, // rx clock (we manually clock rx)
+ DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, rx_in), // rx in
+ DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, tx_out), // tx out
+ DEVCB_NULL, // cts in
+ DEVCB_NULL, // rts out
+ DEVCB_NULL, // dcd in
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, acia_irq_w)
};
@@ -59,7 +59,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
MACHINE_CONFIG_FRAGMENT( midi )
@@ -160,7 +160,7 @@ void a2bus_midi_device::write_c0nx(address_space &space, UINT8 offset, UINT8 dat
// This works on h/w pretty much by accident; we'll make it right here.
if ((data & 0x1c) == 0x10)
{
- data |= 0x04; // change wordbits from 0x10 to 0x14
+ data |= 0x04; // change wordbits from 0x10 to 0x14
}
m_acia->control_write(space, 0, data);
@@ -202,7 +202,7 @@ WRITE_LINE_MEMBER( a2bus_midi_device::ptm_irq_w )
WRITE_LINE_MEMBER( a2bus_midi_device::midi_rx_w )
{
m_rx_state = state;
- for (int i = 0; i < 16; i++) // divider is set to 16
+ for (int i = 0; i < 16; i++) // divider is set to 16
{
m_acia->rx_clock_in();
}
@@ -217,4 +217,3 @@ WRITE_LINE_MEMBER( a2bus_midi_device::tx_out )
{
m_mdout->tx(state);
}
-
diff --git a/src/mess/machine/a2ssc.c b/src/mess/machine/a2ssc.c
index 9104e3c549e..71aec382106 100644
--- a/src/mess/machine/a2ssc.c
+++ b/src/mess/machine/a2ssc.c
@@ -230,4 +230,3 @@ WRITE_LINE_MEMBER( a2bus_ssc_device::acia_irq_w )
}
}
}
-
diff --git a/src/mess/machine/a2videoterm.c b/src/mess/machine/a2videoterm.c
index ce4352d4cb3..5ff45fd745f 100644
--- a/src/mess/machine/a2videoterm.c
+++ b/src/mess/machine/a2videoterm.c
@@ -51,7 +51,7 @@ static MC6845_UPDATE_ROW( videoterm_update_row );
static MC6845_INTERFACE( mc6845_mda_intf )
{
VIDEOTERM_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* number of pixels per video memory address */
NULL, /* begin_update */
videoterm_update_row, /* update_row */
diff --git a/src/mess/machine/a2vulcan.c b/src/mess/machine/a2vulcan.c
index 5590525da7b..83ff2c4c4b3 100644
--- a/src/mess/machine/a2vulcan.c
+++ b/src/mess/machine/a2vulcan.c
@@ -1,54 +1,54 @@
/*********************************************************************
-
- a2vulcan.c
-
- Applied Engineering Vulcan IDE controller
-
- Our copy of ROM version 1.4 will refuse any drive > 40 megs (top 2 bytes of # blocks >= 0x15b).
- Protection against field upgrades?
-
- Vulcan Gold ROMs omit this protection but don't work with the version of the partitioner program
- we have.
-
- Recognized drives by IDE features parameters:
- (# of cylinders is never checked, just heads, sectors, and the vendor specific at 0x0A)
-
- H S Vendor specific #5
- 8, 33 + 0x69 0x31d blocks (400K?!)
- 2, 33 + 0x69 0xa208 blocks (20 megs, 21237760 bytes)
- 4, 26 + 0x69 0x14500 blocks (40 megs, 42598400 bytes)
- 5, 29 + (any) 0x25c5b blocks (80 megs, 79214080 bytes) (chs = 1067,5,29)
- 7, 29 + 0x44 0x34e19 blocks (100 megs, 110899712 bytes)
- 9, 29 + (any) 0x44068 blocks (140 megs, 142659584 bytes) (chs = 1068,9,29)
- 9, 36 + 0x44 0x54888 blocks (180 megs, 177278976 bytes)
- 9, 36 + 0xff 0x645a8 blocks (200 megs, 210456576 bytes)
- 7, 34 + (any) 0x32252 blocks (100 megs, 105161728 bytes) (chs = 863,7,34)
- 4, 17 + 0x55 0xa218 blocks (20 megs, 21245952 bytes)
- 4, 26 + 0x55 0xa218 blocks (20 megs, 21245952 bytes)
- 5, 17 + 0x55 0x15234 blocks (40 megs, 44328960 bytes)
- 6, 26 + 0x55 0x15234 blocks (40 megs, 44328960 bytes)
- 2, 28 + 0x36 0xa250 blocks (20 megs, 21274624 bytes)
- 4, 28 + 0x36 0x143c0 blocks (40 megs, 42434450 bytes)
- 4, 28 + 0x67 0x143c0 blocks (40 megs, 42434450 bytes)
- 4, 27 + 0x43 0x147cc blocks (40 megs, 42964992 bytes)
- 5, 17 + 0x26 0x13ec0 blocks (40 megs, 41779200 bytes) (chs = 960,5,17)
- 15, 32 + 0x43 0x5f6e0 blocks (200 megs, 200130560 bytes)
- 16, 38 + 0x94 0x6540c blocks (200 megs, 212342784 bytes)
- 10, 17 + (any) 0x2792f blocks (80 megs, 82992640 bytes) (chs = 954,10,17)
-
- Partition block:
- +0000: 0xAE 0xAE signature
- +0002: bytesum of remaining 508 bytes of partition block
- +0005: total # of blocks (3 bytes)
- +000E: boot partition # (0 based)
- +0100: partition records
-
- Partition record:
- +02: partition number (seems to be only valud for non-CLEAR partitions)
- +03: little-endian unsigned word: # of 512 byte blocks
- +06: bit 6 set for ON, bits 0-2 = 0 CLEAR, 1 PRODOS, 2 DOS 3.3, 3 PASCAL, 4 CP/M
- +07: Partition name (Apple high-ASCII, zero terminated unless full 10 chars)
-
+
+ a2vulcan.c
+
+ Applied Engineering Vulcan IDE controller
+
+ Our copy of ROM version 1.4 will refuse any drive > 40 megs (top 2 bytes of # blocks >= 0x15b).
+ Protection against field upgrades?
+
+ Vulcan Gold ROMs omit this protection but don't work with the version of the partitioner program
+ we have.
+
+ Recognized drives by IDE features parameters:
+ (# of cylinders is never checked, just heads, sectors, and the vendor specific at 0x0A)
+
+ H S Vendor specific #5
+ 8, 33 + 0x69 0x31d blocks (400K?!)
+ 2, 33 + 0x69 0xa208 blocks (20 megs, 21237760 bytes)
+ 4, 26 + 0x69 0x14500 blocks (40 megs, 42598400 bytes)
+ 5, 29 + (any) 0x25c5b blocks (80 megs, 79214080 bytes) (chs = 1067,5,29)
+ 7, 29 + 0x44 0x34e19 blocks (100 megs, 110899712 bytes)
+ 9, 29 + (any) 0x44068 blocks (140 megs, 142659584 bytes) (chs = 1068,9,29)
+ 9, 36 + 0x44 0x54888 blocks (180 megs, 177278976 bytes)
+ 9, 36 + 0xff 0x645a8 blocks (200 megs, 210456576 bytes)
+ 7, 34 + (any) 0x32252 blocks (100 megs, 105161728 bytes) (chs = 863,7,34)
+ 4, 17 + 0x55 0xa218 blocks (20 megs, 21245952 bytes)
+ 4, 26 + 0x55 0xa218 blocks (20 megs, 21245952 bytes)
+ 5, 17 + 0x55 0x15234 blocks (40 megs, 44328960 bytes)
+ 6, 26 + 0x55 0x15234 blocks (40 megs, 44328960 bytes)
+ 2, 28 + 0x36 0xa250 blocks (20 megs, 21274624 bytes)
+ 4, 28 + 0x36 0x143c0 blocks (40 megs, 42434450 bytes)
+ 4, 28 + 0x67 0x143c0 blocks (40 megs, 42434450 bytes)
+ 4, 27 + 0x43 0x147cc blocks (40 megs, 42964992 bytes)
+ 5, 17 + 0x26 0x13ec0 blocks (40 megs, 41779200 bytes) (chs = 960,5,17)
+ 15, 32 + 0x43 0x5f6e0 blocks (200 megs, 200130560 bytes)
+ 16, 38 + 0x94 0x6540c blocks (200 megs, 212342784 bytes)
+ 10, 17 + (any) 0x2792f blocks (80 megs, 82992640 bytes) (chs = 954,10,17)
+
+ Partition block:
+ +0000: 0xAE 0xAE signature
+ +0002: bytesum of remaining 508 bytes of partition block
+ +0005: total # of blocks (3 bytes)
+ +000E: boot partition # (0 based)
+ +0100: partition records
+
+ Partition record:
+ +02: partition number (seems to be only valud for non-CLEAR partitions)
+ +03: little-endian unsigned word: # of 512 byte blocks
+ +06: bit 6 set for ON, bits 0-2 = 0 CLEAR, 1 PRODOS, 2 DOS 3.3, 3 PASCAL, 4 CP/M
+ +07: Partition name (Apple high-ASCII, zero terminated unless full 10 chars)
+
*********************************************************************/
#include "a2vulcan.h"
@@ -153,7 +153,7 @@ UINT8 a2bus_vulcanbase_device::read_c0nx(address_space &space, UINT8 offset)
{
case 0:
m_lastdata = ide_controller_r(m_ide, 0x1f0+offset, 2);
-// printf("IDE: read %04x\n", m_lastdata);
+// printf("IDE: read %04x\n", m_lastdata);
m_last_read_was_0 = true;
return m_lastdata&0xff;
@@ -178,7 +178,7 @@ UINT8 a2bus_vulcanbase_device::read_c0nx(address_space &space, UINT8 offset)
return ide_controller_r(m_ide, 0x1f0+offset, 1);
default:
-// printf("Read @ C0n%x\n", offset);
+// printf("Read @ C0n%x\n", offset);
break;
}
@@ -195,18 +195,18 @@ void a2bus_vulcanbase_device::write_c0nx(address_space &space, UINT8 offset, UIN
{
switch (offset)
{
- case 0:
+ case 0:
m_lastdata = data;
m_last_read_was_0 = true;
break;
-
+
case 1:
if (m_last_read_was_0)
{
m_last_read_was_0 = false;
m_lastdata &= 0x00ff;
m_lastdata |= (data << 8);
-// printf("IDE: write %04x\n", m_lastdata);
+// printf("IDE: write %04x\n", m_lastdata);
ide_controller_w(m_ide, 0x1f0, 2, m_lastdata);
}
else
@@ -221,17 +221,17 @@ void a2bus_vulcanbase_device::write_c0nx(address_space &space, UINT8 offset, UIN
case 5:
case 6:
case 7:
-// printf("%02x to IDE controller @ %x\n", data, offset);
+// printf("%02x to IDE controller @ %x\n", data, offset);
ide_controller_w(m_ide, 0x1f0+offset, 1, data);
break;
- case 9: // ROM bank
-// printf("%x (%x) to ROM bank\n", data, (data & 0xf) * 0x400);
+ case 9: // ROM bank
+// printf("%x (%x) to ROM bank\n", data, (data & 0xf) * 0x400);
m_rombank = (data & 0xf) * 0x400;
break;
case 0xa: // RAM bank
-// printf("%x to RAM bank\n", data);
+// printf("%x to RAM bank\n", data);
m_rambank = (data & 7) * 0x400;
break;
@@ -260,9 +260,9 @@ UINT8 a2bus_vulcanbase_device::read_cnxx(address_space &space, UINT8 offset)
UINT8 a2bus_vulcanbase_device::read_c800(address_space &space, UINT16 offset)
{
offset &= 0x7ff;
- if (offset < 0x400) // c800-cbff is banked RAM window, cc00-cfff is banked ROM window
+ if (offset < 0x400) // c800-cbff is banked RAM window, cc00-cfff is banked ROM window
{
-// printf("read RAM @ %x (bank %x)\n", offset, m_rambank);
+// printf("read RAM @ %x (bank %x)\n", offset, m_rambank);
return m_ram[offset + m_rambank];
}
@@ -275,7 +275,7 @@ void a2bus_vulcanbase_device::write_c800(address_space &space, UINT16 offset, UI
offset &= 0x7ff;
if (offset < 0x400)
{
-// printf("%02x to RAM @ %x (bank %x)\n", data, offset, m_rambank);
+// printf("%02x to RAM @ %x (bank %x)\n", data, offset, m_rambank);
m_ram[offset + m_rambank] = data;
}
}
diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c
index 226a7bc020f..613b33755af 100644
--- a/src/mess/machine/amstrad.c
+++ b/src/mess/machine/amstrad.c
@@ -1072,7 +1072,7 @@ UINT32 amstrad_state::screen_update_amstrad(screen_device &screen, bitmap_ind16
MC6845_INTERFACE( amstrad_mc6845_intf )
{
NULL, /* screen name */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* begin_update */
NULL, /* update_row */
@@ -1088,7 +1088,7 @@ MC6845_INTERFACE( amstrad_mc6845_intf )
MC6845_INTERFACE( amstrad_plus_mc6845_intf )
{
NULL, /* screen name */
- false, /* show border area */
+ false, /* show border area */
16, /* number of pixels per video memory address */
NULL, /* begin_update */
NULL, /* update_row */
diff --git a/src/mess/machine/apollo.c b/src/mess/machine/apollo.c
index 157e0ad1236..fceec7fc7b1 100644
--- a/src/mess/machine/apollo.c
+++ b/src/mess/machine/apollo.c
@@ -675,7 +675,7 @@ static void apollo_pic_set_irq_line(device_t *device, int irq, int state) {
}
}
-IRQ_CALLBACK_MEMBER(apollo_state::apollo_pic_acknowledge)
+IRQ_CALLBACK_MEMBER(apollo_state::apollo_pic_acknowledge)
{
UINT32 vector = pic8259_acknowledge(get_pic8259_master(&device));
if ((vector & 0x0f) == APOLLO_IRQ_PIC_SLAVE) {
diff --git a/src/mess/machine/apple2.c b/src/mess/machine/apple2.c
index 33d96d120cc..4e02a320424 100644
--- a/src/mess/machine/apple2.c
+++ b/src/mess/machine/apple2.c
@@ -736,7 +736,7 @@ static void apple2_mem_2000(running_machine &machine, offs_t begin, offs_t end,
static void apple2_mem_4000(running_machine &machine, offs_t begin, offs_t end, apple2_meminfo *meminfo)
{
apple2_state *state = machine.driver_data<apple2_state>();
- meminfo->read_handler = (state->m_flags & VAR_RAMRD) ? &state->read_delegates_4000[0] : &state->read_delegates_4000[1];
+ meminfo->read_handler = (state->m_flags & VAR_RAMRD) ? &state->read_delegates_4000[0] : &state->read_delegates_4000[1];
meminfo->write_handler = (state->m_flags & VAR_RAMWRT) ? &state->write_delegates_4000[0] : &state->write_delegates_4000[1];
}
@@ -911,7 +911,7 @@ static void apple2_mem_E000(running_machine &machine, offs_t begin, offs_t end,
if (state->m_flags & VAR_LCWRITE)
{
- meminfo->write_handler = (state->m_flags & VAR_ALTZP) ? &state->write_delegates_e000[0] : &state->write_delegates_e000[1];
+ meminfo->write_handler = (state->m_flags & VAR_ALTZP) ? &state->write_delegates_e000[0] : &state->write_delegates_e000[1];
}
else
{
diff --git a/src/mess/machine/apple2gs.c b/src/mess/machine/apple2gs.c
index 4aaa86e1f14..b72657df22c 100644
--- a/src/mess/machine/apple2gs.c
+++ b/src/mess/machine/apple2gs.c
@@ -513,7 +513,7 @@ static void adb_write_datareg(running_machine &machine, UINT8 data)
state->m_adb_command_length = 0;
state->m_adb_command_pos = 0;
-// printf("ADB command %02x\n", data);
+// printf("ADB command %02x\n", data);
switch(data)
{
case 0x00: /* ??? */
@@ -536,9 +536,9 @@ static void adb_write_datareg(running_machine &machine, UINT8 data)
case 0x07: /* synchronize */
if (state->m_is_rom3)
- state->m_adb_command_length = 8; // ROM 3 has 8 bytes: mode byte, 3 config bytes, kbd/mouse params, disk eject options
+ state->m_adb_command_length = 8; // ROM 3 has 8 bytes: mode byte, 3 config bytes, kbd/mouse params, disk eject options
else
- state->m_adb_command_length = 4; // ROM 0/1 has 4 bytes sync
+ state->m_adb_command_length = 4; // ROM 0/1 has 4 bytes sync
break;
case 0x08: /* write memory */
@@ -604,7 +604,7 @@ static void adb_write_datareg(running_machine &machine, UINT8 data)
case ADBSTATE_INCOMMAND:
assert(state->m_adb_command_pos < ARRAY_LENGTH(state->m_adb_command_bytes));
-// printf("ADB param %02x\n", data);
+// printf("ADB param %02x\n", data);
state->m_adb_command_bytes[state->m_adb_command_pos++] = data;
break;
@@ -907,18 +907,18 @@ static int apple2gs_get_vpos(running_machine &machine)
READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
{
- UINT8 result;
- scc8530_t *scc;
+ UINT8 result;
+ scc8530_t *scc;
- if(space.debugger_access())
- {
- return 0;
- }
+ if(space.debugger_access())
+ {
+ return 0;
+ }
- offset &= 0xFF;
+ offset &= 0xFF;
- switch(offset)
- {
+ switch(offset)
+ {
#if RUN_ADB_MICRO
case 0x00: /* C000 - KEYDATA */
result = keyglu_816_read(GLU_C000);
@@ -942,7 +942,7 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
break;
case 0x24: /* C024 - MOUSEDATA */
- #if RUN_ADB_MICRO
+ #if RUN_ADB_MICRO
result = keyglu_816_read(GLU_MOUSEX);
#else
result = adb_read_mousedata(space.machine());
@@ -950,7 +950,7 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
break;
case 0x25: /* C025 - KEYMODREG */
- #if RUN_ADB_MICRO
+ #if RUN_ADB_MICRO
result = keyglu_816_read(GLU_KEYMOD);
#else
result = AY3600_keymod_r(space.machine());
@@ -958,7 +958,7 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
break;
case 0x26: /* C026 - DATAREG */
- #if RUN_ADB_MICRO
+ #if RUN_ADB_MICRO
result = keyglu_816_read(GLU_DATA);
#else
result = adb_read_datareg();
@@ -966,7 +966,7 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
break;
case 0x27: /* C027 - KMSTATUS */
- #if RUN_ADB_MICRO
+ #if RUN_ADB_MICRO
result = keyglu_816_read(GLU_SYSSTAT);
#else
result = adb_read_kmstatus();
@@ -1093,10 +1093,10 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
break;
}
- if (LOG_C0XX)
- logerror("apple2gs_c0xx_r(): offset=0x%02x result=0x%02x\n", offset, result);
+ if (LOG_C0XX)
+ logerror("apple2gs_c0xx_r(): offset=0x%02x result=0x%02x\n", offset, result);
- return result;
+ return result;
}
@@ -1228,14 +1228,14 @@ WRITE8_MEMBER( apple2gs_state::apple2gs_c0xx_w )
case 0x68: /* C068 - STATEREG */
apple2_setvar(space.machine(),
- ((data & 0x80) ? VAR_ALTZP : 0) |
- ((data & 0x40) ? VAR_PAGE2 : 0) |
- ((data & 0x20) ? VAR_RAMRD : 0) |
- ((data & 0x10) ? VAR_RAMWRT : 0) |
- ((data & 0x08) ? 0 : VAR_LCRAM) |
- ((data & 0x04) ? VAR_LCRAM2 : 0) |
- ((data & 0x01) ? VAR_INTCXROM : 0),
- VAR_ALTZP | VAR_PAGE2 | VAR_RAMRD | VAR_RAMWRT | VAR_LCRAM | VAR_LCRAM2 | VAR_INTCXROM);
+ ((data & 0x80) ? VAR_ALTZP : 0) |
+ ((data & 0x40) ? VAR_PAGE2 : 0) |
+ ((data & 0x20) ? VAR_RAMRD : 0) |
+ ((data & 0x10) ? VAR_RAMWRT : 0) |
+ ((data & 0x08) ? 0 : VAR_LCRAM) |
+ ((data & 0x04) ? VAR_LCRAM2 : 0) |
+ ((data & 0x01) ? VAR_INTCXROM : 0),
+ VAR_ALTZP | VAR_PAGE2 | VAR_RAMRD | VAR_RAMWRT | VAR_LCRAM | VAR_LCRAM2 | VAR_INTCXROM);
break;
// slot 6 registers should go to applefdc if slot 6 not "Your Card"
@@ -1261,7 +1261,7 @@ WRITE8_MEMBER( apple2gs_state::apple2gs_c0xx_w )
apple2_c080_w(space, offset, data, 0);
}
break;
- }
+ }
}
@@ -2104,7 +2104,7 @@ void apple2gs_state::keyglu_mcu_write(UINT8 offset, UINT8 data)
case GLU_MOUSEX:
case GLU_MOUSEY:
m_glu_regs[GLU_KG_STATUS] |= KGS_MOUSEX_FULL;
- m_glu_mouse_read_stat = false; // signal next read will be mouse X
+ m_glu_mouse_read_stat = false; // signal next read will be mouse X
break;
case GLU_ANY_KEY_DOWN:
@@ -2121,120 +2121,120 @@ void apple2gs_state::keyglu_mcu_write(UINT8 offset, UINT8 data)
/*
Keym_glu registers map as follows on the 816:
-
+
C000 = key data + any key down, clears strobe
C010 = clears keystrobe
-
+
C024 MOUSEDATA = reads GLU mouseX and mouseY
C025 KEYMODREG = reads GLU keymod register
C026 DATAREG = writes from the 816 go to COMMAND, reads from DATA
C027 KMSTATUS = GLU system status register
-
+
*/
UINT8 apple2gs_state::keyglu_816_read(UINT8 offset)
{
- switch (offset)
- {
- case GLU_C000:
- {
- UINT8 rv;
- rv = m_glu_regs[GLU_KEY_DATA] & 0x7f;
- if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
- {
- rv |= 0x80;
- }
- return rv;
- }
- break;
-
- case GLU_C010:
- {
- UINT8 rv;
- rv = m_glu_regs[GLU_KEY_DATA] & 0x7f;
- if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
- {
- rv |= 0x80;
- }
- m_glu_regs[GLU_KG_STATUS] &= ~KGS_KEYSTROBE;
- return rv;
- }
- break;
-
- case GLU_MOUSEX:
- case GLU_MOUSEY:
- if (!m_glu_mouse_read_stat)
- {
- m_glu_mouse_read_stat = 1;
- return m_glu_regs[GLU_MOUSEY];
- }
- return m_glu_regs[GLU_MOUSEX];
-
- case GLU_SYSSTAT:
- // regenerate sysstat bits
- m_glu_sysstat &= ~0xab; // mask off read/write bits
- if (m_glu_regs[GLU_KG_STATUS] & KGS_COMMAND_FULL)
- {
- m_glu_sysstat |= 1;
- }
- if (m_glu_regs[GLU_KG_STATUS] & m_glu_mouse_read_stat)
- {
- m_glu_sysstat |= 2;
- }
- if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
- {
- m_glu_sysstat |= 8;
- }
- if (m_glu_regs[GLU_KG_STATUS] & KGS_DATA_FULL)
- {
- m_glu_sysstat |= 0x20;
- }
- if (m_glu_regs[GLU_KG_STATUS] & KGS_MOUSEX_FULL)
- {
- m_glu_sysstat |= 0x80;
- }
- m_glu_816_read_dstat = true;
-// printf("816 gets %02x in sysstat (data avail %02x)\n", m_glu_sysstat, m_glu_sysstat & 0x20);
- return m_glu_sysstat;
-
- case GLU_DATA:
- if (m_glu_816_read_dstat)
- {
- m_glu_816_read_dstat = false;
- m_glu_regs[GLU_KG_STATUS] &= ~KGS_DATA_FULL;
- printf("816 reads %02x from DATA\n", m_glu_regs[GLU_DATA]);
- }
- return m_glu_regs[GLU_DATA];
-
- default:
- return m_glu_regs[offset];
- break;
- }
-
- return 0xff;
+ switch (offset)
+ {
+ case GLU_C000:
+ {
+ UINT8 rv;
+ rv = m_glu_regs[GLU_KEY_DATA] & 0x7f;
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
+ {
+ rv |= 0x80;
+ }
+ return rv;
+ }
+ break;
+
+ case GLU_C010:
+ {
+ UINT8 rv;
+ rv = m_glu_regs[GLU_KEY_DATA] & 0x7f;
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
+ {
+ rv |= 0x80;
+ }
+ m_glu_regs[GLU_KG_STATUS] &= ~KGS_KEYSTROBE;
+ return rv;
+ }
+ break;
+
+ case GLU_MOUSEX:
+ case GLU_MOUSEY:
+ if (!m_glu_mouse_read_stat)
+ {
+ m_glu_mouse_read_stat = 1;
+ return m_glu_regs[GLU_MOUSEY];
+ }
+ return m_glu_regs[GLU_MOUSEX];
+
+ case GLU_SYSSTAT:
+ // regenerate sysstat bits
+ m_glu_sysstat &= ~0xab; // mask off read/write bits
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_COMMAND_FULL)
+ {
+ m_glu_sysstat |= 1;
+ }
+ if (m_glu_regs[GLU_KG_STATUS] & m_glu_mouse_read_stat)
+ {
+ m_glu_sysstat |= 2;
+ }
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_KEYSTROBE)
+ {
+ m_glu_sysstat |= 8;
+ }
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_DATA_FULL)
+ {
+ m_glu_sysstat |= 0x20;
+ }
+ if (m_glu_regs[GLU_KG_STATUS] & KGS_MOUSEX_FULL)
+ {
+ m_glu_sysstat |= 0x80;
+ }
+ m_glu_816_read_dstat = true;
+// printf("816 gets %02x in sysstat (data avail %02x)\n", m_glu_sysstat, m_glu_sysstat & 0x20);
+ return m_glu_sysstat;
+
+ case GLU_DATA:
+ if (m_glu_816_read_dstat)
+ {
+ m_glu_816_read_dstat = false;
+ m_glu_regs[GLU_KG_STATUS] &= ~KGS_DATA_FULL;
+ printf("816 reads %02x from DATA\n", m_glu_regs[GLU_DATA]);
+ }
+ return m_glu_regs[GLU_DATA];
+
+ default:
+ return m_glu_regs[offset];
+ break;
+ }
+
+ return 0xff;
}
void apple2gs_state::keyglu_816_write(UINT8 offset, UINT8 data)
{
- if (offset < GLU_C000)
- {
- m_glu_regs[offset&7] = data;
- }
-
- switch (offset)
- {
- case GLU_C010:
- m_glu_regs[GLU_KG_STATUS] &= ~KGS_KEYSTROBE;
- break;
-
- case GLU_COMMAND:
- printf("816 sets COMMAND to %02x (raise command full)\n", data);
- m_glu_regs[GLU_KG_STATUS] |= KGS_COMMAND_FULL;
- break;
-
- case GLU_SYSSTAT:
- m_glu_sysstat &= 0xab; // clear the non-read-only fields
- m_glu_sysstat |= (data & ~0xab);
- break;
- }
+ if (offset < GLU_C000)
+ {
+ m_glu_regs[offset&7] = data;
+ }
+
+ switch (offset)
+ {
+ case GLU_C010:
+ m_glu_regs[GLU_KG_STATUS] &= ~KGS_KEYSTROBE;
+ break;
+
+ case GLU_COMMAND:
+ printf("816 sets COMMAND to %02x (raise command full)\n", data);
+ m_glu_regs[GLU_KG_STATUS] |= KGS_COMMAND_FULL;
+ break;
+
+ case GLU_SYSSTAT:
+ m_glu_sysstat &= 0xab; // clear the non-read-only fields
+ m_glu_sysstat |= (data & ~0xab);
+ break;
+ }
}
#endif
diff --git a/src/mess/machine/ataricrt.c b/src/mess/machine/ataricrt.c
index f151100f767..a7f3bee0e8d 100644
--- a/src/mess/machine/ataricrt.c
+++ b/src/mess/machine/ataricrt.c
@@ -54,5 +54,3 @@ static READ8_HANDLER( bbsb_bankh_r )
return &mem[0x4000 + bbsb_bankh * 0x1000];
}
#endif
-
-
diff --git a/src/mess/machine/ay3600.c b/src/mess/machine/ay3600.c
index 24eab6de999..77451c6537d 100644
--- a/src/mess/machine/ay3600.c
+++ b/src/mess/machine/ay3600.c
@@ -356,8 +356,8 @@ static TIMER_CALLBACK(AY3600_poll)
int caps_lock = 0;
int curkey;
int curkey_unmodified;
- ioport_port *portnames[] = { state->m_kb0, state->m_kb1, state->m_kb2, state->m_kb3, state->m_kb4, state->m_kb5, state->m_kb6,
- state->m_kpad1, state->m_kpad2 };
+ ioport_port *portnames[] = { state->m_kb0, state->m_kb1, state->m_kb2, state->m_kb3, state->m_kb4, state->m_kb5, state->m_kb6,
+ state->m_kpad1, state->m_kpad2 };
/* check for these special cases because they affect the emulated key codes */
diff --git a/src/mess/machine/c1581.c b/src/mess/machine/c1581.c
index 6c313f6c585..ee639e9bb58 100644
--- a/src/mess/machine/c1581.c
+++ b/src/mess/machine/c1581.c
@@ -11,8 +11,8 @@
TODO:
- - drive not ready if ready_r() is connected to CIA
- - format fails (seeks to directory track and reports BAD DISK error)
+ - drive not ready if ready_r() is connected to CIA
+ - format fails (seeks to directory track and reports BAD DISK error)
- save fails (no error message, but no file added to directory either)
*/
diff --git a/src/mess/machine/c64_fcc.c b/src/mess/machine/c64_fcc.c
index 4b5d0be5733..59b954b5394 100644
--- a/src/mess/machine/c64_fcc.c
+++ b/src/mess/machine/c64_fcc.c
@@ -9,16 +9,16 @@
/*
- TODO:
+ TODO:
- 629D ldx #$00
- 629F stx $0e
- 62A1 sta $df00
- 62A4 inc $d020
- 62A7 dec $d020
- 62AA cpx $0e
- 62AC beq $62a4 <-- eternal loop here
- 62AE rts
+ 629D ldx #$00
+ 629F stx $0e
+ 62A1 sta $df00
+ 62A4 inc $d020
+ 62A7 dec $d020
+ 62AA cpx $0e
+ 62AC beq $62a4 <-- eternal loop here
+ 62AE rts
*/
@@ -205,38 +205,38 @@ void c64_final_chesscard_device::c64_cd_w(address_space &space, offs_t offset, U
else if (!io1)
{
/*
-
+
bit description
-
+
0 ?
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+
*/
printf("IO1 %04x %02x\n", offset, data);
m_bank = BIT(data, 0);
}
- else if (!io2)
+ else if (!io2)
{
/*
-
+
bit description
-
+
0 ?
- 1
- 2
- 3
- 4
- 5
- 6
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
7 ?
-
+
*/
printf("IO2 %04x %02x\n", offset, data);
diff --git a/src/mess/machine/c64_magic_voice.c b/src/mess/machine/c64_magic_voice.c
index b8629be4f5a..0a21852a7c3 100644
--- a/src/mess/machine/c64_magic_voice.c
+++ b/src/mess/machine/c64_magic_voice.c
@@ -15,8 +15,8 @@
// MACROS / CONSTANTS
//**************************************************************************
-#define T6721A_TAG "u5"
-#define MOS6525_TAG "u2"
+#define T6721A_TAG "u5"
+#define MOS6525_TAG "u2"
diff --git a/src/mess/machine/c64_magic_voice.h b/src/mess/machine/c64_magic_voice.h
index 03bfaf44e84..6eb2d1a4d46 100644
--- a/src/mess/machine/c64_magic_voice.h
+++ b/src/mess/machine/c64_magic_voice.h
@@ -27,7 +27,7 @@
// ======================> c64_magic_voice_cartridge_device
class c64_magic_voice_cartridge_device : public device_t,
- public device_c64_expansion_card_interface
+ public device_c64_expansion_card_interface
{
public:
// construction/destruction
diff --git a/src/mess/machine/c64_sw8k.c b/src/mess/machine/c64_sw8k.c
index ed1e2c893a5..0f554f3e93f 100644
--- a/src/mess/machine/c64_sw8k.c
+++ b/src/mess/machine/c64_sw8k.c
@@ -75,7 +75,7 @@ ioport_constructor c64_switchable_8k_cartridge_device::device_input_ports() cons
c64_switchable_8k_cartridge_device::c64_switchable_8k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, C64_SW8K, "C64 Switchable 8K cartridge", tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
- m_sw(*this, "SW")
+ m_sw(*this, "SW")
{
}
diff --git a/src/mess/machine/c64_sw8k.h b/src/mess/machine/c64_sw8k.h
index 9ccb75b36be..86bb4c98fdb 100644
--- a/src/mess/machine/c64_sw8k.h
+++ b/src/mess/machine/c64_sw8k.h
@@ -45,7 +45,7 @@ protected:
private:
required_ioport m_sw;
-
+
int m_bank;
};
diff --git a/src/mess/machine/c64_swiftlink.c b/src/mess/machine/c64_swiftlink.c
index 3c79e213bed..536181f1fd4 100644
--- a/src/mess/machine/c64_swiftlink.c
+++ b/src/mess/machine/c64_swiftlink.c
@@ -9,7 +9,7 @@
/*
- http://mclauchlan.site.net.au/scott/C=Hacking/C-Hacking10/C-Hacking10-swiftlink.html
+ http://mclauchlan.site.net.au/scott/C=Hacking/C-Hacking10/C-Hacking10-swiftlink.html
*/
@@ -21,8 +21,8 @@
// MACROS/CONSTANTS
//**************************************************************************
-#define MOS6551_TAG "mos6551"
-#define RS232_TAG "rs232"
+#define MOS6551_TAG "mos6551"
+#define RS232_TAG "rs232"
diff --git a/src/mess/machine/c64_turbo232.c b/src/mess/machine/c64_turbo232.c
index 85d9488d7ca..6b8e9fd2c60 100644
--- a/src/mess/machine/c64_turbo232.c
+++ b/src/mess/machine/c64_turbo232.c
@@ -9,7 +9,7 @@
/*
- http://ar.c64.org/wiki/Turbo232_Programming.txt
+ http://ar.c64.org/wiki/Turbo232_Programming.txt
*/
@@ -21,8 +21,8 @@
// MACROS/CONSTANTS
//**************************************************************************
-#define MOS6551_TAG "mos6551"
-#define RS232_TAG "rs232"
+#define MOS6551_TAG "mos6551"
+#define RS232_TAG "rs232"
diff --git a/src/mess/machine/c64_vizastar.c b/src/mess/machine/c64_vizastar.c
index b90eeb81db1..947b5db9cc1 100644
--- a/src/mess/machine/c64_vizastar.c
+++ b/src/mess/machine/c64_vizastar.c
@@ -11,7 +11,7 @@
PCB Layout
----------
- RB84 (C) MICROPORT
+ RB84 (C) MICROPORT
|===========================|
|=| |
|=| |
diff --git a/src/mess/machine/comxpl80.h b/src/mess/machine/comxpl80.h
index e4e4ff1eaf1..ed828887dd9 100644
--- a/src/mess/machine/comxpl80.h
+++ b/src/mess/machine/comxpl80.h
@@ -52,7 +52,7 @@ private:
required_memory_region m_plotter;
required_ioport m_font;
required_ioport m_sw;
-
+
// PL-80 plotter state
UINT16 m_font_addr; // font ROM pack address latch
UINT8 m_x_motor_phase; // X motor phase
diff --git a/src/mess/machine/ecb_grip.c b/src/mess/machine/ecb_grip.c
index 7a8e9a5280f..5486ab26f09 100644
--- a/src/mess/machine/ecb_grip.c
+++ b/src/mess/machine/ecb_grip.c
@@ -301,7 +301,7 @@ static MC6845_INTERFACE( crtc_intf )
static MC6845_INTERFACE( grip5_crtc_intf )
{
SCREEN_TAG,
- false,
+ false,
8,
NULL,
grip5_update_row,
diff --git a/src/mess/machine/gb.c b/src/mess/machine/gb.c
index 2160cacaa53..60f97ddfb6e 100644
--- a/src/mess/machine/gb.c
+++ b/src/mess/machine/gb.c
@@ -1057,7 +1057,7 @@ MACHINE_RESET_MEMBER(megaduck_state,megaduck)
{
/* We may have to add some more stuff here, if not then it can be merged back into gb */
gb_init();
-
+
m_bios_disable = TRUE;
gb_video_reset( GB_VIDEO_DMG );
@@ -1168,4 +1168,3 @@ READ8_MEMBER(megaduck_state::megaduck_sound_r2)
{
return gb_sound_r(machine().device("custom"), space, 0x10 + megaduck_sound_offsets[offset]);
}
-
diff --git a/src/mess/machine/gb_mbc.c b/src/mess/machine/gb_mbc.c
index 1ffd2808774..c643e118699 100644
--- a/src/mess/machine/gb_mbc.c
+++ b/src/mess/machine/gb_mbc.c
@@ -1,8 +1,8 @@
/***********************************************************************************************************
-
+
Game Boy carts with MBC (Memory Bank Controller)
-
-
+
+
TODO: add proper RTC and Rumble support
***********************************************************************************************************/
@@ -94,7 +94,7 @@ void gb_rom_mbc1_device::device_start()
{
has_timer = FALSE;
has_rumble = FALSE;
-
+
m_latch_bank = 0;
m_latch_bank2 = 1;
m_ram_bank = 0;
@@ -111,7 +111,7 @@ void gb_rom_mbc1k_device::device_start()
{
has_timer = FALSE;
has_rumble = FALSE;
-
+
m_latch_bank = 0;
m_latch_bank2 = 1;
m_ram_bank = 0;
@@ -128,7 +128,7 @@ void gb_rom_mbc2_device::device_start()
{
has_timer = FALSE;
has_rumble = FALSE;
-
+
m_latch_bank = 0;
m_latch_bank2 = 1;
m_ram_bank = 0;
@@ -164,7 +164,7 @@ void gb_rom_mbc5_device::device_start()
{
has_timer = FALSE;
has_rumble = FALSE;
-
+
m_latch_bank = 0;
m_latch_bank2 = 1;
m_ram_bank = 0;
@@ -181,14 +181,14 @@ void gb_rom_mbc6_device::device_start()
{
has_timer = FALSE;
has_rumble = FALSE;
-
- m_bank_4000 = 2; // correct default?
- m_bank_6000 = 3; // correct default?
- m_latch1 = 0; // correct default?
- m_latch2 = 0; // correct default?
-
- m_latch_bank = 2; // correct default?
- m_latch_bank2 = 3; // correct default?
+
+ m_bank_4000 = 2; // correct default?
+ m_bank_6000 = 3; // correct default?
+ m_latch1 = 0; // correct default?
+ m_latch2 = 0; // correct default?
+
+ m_latch_bank = 2; // correct default?
+ m_latch_bank2 = 3; // correct default?
m_ram_bank = 0;
m_ram_enable = 0;
m_mode = 0;
@@ -208,7 +208,7 @@ void gb_rom_mbc7_device::device_start()
{
has_timer = FALSE;
has_rumble = TRUE;
-
+
m_latch_bank = 0;
m_latch_bank2 = 1;
m_ram_bank = 0;
@@ -223,7 +223,7 @@ void gb_rom_mmm01_device::device_start()
{
has_timer = FALSE;
has_rumble = TRUE;
-
+
m_latch_bank = 0x200 - 2;
m_latch_bank2 = 0x200 - 1;
m_ram_bank = 0;
@@ -285,7 +285,7 @@ WRITE8_MEMBER(gb_rom_mbc1_device::write_bank)
// bank = 0 => bank = 1
if (data == 0)
data = 1;
-
+
m_latch_bank2 = (m_latch_bank2 & 0x01e0) | data;
}
else if (offset < 0x6000)
@@ -340,7 +340,7 @@ WRITE8_MEMBER(gb_rom_mbc1k_device::write_bank)
// bank = 0 => bank = 1
if (data == 0)
data = 1;
-
+
m_latch_bank2 = (m_latch_bank2 & 0x01f0) | data;
}
else if (offset < 0x6000)
@@ -390,13 +390,13 @@ WRITE8_MEMBER(gb_rom_mbc2_device::write_bank)
if (offset < 0x2000)
m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0;
else if (offset < 0x4000)
- {
+ {
// 4bits only
data &= 0x0f;
// bank = 0 => bank = 1
if (data == 0)
data = 1;
-
+
// The least significant bit of the upper address byte must be 1
if (offset & 0x0100)
m_latch_bank2 = (m_latch_bank2 & 0x100) | data;
@@ -440,7 +440,7 @@ WRITE8_MEMBER(gb_rom_mbc3_device::write_bank)
/* Selecting bank 0 == selecting bank 1 */
if (data == 0)
data = 1;
-
+
m_latch_bank2 = data;
}
else if (offset < 0x6000)
@@ -464,14 +464,14 @@ WRITE8_MEMBER(gb_rom_mbc3_device::write_bank)
READ8_MEMBER(gb_rom_mbc3_device::read_ram)
{
if (m_ram_bank < 4 && m_ram_enable)
- { // RAM
+ { // RAM
if (m_ram)
- return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
+ return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)];
}
if (m_ram_bank >= 0x8 && m_ram_bank <= 0xc)
- { // RAM
+ { // RAM
if (has_timer)
- return m_rtc_map[m_ram_bank - 8];
+ return m_rtc_map[m_ram_bank - 8];
}
return 0xff;
}
@@ -479,12 +479,12 @@ READ8_MEMBER(gb_rom_mbc3_device::read_ram)
WRITE8_MEMBER(gb_rom_mbc3_device::write_ram)
{
if (m_ram_bank < 4 && m_ram_enable)
- { // RAM
+ { // RAM
if (m_ram)
m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data;
}
if (m_ram_bank >= 0x8 && m_ram_bank <= 0xc)
- { // RAM
+ { // RAM
if (has_timer)
{
// what to do here?
@@ -689,4 +689,3 @@ WRITE8_MEMBER(gb_rom_mmm01_device::write_bank)
}
}
}
-
diff --git a/src/mess/machine/gb_mbc.h b/src/mess/machine/gb_mbc.h
index faa5b5640d4..c29c558495f 100644
--- a/src/mess/machine/gb_mbc.h
+++ b/src/mess/machine/gb_mbc.h
@@ -7,12 +7,12 @@
// ======================> gb_rom_mbc_device
class gb_rom_mbc_device : public device_t,
- public device_gb_cart_interface
+ public device_gb_cart_interface
{
public:
// construction/destruction
gb_rom_mbc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc_base"; }
@@ -21,7 +21,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_READ8_MEMBER(read_ram);
virtual DECLARE_WRITE8_MEMBER(write_ram);
-
+
UINT8 m_ram_enable;
UINT8 m_mode;
};
@@ -33,7 +33,7 @@ class gb_rom_mbc1_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc1"; }
@@ -51,11 +51,11 @@ class gb_rom_mbc1k_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc1k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc1k"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -69,11 +69,11 @@ class gb_rom_mbc2_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc2"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -87,11 +87,11 @@ class gb_rom_mbc3_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc3"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -106,11 +106,11 @@ class gb_rom_mbc5_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc5_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc5"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -124,11 +124,11 @@ class gb_rom_mbc6_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc6_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc6"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -144,11 +144,11 @@ class gb_rom_mbc7_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mbc7_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mbc7"; }
-
+
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -161,11 +161,11 @@ class gb_rom_mmm01_device : public gb_rom_mbc_device
public:
// construction/destruction
gb_rom_mmm01_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_mmm01"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
diff --git a/src/mess/machine/gb_rom.c b/src/mess/machine/gb_rom.c
index 1f6de921f7e..d7fca7581fb 100644
--- a/src/mess/machine/gb_rom.c
+++ b/src/mess/machine/gb_rom.c
@@ -1,11 +1,11 @@
/***********************************************************************************************************
Game Boy cart emulation
-
-
+
+
Here we emulate carts with no RAM and simple bankswitch
-
-
+
+
***********************************************************************************************************/
@@ -96,7 +96,7 @@ void megaduck_rom_device::device_start()
void gb_rom_tama5_device::device_start()
{
m_tama5_data = 0;
- m_tama5_addr= 0;
+ m_tama5_addr= 0;
m_tama5_cmd = 0;
memset(m_regs, 0xff, sizeof(m_regs));
m_rtc_reg = 0xff;
@@ -366,4 +366,3 @@ WRITE8_MEMBER(megaduck_rom_device::write_ram)
m_latch_bank = data * 2;
m_latch_bank2 = data * 2 + 1;
}
-
diff --git a/src/mess/machine/gb_rom.h b/src/mess/machine/gb_rom.h
index 0a538effd55..805df3bd2df 100644
--- a/src/mess/machine/gb_rom.h
+++ b/src/mess/machine/gb_rom.h
@@ -7,13 +7,13 @@
// ======================> gb_rom_device
class gb_rom_device : public device_t,
- public device_gb_cart_interface
+ public device_gb_cart_interface
{
public:
// construction/destruction
gb_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
gb_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom"; }
@@ -30,11 +30,11 @@ class gb_rom_tama5_device : public gb_rom_device
public:
// construction/destruction
gb_rom_tama5_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_tama5"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_READ8_MEMBER(read_ram);
@@ -50,11 +50,11 @@ class gb_rom_wisdom_device : public gb_rom_device
public:
// construction/destruction
gb_rom_wisdom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_wisdom"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
@@ -66,11 +66,11 @@ class gb_rom_yong_device : public gb_rom_device
public:
// construction/destruction
gb_rom_yong_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_yong"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
@@ -82,11 +82,11 @@ class gb_rom_atvrac_device : public gb_rom_device
public:
// construction/destruction
gb_rom_atvrac_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_atvrac"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
@@ -98,11 +98,11 @@ class gb_rom_lasama_device : public gb_rom_device
public:
// construction/destruction
gb_rom_lasama_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "gb_rom_lasama"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
@@ -119,11 +119,11 @@ public:
// construction/destruction
megaduck_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
megaduck_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "megaduck_rom"; }
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
diff --git a/src/mess/machine/gb_slot.c b/src/mess/machine/gb_slot.c
index d469e4103f3..810d2cdb319 100644
--- a/src/mess/machine/gb_slot.c
+++ b/src/mess/machine/gb_slot.c
@@ -1,18 +1,18 @@
/***********************************************************************************************************
-
+
Game Boy cart emulation
(through slot devices)
-
+
The driver exposes address ranges
0x0000-0x7fff to read_rom/write_bank
0xa000-0xbfff to read_ram/write_ram (typically RAM/NVRAM accesses, but megaduck uses the write for bankswitch)
-
+
currently available slot devices:
gb_rom: standard carts + TAMA5 mapper + pirate carts with protection & bankswitch
gb_mbc: MBC1-MBC7 carts (more complex bankswitch + RAM + possibly RTC/Rumble/etc.)
-
+
***********************************************************************************************************/
@@ -81,17 +81,17 @@ void device_gb_cart_interface::ram_alloc(running_machine &machine, UINT32 size)
//-------------------------------------------------
-// rom_map_setup - setup map of rom banks in 16K
+// rom_map_setup - setup map of rom banks in 16K
// blocks, so to simplify ROM access
//-------------------------------------------------
void device_gb_cart_interface::rom_map_setup(UINT32 size)
{
int i;
- // setup the rom_bank_map array to faster ROM read
+ // setup the rom_bank_map array to faster ROM read
for (i = 0; i < size / 0x4000; i++)
rom_bank_map[i] = i;
-
+
// fill up remaining blocks with mirrors
while (i % 512)
{
@@ -105,26 +105,26 @@ void device_gb_cart_interface::rom_map_setup(UINT32 size)
}
// check bank map!
-// for (i = 0; i < 256; i++)
-// {
-// printf("bank %3d = %3d\t", i, rom_bank_map[i]);
-// if ((i%8) == 7)
-// printf("\n");
-// }
+// for (i = 0; i < 256; i++)
+// {
+// printf("bank %3d = %3d\t", i, rom_bank_map[i]);
+// if ((i%8) == 7)
+// printf("\n");
+// }
}
//-------------------------------------------------
-// ram_map_setup - setup map of ram banks in 16K
+// ram_map_setup - setup map of ram banks in 16K
// blocks, so to simplify ROM access
//-------------------------------------------------
void device_gb_cart_interface::ram_map_setup(UINT8 banks)
{
int mask = banks - 1;
-
+
for (int i = 0; i < banks; i++)
ram_bank_map[i] = i;
-
+
// Set up rest of the (mirrored) RAM pages
for (int i = banks; i < 256; i++)
ram_bank_map[i] = i & mask;
@@ -208,8 +208,8 @@ static const gb_slot slot_list[] =
{ GB_MBC_MBC7, "rom_mbc7" },
{ GB_MBC_TAMA5, "rom_tama5" },
{ GB_MBC_MMM01, "rom_mmm01" },
- { GB_MBC_MBC3, "rom_huc1" }, // for now treat this as alias for MBC3
- { GB_MBC_MBC3, "rom_huc3" }, // for now treat this as alias for MBC3
+ { GB_MBC_MBC3, "rom_huc1" }, // for now treat this as alias for MBC3
+ { GB_MBC_MBC3, "rom_huc3" }, // for now treat this as alias for MBC3
{ GB_MBC_WISDOM, "rom_wisdom" },
{ GB_MBC_YONGYONG, "rom_yong" },
{ GB_MBC_LASAMA, "rom_lasama" },
@@ -224,7 +224,7 @@ static int gb_get_pcb_id(const char *slot)
if (!mame_stricmp(slot_list[i].slot_option, slot))
return slot_list[i].pcb_id;
}
-
+
return 0;
}
@@ -235,7 +235,7 @@ static const char *gb_get_slot(int type)
if (slot_list[i].pcb_id == type)
return slot_list[i].slot_option;
}
-
+
return "rom";
}
@@ -263,7 +263,7 @@ bool base_gb_cart_slot_device::call_load()
offset = 512;
len -= offset;
fseek(offset, SEEK_SET);
- }
+ }
/* Verify that the file contains 16kb blocks */
if ((len == 0) || ((len % 0x4000) != 0))
{
@@ -271,7 +271,7 @@ bool base_gb_cart_slot_device::call_load()
return IMAGE_INIT_FAIL;
}
}
-
+
m_cart->rom_alloc(machine(), len);
ROM = m_cart->get_rom_base();
@@ -310,7 +310,7 @@ bool base_gb_cart_slot_device::call_load()
if (!mame_stricmp(get_feature("rumble"), "yes"))
m_cart->set_has_rumble(TRUE);
}
-
+
if (get_feature("rtc"))
{
if (!mame_stricmp(get_feature("rtc"), "yes"))
@@ -330,17 +330,17 @@ bool base_gb_cart_slot_device::call_load()
m_cart->set_has_battery(TRUE);
m_cart->set_has_timer(TRUE);
break;
-
+
case 0x1c: case 0x1d:
m_cart->set_has_rumble(TRUE);
break;
-
+
case 0x1e:
m_cart->set_has_battery(TRUE);
m_cart->set_has_rumble(TRUE);
break;
}
-
+
switch (ROM[0x0149 + offset] & 0x07)
{
case 0x00: case 0x06: case 0x07:
@@ -360,7 +360,7 @@ bool base_gb_cart_slot_device::call_load()
rambanks = 8;
break;
}
-
+
if (type == GB_MBC_MBC2 || type == GB_MBC_MBC7)
rambanks = 1;
}
@@ -373,14 +373,14 @@ bool base_gb_cart_slot_device::call_load()
if (m_cart->get_ram_size() && m_cart->get_has_battery())
battery_load(m_cart->get_ram_base(), m_cart->get_ram_size(), 0xff);
-
+
//printf("Type: %s\n", gb_get_slot(type));
internal_header_logging(ROM + offset, len);
return IMAGE_INIT_PASS;
}
-
+
return IMAGE_INIT_PASS;
}
@@ -393,7 +393,7 @@ bool megaduck_cart_slot_device::call_load()
m_cart->rom_alloc(machine(), len);
ROM = m_cart->get_rom_base();
-
+
if (software_entry() == NULL)
fread(ROM, len);
else
@@ -401,10 +401,10 @@ bool megaduck_cart_slot_device::call_load()
// setup rom bank map based on real length, not header value
m_cart->rom_map_setup(len);
-
+
return IMAGE_INIT_PASS;
}
-
+
return IMAGE_INIT_PASS;
}
@@ -455,7 +455,7 @@ bool base_gb_cart_slot_device::get_mmm01_candidate(UINT8 *ROM, UINT32 len)
if (ROM[(len - 0x8000) + 0x104 + i] == nintendo_logo[i])
bytes_matched++;
}
-
+
if (bytes_matched == 0x18 && ROM[(len - 0x8000) + 0x147] >= 0x0b && ROM[(len - 0x8000) + 0x147] <= 0x0d)
return TRUE;
else
@@ -465,13 +465,13 @@ bool base_gb_cart_slot_device::get_mmm01_candidate(UINT8 *ROM, UINT32 len)
int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
{
int type = GB_MBC_NONE;
-
+
if (len < 0x014c)
fatalerror("Checking header of a corrupted image!\n");
switch(ROM[0x0147])
{
- case 0x00: type = GB_MBC_NONE; break;
+ case 0x00: type = GB_MBC_NONE; break;
case 0x01: type = GB_MBC_MBC1; break;
case 0x02: type = GB_MBC_MBC1; break;
case 0x03: type = GB_MBC_MBC1; break;
@@ -519,14 +519,14 @@ int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
type = GB_MBC_WISDOM;
}
}
-
+
/* Check if we're dealing with a Korean variant of the MBC1 mapper */
if (type == GB_MBC_MBC1)
{
if (ROM[0x13f] == 0x42 && ROM[0x140] == 0x32 && ROM[0x141] == 0x43 && ROM[0x142] == 0x4B)
type = GB_MBC_MBC1_KOR;
}
-
+
return type;
}
/*-------------------------------------------------
@@ -535,16 +535,15 @@ int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
const char * base_gb_cart_slot_device::get_default_card_software(const machine_config &config, emu_options &options)
{
-
if (open_image_file(options))
{
const char *slot_string = "rom";
UINT32 len = core_fsize(m_file), offset = 0;
UINT8 *ROM = global_alloc_array(UINT8, len);
int type;
-
+
core_fread(m_file, ROM, len);
-
+
if ((len % 0x4000) == 512)
offset = 512;
@@ -557,7 +556,7 @@ const char * base_gb_cart_slot_device::get_default_card_software(const machine_c
//printf("type: %s\n", slot_string);
global_free(ROM);
clear();
-
+
return slot_string;
}
@@ -612,19 +611,19 @@ void base_gb_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 len)
{
static const char *const cart_types[] =
{
- "ROM ONLY", "ROM+MBC1", "ROM+MBC1+RAM",
- "ROM+MBC1+RAM+BATTERY", "UNKNOWN", "ROM+MBC2",
- "ROM+MBC2+BATTERY", "UNKNOWN", "ROM+RAM",
- "ROM+RAM+BATTERY", "UNKNOWN", "ROM+MMM01",
- "ROM+MMM01+SRAM", "ROM+MMM01+SRAM+BATTERY", "UNKNOWN",
- "ROM+MBC3+TIMER+BATTERY", "ROM+MBC3+TIMER+RAM+BATTERY", "ROM+MBC3",
- "ROM+MBC3+RAM", "ROM+MBC3+RAM+BATTERY", "UNKNOWN",
- "UNKNOWN", "UNKNOWN", "UNKNOWN",
- "UNKNOWN", "ROM+MBC5", "ROM+MBC5+RAM",
- "ROM+MBC5+RAM+BATTERY", "ROM+MBC5+RUMBLE", "ROM+MBC5+RUMBLE+SRAM",
- "ROM+MBC5+RUMBLE+SRAM+BATTERY", "Pocket Camera", "Bandai TAMA5",
+ "ROM ONLY", "ROM+MBC1", "ROM+MBC1+RAM",
+ "ROM+MBC1+RAM+BATTERY", "UNKNOWN", "ROM+MBC2",
+ "ROM+MBC2+BATTERY", "UNKNOWN", "ROM+RAM",
+ "ROM+RAM+BATTERY", "UNKNOWN", "ROM+MMM01",
+ "ROM+MMM01+SRAM", "ROM+MMM01+SRAM+BATTERY", "UNKNOWN",
+ "ROM+MBC3+TIMER+BATTERY", "ROM+MBC3+TIMER+RAM+BATTERY", "ROM+MBC3",
+ "ROM+MBC3+RAM", "ROM+MBC3+RAM+BATTERY", "UNKNOWN",
+ "UNKNOWN", "UNKNOWN", "UNKNOWN",
+ "UNKNOWN", "ROM+MBC5", "ROM+MBC5+RAM",
+ "ROM+MBC5+RAM+BATTERY", "ROM+MBC5+RUMBLE", "ROM+MBC5+RUMBLE+SRAM",
+ "ROM+MBC5+RUMBLE+SRAM+BATTERY", "Pocket Camera", "Bandai TAMA5",
/* Need heaps of unknowns here */
- "Hudson HuC-3", "Hudson HuC-1"
+ "Hudson HuC-3", "Hudson HuC-1"
};
// some company codes
@@ -718,7 +717,7 @@ void base_gb_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 len)
UINT32 tmp = 0;
int csum = 0, i = 0;
int rom_banks;
-
+
switch (ROM[0x0148])
{
case 0x52:
@@ -768,15 +767,15 @@ void base_gb_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 len)
if ((len / 0x4000) != rom_banks)
logerror("\nWarning loading cartridge: Filesize (0x%x) and reported ROM banks (0x%x) don't match.\n",
- len, rom_banks * 0x4000);
+ len, rom_banks * 0x4000);
/* Calculate and check checksum */
tmp = (ROM[0x014e] << 8) + ROM[0x014f];
for (int i = 0; i < len; i++)
csum += ROM[i];
csum -= (ROM[0x014e] + ROM[0x014f]);
csum &= 0xffff;
-
+
if (csum != tmp)
logerror("\nWarning loading cartridge: Checksum is wrong (Actual %X vs Internal %X)\n", csum, tmp);
-} \ No newline at end of file
+}
diff --git a/src/mess/machine/gb_slot.h b/src/mess/machine/gb_slot.h
index 46f2c01be67..154e8c03d5f 100644
--- a/src/mess/machine/gb_slot.h
+++ b/src/mess/machine/gb_slot.h
@@ -63,7 +63,7 @@ public:
virtual void rom_map_setup(UINT32 size);
virtual void ram_map_setup(UINT8 banks);
-
+
virtual void set_has_timer(bool val) { has_timer = val; }
virtual void set_has_rumble(bool val) { has_rumble = val; }
virtual void set_has_battery(bool val) { has_battery = val; }
@@ -82,8 +82,8 @@ public:
// 0x4000-0x7fff = rom_bank_map[m_latch_bank2] (generally defaults to m_latch_bank2 = 1)
// 0xa000-0xbfff = ram_bank_map[m_ram_bank] (generally defaults to m_ram_bank = 0)
// suitable writes to 0x0000-0x7fff can then modify m_latch_bank/m_latch_bank2
- UINT8 rom_bank_map[512]; // 16K chunks of ROM
- UINT8 ram_bank_map[256]; // 16K chunks of RAM
+ UINT8 rom_bank_map[512]; // 16K chunks of ROM
+ UINT8 ram_bank_map[256]; // 16K chunks of RAM
UINT8 m_ram_bank;
UINT16 m_latch_bank, m_latch_bank2;
@@ -102,11 +102,11 @@ public:
// construction/destruction
base_gb_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
virtual ~base_gb_cart_slot_device();
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete();
-
+
// image-level overrides
virtual bool call_load();
virtual void call_unload();
@@ -128,10 +128,10 @@ public:
virtual const option_guide *create_option_guide() const { return NULL; }
virtual const char *image_interface() const { return "gameboy_cart"; }
virtual const char *file_extensions() const { return "bin,gb,gbc"; }
-
+
// slot interface overrides
virtual const char * get_default_card_software(const machine_config &config, emu_options &options);
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_WRITE8_MEMBER(write_bank);
@@ -142,8 +142,8 @@ public:
// this should be private, but then there is some problem installing delegates in the driver...
//private:
- device_gb_cart_interface* m_cart;
-
+ device_gb_cart_interface* m_cart;
+
int m_type;
};
diff --git a/src/mess/machine/isa_gus.c b/src/mess/machine/isa_gus.c
index 95daedabd57..7cd97eb6569 100644
--- a/src/mess/machine/isa_gus.c
+++ b/src/mess/machine/isa_gus.c
@@ -1205,8 +1205,8 @@ static const acia6850_interface gus_midi_interface =
31250 * 16,
0,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa16_gus_device, rx_in), // rx in
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa16_gus_device, tx_out), // tx out
+ DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa16_gus_device, rx_in), // rx in
+ DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa16_gus_device, tx_out), // tx out
DEVCB_NULL,
DEVCB_NULL,
@@ -1230,7 +1230,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
static const gf1_interface gus_gf1_config =
@@ -1721,7 +1721,7 @@ WRITE_LINE_MEMBER( isa16_gus_device::midi_irq )
WRITE_LINE_MEMBER( isa16_gus_device::midi_rx_w )
{
m_rx_state = state;
- for (int i = 0; i < 16; i++) // divider is set to 16
+ for (int i = 0; i < 16; i++) // divider is set to 16
{
m_midi->rx_clock_in();
}
diff --git a/src/mess/machine/isa_sblaster.c b/src/mess/machine/isa_sblaster.c
index fb57be4d1e9..485721275ed 100644
--- a/src/mess/machine/isa_sblaster.c
+++ b/src/mess/machine/isa_sblaster.c
@@ -44,7 +44,7 @@ static const int m_cmd_fifo_length[256] =
-1, -1, -1, -1, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, /* 0x */
2, -1, -1, -1, 3, -1, 3, 3, -1, -1, -1, -1, 1, -1, -1, 1, /* 1x */
-1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 2x */
- 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, /* 3x */
+ 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, /* 3x */
2, 3, 3, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, /* 4x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 5x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 6x */
@@ -86,7 +86,7 @@ SLOT_INTERFACE_END
static const serial_port_interface midiout_intf =
{
- DEVCB_NULL // midi out ports don't transmit inward
+ DEVCB_NULL // midi out ports don't transmit inward
};
static MACHINE_CONFIG_FRAGMENT( sblaster1_0_config )
@@ -336,7 +336,7 @@ READ8_MEMBER(sb_device::dsp_rbuf_status_r)
// printf("Clear IRQ5\n");
irq_w(0, IRQ_DMA8); // reading this port ACKs the card's IRQ, 8-bit dma only?
- // in either SB-MIDI mode, bit 7 indicates if a character is available
+ // in either SB-MIDI mode, bit 7 indicates if a character is available
// to read.
if (m_uart_midi || m_onebyte_midi)
{
@@ -364,7 +364,7 @@ READ8_MEMBER(sb_device::dsp_wbuf_status_r)
{
if (m_tx_waiting >= MIDI_RING_SIZE)
{
- return 0x80;
+ return 0x80;
}
return 0x00;
@@ -453,11 +453,11 @@ void sb_device::process_fifo(UINT8 cmd)
break;
case 0x36:
- case 0x37: // Enter UART mode
+ case 0x37: // Enter UART mode
printf("timestamp MIDI mode not supported, contact MESSDEV!\n");
break;
- case 0x38: // single-byte MIDI send
+ case 0x38: // single-byte MIDI send
m_onebyte_midi = true;
break;
@@ -707,7 +707,7 @@ void sb_device::process_fifo(UINT8 cmd)
WRITE8_MEMBER(sb_device::dsp_cmd_w)
{
-// printf("%02x to DSP command @ %x\n", data, offset);
+// printf("%02x to DSP command @ %x\n", data, offset);
if(offset)
return;
@@ -715,7 +715,7 @@ WRITE8_MEMBER(sb_device::dsp_cmd_w)
if (m_uart_midi || m_onebyte_midi)
{
xmit_char(data);
- m_onebyte_midi = false; // clear onebyte (if this is uart, that's harmless)
+ m_onebyte_midi = false; // clear onebyte (if this is uart, that's harmless)
return;
}
@@ -802,7 +802,7 @@ READ8_MEMBER( sb16_device::mpu401_r )
}
if (m_rx_waiting == 0)
{
- res |= 0x80; // rx empty
+ res |= 0x80; // rx empty
}
}
@@ -1604,7 +1604,7 @@ void sb_device::rcv_complete() // Rx completed receiving byte
}
if (m_uart_irq)
{
- irq_w(1, IRQ_DMA8);
+ irq_w(1, IRQ_DMA8);
}
}
}
@@ -1630,7 +1630,7 @@ void sb16_device::rcv_complete() // Rx completed receiving byte
if (m_uart_irq)
{
- irq_w(1, IRQ_DMA8);
+ irq_w(1, IRQ_DMA8);
}
if (m_mpu_midi)
@@ -1642,7 +1642,7 @@ void sb16_device::rcv_complete() // Rx completed receiving byte
void sb_device::tra_complete() // Tx completed sending byte
{
-// printf("Tx complete\n");
+// printf("Tx complete\n");
// is there more waiting to send?
if (m_tx_waiting)
{
@@ -1662,12 +1662,12 @@ void sb_device::tra_complete() // Tx completed sending byte
void sb_device::tra_callback() // Tx send bit
{
int bit = transmit_register_get_data_bit();
- m_mdout->tx(bit);
+ m_mdout->tx(bit);
}
void sb_device::xmit_char(UINT8 data)
{
-// printf("SB: xmit %02x\n", data);
+// printf("SB: xmit %02x\n", data);
// if tx is busy it'll pick this up automatically when it completes
if (!m_tx_busy)
@@ -1686,4 +1686,3 @@ void sb_device::xmit_char(UINT8 data)
m_tx_waiting++;
}
}
-
diff --git a/src/mess/machine/kb_msnat.h b/src/mess/machine/kb_msnat.h
index 09a9b855671..bde7db35ef2 100644
--- a/src/mess/machine/kb_msnat.h
+++ b/src/mess/machine/kb_msnat.h
@@ -51,7 +51,7 @@ protected:
required_ioport m_p1_1;
required_ioport m_p1_2;
required_ioport m_p1_3;
- required_ioport m_p1_4;
+ required_ioport m_p1_4;
required_ioport m_p1_5;
required_ioport m_p1_6;
required_ioport m_p1_7;
diff --git a/src/mess/machine/lisa.c b/src/mess/machine/lisa.c
index bbce3f267ed..60ff74824f0 100644
--- a/src/mess/machine/lisa.c
+++ b/src/mess/machine/lisa.c
@@ -277,7 +277,7 @@ void lisa_state::scan_keyboard()
{
int i, j;
UINT8 keycode;
- UINT8 keybuf[8] = { m_io_line0->read(), m_io_line1->read(), m_io_line2->read(), m_io_line3->read(),
+ UINT8 keybuf[8] = { m_io_line0->read(), m_io_line1->read(), m_io_line2->read(), m_io_line3->read(),
m_io_line4->read(), m_io_line5->read(), m_io_line6->read(), m_io_line7->read() };
if (! m_COPS_force_unplug)
diff --git a/src/mess/machine/mac.c b/src/mess/machine/mac.c
index 3184b632474..a8a26cef0d9 100644
--- a/src/mess/machine/mac.c
+++ b/src/mess/machine/mac.c
@@ -562,7 +562,7 @@ static int scan_keyboard(running_machine &machine)
int keybuf = 0;
int keycode;
mac_state *mac = machine.driver_data<mac_state>();
- ioport_port *ports[7] = { mac->m_key0, mac->m_key1, mac->m_key2, mac->m_key3, mac->m_key4, mac->m_key5, mac->m_key6 };
+ ioport_port *ports[7] = { mac->m_key0, mac->m_key1, mac->m_key2, mac->m_key3, mac->m_key4, mac->m_key5, mac->m_key6 };
if (mac->m_keycode_buf_index)
{
diff --git a/src/mess/machine/macadb.c b/src/mess/machine/macadb.c
index 84cdc6557e9..7602c67389f 100644
--- a/src/mess/machine/macadb.c
+++ b/src/mess/machine/macadb.c
@@ -76,7 +76,7 @@ static const char *const adb_statenames[4] = { "NEW", "EVEN", "ODD", "IDLE" };
int mac_state::adb_pollkbd(int update)
{
int i, j, keybuf, report, codes[2], result;
- ioport_port *ports[6] = { m_key0, m_key1, m_key2, m_key3, m_key4, m_key5 };
+ ioport_port *ports[6] = { m_key0, m_key1, m_key2, m_key3, m_key4, m_key5 };
codes[0] = codes[1] = 0xff; // key up
report = result = 0;
diff --git a/src/mess/machine/md_eeprom.c b/src/mess/machine/md_eeprom.c
index f1f72500143..6905e0e1df3 100644
--- a/src/mess/machine/md_eeprom.c
+++ b/src/mess/machine/md_eeprom.c
@@ -1,14 +1,14 @@
/***********************************************************************************************************
-
-
+
+
MegaDrive / Genesis cart+EEPROM emulation
-
-
+
+
TODO: proper EEPROM emulation, still not worked on (just hooked up the I2C device)
-
+
i2c games mapping table:
-
+
game name | SDA_IN | SDA_OUT | SCL | SIZE_MASK | PAGE_MASK |
----------------------------------|------------|------------|------------|----------------|-----------|
NBA Jam | 0x200001-0 | 0x200001-0 | 0x200001-1 | 0x00ff (24C02) | 0x03 | xx
@@ -30,7 +30,7 @@
Micro Machines 96 | 0x380001-7 | 0x300000-0*| 0x300000-1*| 0x07ff (24C16) | 0x0f |
Brian Lara Cricket 96 | 0x380001-7 | 0x300000-0*| 0x300000-1*| 0x1fff (24C64) | 0x??* |
----------------------------------|------------|------------|------------|----------------|-----------|
-
+
* Notes: check these
** original Rockman Mega World (J) set uses normal backup RAM
@@ -213,12 +213,12 @@ READ16_MEMBER(md_std_eeprom_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return ~m_i2c_mem & 1;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -237,12 +237,12 @@ READ16_MEMBER(md_eeprom_nbajam_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return m_i2c_mem & 1;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -261,12 +261,12 @@ READ16_MEMBER(md_eeprom_nbajamte_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return m_i2c_mem & 1;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -286,12 +286,12 @@ READ16_MEMBER(md_eeprom_cslam_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return m_i2c_mem & 1;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -311,12 +311,12 @@ READ16_MEMBER(md_eeprom_nflqb_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return m_i2c_mem & 1;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -335,12 +335,12 @@ READ16_MEMBER(md_eeprom_nhlpa_device::read)
{
if (offset == 0x200000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return (m_i2c_mem & 1) << 7;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -359,12 +359,12 @@ READ16_MEMBER(md_eeprom_blara_device::read)
{
if (offset == 0x380000/2)
{
-// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
+// m_i2c_mem = i2cmem_sda_read(m_i2cmem);
return (m_i2c_mem & 1) << 7;
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -378,4 +378,3 @@ WRITE16_MEMBER(md_eeprom_blara_device::write)
i2cmem_sda_write(m_i2cmem, m_i2c_mem);
}
}
-
diff --git a/src/mess/machine/md_eeprom.h b/src/mess/machine/md_eeprom.h
index 421932742f1..1f3de3221ae 100644
--- a/src/mess/machine/md_eeprom.h
+++ b/src/mess/machine/md_eeprom.h
@@ -12,18 +12,18 @@
// ======================> md_std_eeprom_device
class md_std_eeprom_device : public device_t,
- public device_md_cart_interface
+ public device_md_cart_interface
{
public:
// construction/destruction
md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_std_eeprom"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -39,11 +39,11 @@ class md_eeprom_nbajam_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_nbajam_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_nbajam"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -56,11 +56,11 @@ class md_eeprom_nbajamte_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_nbajamte_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_nbajamte"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -73,11 +73,11 @@ class md_eeprom_cslam_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_cslam_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_cslam"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -90,11 +90,11 @@ class md_eeprom_nflqb_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_nflqb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_nflqb"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -107,11 +107,11 @@ class md_eeprom_nhlpa_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_nhlpa_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_nhlpa"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -124,11 +124,11 @@ class md_eeprom_blara_device : public md_std_eeprom_device
public:
// construction/destruction
md_eeprom_blara_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_eeprom_blara"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
diff --git a/src/mess/machine/md_jcart.c b/src/mess/machine/md_jcart.c
index 5aadc882a25..fc2d5171908 100644
--- a/src/mess/machine/md_jcart.c
+++ b/src/mess/machine/md_jcart.c
@@ -1,23 +1,23 @@
/***********************************************************************************************************
-
-
+
+
MegaDrive / Genesis J-Cart (+SEPROM) emulation
-
-
+
+
i2c games mapping table:
-
+
game name | SDA_IN | SDA_OUT | SCL | SIZE_MASK | PAGE_MASK |
----------------------------------|------------|------------|------------|----------------|-----------|
Micro Machines 2 | 0x380001-7 | 0x300000-0*| 0x300000-1*| 0x03ff (24C08) | 0x0f |
Micro Machines Military | 0x380001-7 | 0x300000-0*| 0x300000-1*| 0x03ff (24C08) | 0x0f |
Micro Machines 96 | 0x380001-7 | 0x300000-0*| 0x300000-1*| 0x07ff (24C16) | 0x0f |
----------------------------------|------------|------------|------------|----------------|-----------|
-
+
* Notes: check these
TODO: proper SEPROM emulation, still not worked on (just hooked up the I2C device)
-
+
***********************************************************************************************************/
@@ -174,7 +174,7 @@ READ16_MEMBER(md_jcart_device::read)
if (offset == 0x38fffe/2)
{
UINT8 joy[2];
-
+
if (m_jcart_io_data[0] & 0x40)
{
joy[0] = m_jcart3->read_safe(0);
@@ -188,9 +188,9 @@ READ16_MEMBER(md_jcart_device::read)
return (m_jcart_io_data[0] & 0x40) | joy[0] | (joy[1] << 8);
}
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -217,7 +217,7 @@ READ16_MEMBER(md_seprom_codemast_device::read)
if (offset == 0x38fffe/2)
{
UINT8 joy[2];
-
+
if (m_jcart_io_data[0] & 0x40)
{
joy[0] = m_jcart3->read_safe(0);
@@ -231,9 +231,9 @@ READ16_MEMBER(md_seprom_codemast_device::read)
return (m_jcart_io_data[0] & 0x40) | joy[0] | (joy[1] << 8);
}
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -252,4 +252,3 @@ WRITE16_MEMBER(md_seprom_codemast_device::write)
m_jcart_io_data[1] = (data & 1) << 6;
}
}
-
diff --git a/src/mess/machine/md_jcart.h b/src/mess/machine/md_jcart.h
index bf7b3e7dd9b..d1534c60c27 100644
--- a/src/mess/machine/md_jcart.h
+++ b/src/mess/machine/md_jcart.h
@@ -18,7 +18,7 @@ public:
// construction/destruction
md_jcart_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_jcart_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_jcart"; }
@@ -43,12 +43,12 @@ public:
// construction/destruction
md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_seprom_codemast_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_seprom_codemast"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -56,7 +56,7 @@ public:
required_device<i2cmem_device> m_i2cmem;
private:
- UINT8 m_jcart_io_data[2];
+ UINT8 m_jcart_io_data[2];
UINT8 m_i2c_mem, m_i2c_clk;
};
@@ -67,7 +67,7 @@ class md_seprom_mm96_device : public md_seprom_codemast_device
public:
// construction/destruction
md_seprom_mm96_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_seprom_mm96"; }
virtual machine_config_constructor device_mconfig_additions() const;
diff --git a/src/mess/machine/md_rom.c b/src/mess/machine/md_rom.c
index 91e767b8921..243d3f19b83 100644
--- a/src/mess/machine/md_rom.c
+++ b/src/mess/machine/md_rom.c
@@ -1,9 +1,9 @@
/***********************************************************************************************************
-
-
+
+
MegaDrive / Genesis cart emulation
-
-
+
+
Here we emulate bankswitch / protection / NVRAM found on generic carts with no additional hardware
@@ -244,7 +244,7 @@ void md_rom_pokestad_device::device_start()
void md_rom_realtec_device::device_start()
{
- m_bank_addr = 0;
+ m_bank_addr = 0;
m_bank_size = 0;
m_old_bank_addr = -1;
save_item(NAME(m_bank_addr));
@@ -289,9 +289,9 @@ READ16_MEMBER(md_rom_sram_device::read)
if (offset >= m_nvram_start/2 && offset < m_nvram_end/2 && m_nvram_active)
return m_nvram[offset - m_nvram_start/2];
}
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -329,9 +329,9 @@ READ16_MEMBER(md_rom_fram_device::read)
{
if (offset >= m_nvram_start/2 && offset < m_nvram_end/2 && m_nvram_active)
return m_nvram[offset - m_nvram_start/2];
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -372,7 +372,7 @@ WRITE16_MEMBER(md_rom_ssf2_device::write_a13)
{
m_lastoff = offset;
m_lastdata = data;
- if (offset) // bank 0 is not modified
+ if (offset) // bank 0 is not modified
{
UINT16 *ROM = get_rom_base();
m_bank[offset] = data & 0xf;
@@ -430,7 +430,7 @@ READ16_MEMBER(md_rom_chinf3_device::read)
else
return m_rom[(offset & 0xffff/2) + (m_bank * 0x10000)/2];
}
-
+
// PROTECTION in 0x400000 - 0x4fffff
/* not 100% correct, there may be some relationship between the reads here
and the writes made at the start of the game.. */
@@ -485,7 +485,7 @@ READ16_MEMBER(md_rom_chinf3_device::read)
}
return 0;
}
-
+
return m_rom[offset & 0x1fffff/2];
}
@@ -512,12 +512,12 @@ WRITE16_MEMBER(md_rom_chinf3_device::write)
READ16_MEMBER(md_rom_elfwor_device::read)
{
- /* It returns (0x55 @ 0x400000 OR 0xc9 @ 0x400004) AND (0x0f @ 0x400002 OR 0x18 @ 0x400006).
+ /* It returns (0x55 @ 0x400000 OR 0xc9 @ 0x400004) AND (0x0f @ 0x400002 OR 0x18 @ 0x400006).
It is probably best to add handlers for all 4 addresses. */
- if (offset == 0x400000/2) return 0x5500;
- if (offset == 0x400002/2) return 0x0f00;
- if (offset == 0x400004/2) return 0xc900;
- if (offset == 0x400006/2) return 0x1800;
+ if (offset == 0x400000/2) return 0x5500;
+ if (offset == 0x400002/2) return 0x0f00;
+ if (offset == 0x400004/2) return 0xc900;
+ if (offset == 0x400006/2) return 0x1800;
return m_rom[MD_ADDR(offset)];
}
@@ -527,10 +527,10 @@ READ16_MEMBER(md_rom_elfwor_device::read)
READ16_MEMBER(md_rom_smouse_device::read)
{
- if (offset == 0x400000/2) return 0x5500;
- if (offset == 0x400002/2) return 0x0f00;
- if (offset == 0x400004/2) return 0xaa00;
- if (offset == 0x400006/2) return 0xf000;
+ if (offset == 0x400000/2) return 0x5500;
+ if (offset == 0x400002/2) return 0x0f00;
+ if (offset == 0x400004/2) return 0xaa00;
+ if (offset == 0x400006/2) return 0xf000;
return m_rom[MD_ADDR(offset)];
}
@@ -540,10 +540,10 @@ READ16_MEMBER(md_rom_smouse_device::read)
READ16_MEMBER(md_rom_yasech_device::read)
{
- if (offset == 0x400000/2) return 0x6300;
- if (offset == 0x400002/2) return 0x9800;
- if (offset == 0x400004/2) return 0xc900;
- if (offset == 0x400006/2) return 0x1800;
+ if (offset == 0x400000/2) return 0x6300;
+ if (offset == 0x400002/2) return 0x9800;
+ if (offset == 0x400004/2) return 0xc900;
+ if (offset == 0x400006/2) return 0x1800;
return m_rom[MD_ADDR(offset)];
}
@@ -553,12 +553,12 @@ READ16_MEMBER(md_rom_yasech_device::read)
READ16_MEMBER(md_rom_kof98_device::read)
{
- if (offset == 0x480000/2) return 0xaa00;
- if (offset == 0x4800e0/2) return 0xaa00;
- if (offset == 0x4824a0/2) return 0xaa00;
- if (offset == 0x488880/2) return 0xaa00;
- if (offset == 0x4a8820/2) return 0x0a00;
- if (offset == 0x4f8820/2) return 0x0000;
+ if (offset == 0x480000/2) return 0xaa00;
+ if (offset == 0x4800e0/2) return 0xaa00;
+ if (offset == 0x4824a0/2) return 0xaa00;
+ if (offset == 0x488880/2) return 0xaa00;
+ if (offset == 0x4a8820/2) return 0x0a00;
+ if (offset == 0x4f8820/2) return 0x0000;
return m_rom[MD_ADDR(offset)];
}
@@ -568,10 +568,10 @@ READ16_MEMBER(md_rom_kof98_device::read)
// gfx glitch with the new code... uninitialized ram somewhere?
READ16_MEMBER(md_rom_kof99_device::read_a13)
{
- if (offset == 0x00/2) return 0x00; // startup protection check, chinese message if != 0
- if (offset == 0x02/2) return 0x01; // write 02 to a13002.. shift right 1?
- if (offset == 0x3e/2) return 0x1f; // write 3e to a1303e.. shift right 1?
- else return 0xffff;
+ if (offset == 0x00/2) return 0x00; // startup protection check, chinese message if != 0
+ if (offset == 0x02/2) return 0x01; // write 02 to a13002.. shift right 1?
+ if (offset == 0x3e/2) return 0x1f; // write 3e to a1303e.. shift right 1?
+ else return 0xffff;
}
/*-------------------------------------------------
@@ -580,15 +580,15 @@ READ16_MEMBER(md_rom_kof99_device::read_a13)
READ16_MEMBER(md_rom_lion2_device::read)
{
- if (offset == 0x400002/2) return m_prot1_data;
- if (offset == 0x400006/2) return m_prot2_data;
+ if (offset == 0x400002/2) return m_prot1_data;
+ if (offset == 0x400006/2) return m_prot2_data;
return m_rom[MD_ADDR(offset)];
}
WRITE16_MEMBER(md_rom_lion2_device::write)
{
- if (offset == 0x400000/2) m_prot1_data = data;
- if (offset == 0x400004/2) m_prot2_data = data;
+ if (offset == 0x400000/2) m_prot1_data = data;
+ if (offset == 0x400004/2) m_prot2_data = data;
}
/*-------------------------------------------------
@@ -600,7 +600,7 @@ READ16_MEMBER(md_rom_lion3_device::read)
if (offset < 0x8000/2)
return m_rom[offset + (m_bank * 0x8000)/2];
else if (offset >= 0x600000/2 && offset < 0x700000/2)
- {
+ {
UINT16 retdata = 0;
switch (offset & 0x7)
{
@@ -627,14 +627,14 @@ READ16_MEMBER(md_rom_lion3_device::read)
retdata |= (BIT(m_prot_data, 0) << 7);
}
break;
-
+
default:
logerror("protection read, unknown offset %x\n", offset & 0x7);
break;
}
return retdata;
}
-
+
return m_rom[offset];
}
@@ -675,8 +675,8 @@ WRITE16_MEMBER(md_rom_lion3_device::write)
READ16_MEMBER(md_rom_mjlov_device::read)
{
- if (offset == 0x400000/2) return 0x9000;
- if (offset == 0x401000/2) return 0xd300;
+ if (offset == 0x400000/2) return 0x9000;
+ if (offset == 0x401000/2) return 0xd300;
return m_rom[MD_ADDR(offset)];
}
@@ -687,8 +687,8 @@ READ16_MEMBER(md_rom_mjlov_device::read)
READ16_MEMBER(md_rom_sbubl_device::read)
{
- if (offset == 0x400000/2) return 0x5500;
- if (offset == 0x400002/2) return 0x0f00;
+ if (offset == 0x400000/2) return 0x5500;
+ if (offset == 0x400002/2) return 0x0f00;
return m_rom[MD_ADDR(offset)];
}
@@ -698,9 +698,9 @@ READ16_MEMBER(md_rom_sbubl_device::read)
READ16_MEMBER(md_rom_soulb_device::read)
{
- if (offset == 0x400002/2) return 0x9800;
- if (offset == 0x400004/2) return 0xc900;
- if (offset == 0x400006/2) return 0xf000;
+ if (offset == 0x400002/2) return 0x9800;
+ if (offset == 0x400004/2) return 0xc900;
+ if (offset == 0x400006/2) return 0xf000;
return m_rom[MD_ADDR(offset)];
}
@@ -727,9 +727,9 @@ WRITE16_MEMBER(md_rom_pokestad_device::write)
READ16_MEMBER(md_rom_realtec_device::read)
{
- if (offset < (m_bank_size * 0x20000)) // two banks of same (variable) size at the bottom of the rom
+ if (offset < (m_bank_size * 0x20000)) // two banks of same (variable) size at the bottom of the rom
return m_rom[offset + (m_bank_addr * 0x20000)/2];
- return m_rom[(offset & 0x1fff/2) + 0x7e000/2]; // otherwise it accesses the final 8k of the image
+ return m_rom[(offset & 0x1fff/2) + 0x7e000/2]; // otherwise it accesses the final 8k of the image
}
WRITE16_MEMBER(md_rom_realtec_device::write)
@@ -757,8 +757,8 @@ WRITE16_MEMBER(md_rom_realtec_device::write)
READ16_MEMBER(md_rom_redcl_device::read)
{
- if (offset == 0x400000/2) return 0x55 << 8;
- if (offset == 0x400004/2) return -0x56 << 8;
+ if (offset == 0x400000/2) return 0x55 << 8;
+ if (offset == 0x400004/2) return -0x56 << 8;
return m_rom[MD_ADDR(offset)];
}
@@ -827,7 +827,7 @@ READ16_MEMBER(md_rom_topf_device::read)
//cpu #0 (PC=0004DE00): unmapped program memory word write to 00689B80 = 004A & 00FF
//cpu #0 (PC=0004DE08): unmapped program memory word write to 00 = 00B5 & 00FF
//cpu #0 (PC=0004DE0C): unmapped program memory word read from 00645B44 & 00FF
-
+
return 0x9f;//0x25;
}
if (offset == 0x6bd294/2)
@@ -837,7 +837,7 @@ READ16_MEMBER(md_rom_topf_device::read)
cpu #0 (PC=0017719A): unmapped program memory word write to 006BD2D2 = 0098 & 00FF
cpu #0 (PC=001771A2): unmapped program memory word read from 006BD294 & 00FF
*/
-
+
if (space.device().safe_pc()==0x1771a2) return 0x50;
else
{
@@ -875,9 +875,9 @@ WRITE16_MEMBER(md_rom_topf_device::write)
if (offset >= 0x700000/2 && offset < 0x800000/2)
{
if (data == 0x002a)
- m_bank[2] = 1; // == 0x2e*0x8000?!
+ m_bank[2] = 1; // == 0x2e*0x8000?!
else if (data==0x0035) // characters ingame
- m_bank[0] = 1; // == 0x35*0x8000
+ m_bank[0] = 1; // == 0x35*0x8000
else if (data==0x000f) // special moves
m_bank[1] = 1; // == 0xf*0x8000
else if (data==0x0000)
diff --git a/src/mess/machine/md_rom.h b/src/mess/machine/md_rom.h
index fd7b03d0901..acc1bff2827 100644
--- a/src/mess/machine/md_rom.h
+++ b/src/mess/machine/md_rom.h
@@ -10,17 +10,17 @@
// ======================> md_std_rom_device
class md_std_rom_device : public device_t,
- public device_md_cart_interface
+ public device_md_cart_interface
{
public:
// construction/destruction
md_std_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_std_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start() {};
virtual void device_config_complete() { m_shortname = "md_std_rom"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read) { if (offset < 0x400000/2) return m_rom[MD_ADDR(offset)]; else return 0xffff; };
virtual DECLARE_WRITE16_MEMBER(write) { };
@@ -33,10 +33,10 @@ class md_rom_sram_device : public md_std_rom_device
public:
// construction/destruction
md_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_sram"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -50,10 +50,10 @@ class md_rom_fram_device : public md_std_rom_device
public:
// construction/destruction
md_rom_fram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_fram"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_READ16_MEMBER(read_a13);
@@ -67,18 +67,18 @@ class md_rom_ssf2_device : public md_std_rom_device
public:
// construction/destruction
md_rom_ssf2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_ssf2"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write_a13);
private:
UINT8 m_bank[16];
- int m_lastoff, m_lastdata;
+ int m_lastoff, m_lastdata;
};
// ======================> md_rom_mcpirate_device
@@ -88,15 +88,15 @@ class md_rom_mcpirate_device : public md_std_rom_device
public:
// construction/destruction
md_rom_mcpirate_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_mcpirate"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write_a13);
-
+
private:
UINT8 m_bank;
};
@@ -109,10 +109,10 @@ class md_rom_bugslife_device : public md_std_rom_device
public:
// construction/destruction
md_rom_bugslife_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_bugslife"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read_a13);
};
@@ -124,15 +124,15 @@ class md_rom_chinf3_device : public md_std_rom_device
public:
// construction/destruction
md_rom_chinf3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_chinf3"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
int m_bank;
};
@@ -144,10 +144,10 @@ class md_rom_elfwor_device : public md_std_rom_device
public:
// construction/destruction
md_rom_elfwor_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_elfwor"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -159,10 +159,10 @@ class md_rom_yasech_device : public md_std_rom_device
public:
// construction/destruction
md_rom_yasech_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_yasech"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -174,10 +174,10 @@ class md_rom_kof98_device : public md_std_rom_device
public:
// construction/destruction
md_rom_kof98_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_kof98"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -189,10 +189,10 @@ class md_rom_kof99_device : public md_std_rom_device
public:
// construction/destruction
md_rom_kof99_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_kof99"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read_a13);
};
@@ -204,15 +204,15 @@ class md_rom_lion2_device : public md_std_rom_device
public:
// construction/destruction
md_rom_lion2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_lion2"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
UINT16 m_prot1_data, m_prot2_data;
};
@@ -224,17 +224,17 @@ class md_rom_lion3_device : public md_std_rom_device
public:
// construction/destruction
md_rom_lion3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_lion3"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
- UINT8 m_prot_data, m_prot_cmd;
+ UINT8 m_prot_data, m_prot_cmd;
UINT16 m_bank;
};
@@ -245,10 +245,10 @@ class md_rom_mjlov_device : public md_std_rom_device
public:
// construction/destruction
md_rom_mjlov_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_mjlov"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -260,15 +260,15 @@ class md_rom_pokestad_device : public md_std_rom_device
public:
// construction/destruction
md_rom_pokestad_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_pokestad"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
UINT8 m_bank;
};
@@ -280,15 +280,15 @@ class md_rom_realtec_device : public md_std_rom_device
public:
// construction/destruction
md_rom_realtec_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_realtec"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
UINT16 m_bank_addr, m_bank_size, m_old_bank_addr;
};
@@ -300,10 +300,10 @@ class md_rom_redcl_device : public md_std_rom_device
public:
// construction/destruction
md_rom_redcl_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_redcl"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -315,10 +315,10 @@ class md_rom_rx3_device : public md_std_rom_device
public:
// construction/destruction
md_rom_rx3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_rx3"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read_a13);
};
@@ -330,10 +330,10 @@ class md_rom_sbubl_device : public md_std_rom_device
public:
// construction/destruction
md_rom_sbubl_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_sbubl"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -345,10 +345,10 @@ class md_rom_smb_device : public md_std_rom_device
public:
// construction/destruction
md_rom_smb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_smb"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read_a13);
};
@@ -360,10 +360,10 @@ class md_rom_smb2_device : public md_std_rom_device
public:
// construction/destruction
md_rom_smb2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_smb2"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read_a13);
};
@@ -375,10 +375,10 @@ class md_rom_smouse_device : public md_std_rom_device
public:
// construction/destruction
md_rom_smouse_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_smouse"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -391,10 +391,10 @@ class md_rom_soulb_device : public md_std_rom_device
public:
// construction/destruction
md_rom_soulb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_config_complete() { m_shortname = "md_rom_soulb"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
};
@@ -406,17 +406,17 @@ class md_rom_squir_device : public md_std_rom_device
public:
// construction/destruction
md_rom_squir_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_squir"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
- UINT16 m_latch;
+ UINT16 m_latch;
};
// ======================> md_rom_topf_device
@@ -426,18 +426,18 @@ class md_rom_topf_device : public md_std_rom_device
public:
// construction/destruction
md_rom_topf_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_topf"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
-
+
private:
- UINT16 m_latch;
- UINT8 m_bank[3];
+ UINT16 m_latch;
+ UINT8 m_bank[3];
};
// ======================> md_rom_radica_device
@@ -447,17 +447,17 @@ class md_rom_radica_device : public md_std_rom_device
public:
// construction/destruction
md_rom_radica_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_radica"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_READ16_MEMBER(read_a13);
-
+
private:
- UINT8 m_bank;
+ UINT8 m_bank;
};
diff --git a/src/mess/machine/md_sk.c b/src/mess/machine/md_sk.c
index e2b38b7da47..f5377207d91 100644
--- a/src/mess/machine/md_sk.c
+++ b/src/mess/machine/md_sk.c
@@ -1,13 +1,13 @@
/***********************************************************************************************************
-
-
+
+
Sonic & Knuckles pass-thorugh cart emulation
-
+
TODO: currently we only support loading of base carts with no bankswitch or protection...
shall we support other as well?
-
-
+
+
***********************************************************************************************************/
@@ -52,9 +52,9 @@ READ16_MEMBER(md_rom_sk_device::read)
{
if (m_exp->m_cart != NULL && m_exp->m_cart->get_rom_base() != NULL && offset >= 0x200000/2 && offset < (0x200000 + m_exp->m_cart->get_rom_size())/2)
return m_exp->m_cart->m_rom[offset - 0x200000/2];
- if (offset < 0x400000/2)
- return m_rom[MD_ADDR(offset)];
- else
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
return 0xffff;
}
@@ -90,4 +90,3 @@ machine_config_constructor md_rom_sk_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sk_slot );
}
-
diff --git a/src/mess/machine/md_sk.h b/src/mess/machine/md_sk.h
index 6a765a2b920..58427fa9442 100644
--- a/src/mess/machine/md_sk.h
+++ b/src/mess/machine/md_sk.h
@@ -7,18 +7,18 @@
// ======================> md_rom_sk_device
class md_rom_sk_device : public device_t,
- public device_md_cart_interface
+ public device_md_cart_interface
{
public:
// construction/destruction
md_rom_sk_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_rom_sk_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_rom_sk"; }
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
diff --git a/src/mess/machine/md_slot.c b/src/mess/machine/md_slot.c
index 2ab615dddd5..27a59038426 100644
--- a/src/mess/machine/md_slot.c
+++ b/src/mess/machine/md_slot.c
@@ -1,43 +1,43 @@
/***********************************************************************************************************
-
+
MegaDrive cart emulation
(through slot devices)
The driver exposes address ranges
- 0x000000-0x7fffff to read/write (typically cart data, possibly banked, and some protection)
- 0x130000-0x1300ff to read_a13/write_a13 (typically SRAM toggling or protection)
- 0x150000-0x1500ff to read_a15/write_a15 (for SVP registers, not converted yet to slots)
-
+ 0x000000-0x7fffff to read/write (typically cart data, possibly banked, and some protection)
+ 0x130000-0x1300ff to read_a13/write_a13 (typically SRAM toggling or protection)
+ 0x150000-0x1500ff to read_a15/write_a15 (for SVP registers, not converted yet to slots)
+
currently available slot devices:
md_rom: standard carts + carts with NVRAM (SRAM/FRAM) + pirate carts with protection & bankswitch
md_eeprom: carts + I2C EEPROM (EEPROM device hooked up only, support to be completed)
- md_jcart: Codemasters J-Cart & J-Cart+SEPROM (again, EEPROM device hooked up only, support to be completed)
- md_sk: Sonic & Knuckles pass-thorugh cart (enables a second slot to mount any other cart)
- md_stm95: cart + STM95 EEPROM (e.g. Pier Solar)
-
-
- Cart Mirroring (based Eke's research)
-
- MD Cartridge area is mapped to $000000-$3fffff: when accessing ROM, 68k address lines A1 to A21 can be
- used by the internal cartridge hardware to decode full 4MB address range.
- Depending on ROM total size and additional decoding hardware, some address lines might be ignored,
- resulting in ROM mirroring.
-
- Cartridges typically use either 8-bits (x2) or 16-bits (x1, x2) Mask ROM chips, each chip size is a
- factor of 2 bytes.
- When one chip ROM1 of size 2^N is present, it is generally mirrored each 2^N bytes so that read access
- to cart area sees the sequence ROM1,ROM1,ROM1,... (up to 4MB)
- When two chips ROM1 & ROM2 are present and the whole size is 2^N, then the block ROM1+ROM2 is mirrored
- in the cart area, and reads see the sequence ROM1+ROM2,ROM1+ROM2,... (up to 4MB)
- When two chips ROM1 & ROM2 are present and the whole size is not 2^N (e.g. because ROM1 and ROM2 have
- different sizes), then the area between the end of ROM2 and next power 2^N is generally ignored, and
- reads see the sequence ROM1,ROM2,XXXX,ROM1,ROM2,XXXX... (up to 4MB)
-
- At loading time we first compute first power 2^N larger than cart size (see get_padded_size function),
- we allocate such a size for ROM and we fill of 0xff the area between end of dump and 2^N.
- Then we handle mirroring by creating a rom_bank_map[] (see rom_map_setup function) which points each
- access in 0x000000-0x400000 to the correct 64K ROM bank.
+ md_jcart: Codemasters J-Cart & J-Cart+SEPROM (again, EEPROM device hooked up only, support to be completed)
+ md_sk: Sonic & Knuckles pass-thorugh cart (enables a second slot to mount any other cart)
+ md_stm95: cart + STM95 EEPROM (e.g. Pier Solar)
+
+
+ Cart Mirroring (based Eke's research)
+
+ MD Cartridge area is mapped to $000000-$3fffff: when accessing ROM, 68k address lines A1 to A21 can be
+ used by the internal cartridge hardware to decode full 4MB address range.
+ Depending on ROM total size and additional decoding hardware, some address lines might be ignored,
+ resulting in ROM mirroring.
+
+ Cartridges typically use either 8-bits (x2) or 16-bits (x1, x2) Mask ROM chips, each chip size is a
+ factor of 2 bytes.
+ When one chip ROM1 of size 2^N is present, it is generally mirrored each 2^N bytes so that read access
+ to cart area sees the sequence ROM1,ROM1,ROM1,... (up to 4MB)
+ When two chips ROM1 & ROM2 are present and the whole size is 2^N, then the block ROM1+ROM2 is mirrored
+ in the cart area, and reads see the sequence ROM1+ROM2,ROM1+ROM2,... (up to 4MB)
+ When two chips ROM1 & ROM2 are present and the whole size is not 2^N (e.g. because ROM1 and ROM2 have
+ different sizes), then the area between the end of ROM2 and next power 2^N is generally ignored, and
+ reads see the sequence ROM1,ROM2,XXXX,ROM1,ROM2,XXXX... (up to 4MB)
+
+ At loading time we first compute first power 2^N larger than cart size (see get_padded_size function),
+ we allocate such a size for ROM and we fill of 0xff the area between end of dump and 2^N.
+ Then we handle mirroring by creating a rom_bank_map[] (see rom_map_setup function) which points each
+ access in 0x000000-0x400000 to the correct 64K ROM bank.
***********************************************************************************************************/
@@ -108,17 +108,17 @@ void device_md_cart_interface::nvram_alloc(running_machine &machine, size_t size
}
//-------------------------------------------------
-// rom_map_setup - setup map of rom banks in 64K
+// rom_map_setup - setup map of rom banks in 64K
// blocks, so to simplify ROM mirroring
//-------------------------------------------------
void device_md_cart_interface::rom_map_setup(UINT32 size)
{
int i;
- // setup the rom_bank_map array to faster ROM read
+ // setup the rom_bank_map array to faster ROM read
for (i = 0; i < size / 0x10000; i++)
rom_bank_map[i] = i;
-
+
// fill up remaining blocks with mirrors
while (i % 64)
{
@@ -130,19 +130,19 @@ void device_md_cart_interface::rom_map_setup(UINT32 size)
rom_bank_map[i + k] = rom_bank_map[i + k - repeat_banks];
i += repeat_banks;
}
-
+
// check bank map!
-// for (i = 0; i < 64; i++)
-// {
-// printf("bank %3d = %3d\t", i, rom_bank_map[i]);
-// if ((i%8) == 7)
-// printf("\n");
-// }
+// for (i = 0; i < 64; i++)
+// {
+// printf("bank %3d = %3d\t", i, rom_bank_map[i]);
+// if ((i%8) == 7)
+// printf("\n");
+// }
}
//-------------------------------------------------
-//
-//
+//
+//
//-------------------------------------------------
UINT32 device_md_cart_interface::get_padded_size(UINT32 size)
@@ -235,13 +235,13 @@ static const md_slot slot_list[] =
{
{ SEGA_SK, "rom_sk" },
{ SEGA_STD, "rom_svp"},
-// { SEGA_SVP, "rom_svp"}, // not ready yet...
+// { SEGA_SVP, "rom_svp"}, // not ready yet...
{ SEGA_SRAM, "rom_sram" },
{ SEGA_FRAM, "rom_fram" },
{ HARDBALL95, "rom_hardbl95" },
{ BEGGAR, "rom_beggar"},
-
+
{ SEGA_EEPROM, "rom_eeprom" },
{ NBA_JAM, "rom_nbajam" },
{ NBA_JAM_TE, "rom_nbajamte" },
@@ -249,17 +249,17 @@ static const md_slot slot_list[] =
{ C_SLAM, "rom_cslam" },
{ EA_NHLPA, "rom_nhlpa" },
{ BRIAN_LARA, "rom_blara" },
-
+
{ CM_JCART, "rom_jcart" },
{ CODE_MASTERS, "rom_codemast" },
{ CM_MM96, "rom_mm96" },
{ PSOLAR, "rom_stm95"},
-
+
{ SSF2, "rom_ssf2" },
{ RADICA, "rom_radica" },
-// { GAME_KANDUME, "rom_gkand" }, // what's needed by this?
-
+// { GAME_KANDUME, "rom_gkand" }, // what's needed by this?
+
{ BUGSLIFE, "rom_bugs" },
{ CHINFIGHT3, "rom_chinf3" },
{ ELFWOR, "rom_elfwor" },
@@ -296,7 +296,7 @@ static int md_get_pcb_id(const char *slot)
if (!mame_stricmp(slot_list[i].slot_option, slot))
return slot_list[i].pcb_id;
}
-
+
return SEGA_STD;
}
@@ -307,7 +307,7 @@ static const char *md_get_slot(int type)
if (slot_list[i].pcb_id == type)
return slot_list[i].slot_option;
}
-
+
return "rom";
}
@@ -327,7 +327,7 @@ bool base_md_cart_slot_device::call_load()
{
m_type = SEGA_STD;
int res;
-
+
// STEP 1: load the file image and keep a copy for later banking
// STEP 2: identify the cart type
// The two steps are carried out differently if we are loading from a list or not
@@ -335,14 +335,14 @@ bool base_md_cart_slot_device::call_load()
res = load_nonlist();
else
res = load_list();
-
+
//printf("cart type: %d\n", m_type);
-
+
if (res == IMAGE_INIT_PASS)
{
// STEP 3: install memory handlers for this type of cart
setup_custom_mappers();
-
+
// STEP 4: take care of SRAM.
setup_nvram();
@@ -353,7 +353,7 @@ bool base_md_cart_slot_device::call_load()
return res;
}
-
+
return IMAGE_INIT_PASS;
}
@@ -374,7 +374,7 @@ int base_md_cart_slot_device::load_list()
// if we allocated a ROM larger that the file (e.g. due to uneven cart size), set remaining space to 0xff
if (length > get_software_region_length("rom"))
memset(ROM + get_software_region_length("rom")/2, 0xffff, (length - get_software_region_length("rom"))/2);
-
+
if ((slot_name = get_feature("slot")) == NULL)
m_type = SEGA_STD;
else
@@ -401,57 +401,57 @@ static int genesis_is_SMD(unsigned char *buf,unsigned int len)
/* aq quiz */
if (!strncmp("UZ(-01 ", (const char *) &buf[0xf0], 8))
return 1;
-
+
/* Phelios USA redump */
/* target earth */
/* klax (namcot) */
if (buf[0x2080] == ' ' && buf[0x0080] == 'S' && buf[0x2081] == 'E' && buf[0x0081] == 'G')
return 1;
-
+
/* jap baseball 94 */
if (!strncmp("OL R-AEAL", (const char *) &buf[0xf0], 9))
return 1;
-
+
/* devilish Mahjong Tower */
if (!strncmp("optrEtranet", (const char *) &buf[0xf3], 11))
return 1;
-
+
/* golden axe 2 beta */
if (buf[0x0100] == 0x3c && buf[0x0101] == 0 && buf[0x0102] == 0 && buf[0x0103] == 0x3c)
return 1;
-
+
/* omega race */
if (!strncmp("OEARC ", (const char *) &buf[0x90], 8))
return 1;
-
+
/* budokan beta */
if ((len >= 0x6708 + 8) && !strncmp(" NTEBDKN", (const char *) &buf[0x6708], 8))
return 1;
-
+
/* cdx pro 1.8 bios */
if (!strncmp("so fCXP", (const char *) &buf[0x2c0], 7))
return 1;
-
+
/* ishido (hacked) */
if (!strncmp("sio-Wyo ", (const char *) &buf[0x0090], 8))
return 1;
-
+
/* onslaught */
if (!strncmp("SS CAL ", (const char *) &buf[0x0088], 8))
return 1;
-
+
/* tram terror pirate */
if ((len >= 0x3648 + 8) && !strncmp("SG NEPIE", (const char *) &buf[0x3648], 8))
return 1;
-
+
/* breath of fire 3 chinese */
if (buf[0x0007] == 0x1c && buf[0x0008] == 0x0a && buf[0x0009] == 0xb8 && buf[0x000a] == 0x0a)
return 1;
-
+
/*tetris pirate */
if ((len >= 0x1cbe + 5) && !strncmp("@TTI>", (const char *) &buf[0x1cbe], 5))
return 1;
-
+
return 0;
}
@@ -463,14 +463,14 @@ static int genesis_is_SMD(unsigned char *buf,unsigned int len)
int base_md_cart_slot_device::load_nonlist()
{
unsigned char *ROM, *tmpROM;
- UINT32 len = m_cart->get_padded_size(length()); // if cart size is not (2^n * 64K), the system will see anyway that size so we need to alloc a bit more space
+ UINT32 len = m_cart->get_padded_size(length()); // if cart size is not (2^n * 64K), the system will see anyway that size so we need to alloc a bit more space
// this contains an hack for SSF2: its current bankswitch code needs larger rom space to work
m_cart->rom_alloc(machine(), (len == 0x500000) ? 0x900000 : len);
ROM = (unsigned char *)m_cart->get_rom_base();
tmpROM = global_alloc_array(unsigned char, len);
-
+
// STEP 1: determine the file type (SMD? MD? BIN?)
fread(tmpROM, len);
@@ -478,7 +478,7 @@ int base_md_cart_slot_device::load_nonlist()
if (genesis_is_SMD(&tmpROM[0x200], len))
{
mame_printf_debug("SMD!\n");
-
+
for (int ptr = 0; ptr < (len - 0x200) / 0x2000; ptr += 2)
{
for (int x = 0; x < 0x2000; x++)
@@ -487,14 +487,14 @@ int base_md_cart_slot_device::load_nonlist()
*ROM++ = *(tmpROM + 0x200 + ((ptr + 0) * 0x2000) + x);
}
}
-
+
len -= 0x200;
}
/* is this a MD file? */
else if ((tmpROM[0x80] == 'E') && (tmpROM[0x81] == 'A') && (tmpROM[0x82] == 'M' || tmpROM[0x82] == 'G'))
{
mame_printf_debug("MD!\n");
-
+
for (int ptr = 0; ptr < len; ptr += 2)
{
ROM[ptr] = tmpROM[(len >> 1) + (ptr >> 1)];
@@ -509,18 +509,18 @@ int base_md_cart_slot_device::load_nonlist()
}
global_free(tmpROM);
-
+
// if we allocated a ROM larger that the file (e.g. due to uneven cart size), set remaining space to 0xff
if (len > length())
memset(m_cart->get_rom_base() + length()/2, 0xffff, (len - length())/2);
-
+
// STEP 2: determine the cart type (to deal with pirate mappers & eeprom)
m_type = get_cart_type(ROM, length());
// handle mirroring of ROM, unless it's SSF2 or Pier Solar
if (m_type != SSF2 && m_type != PSOLAR)
m_cart->rom_map_setup(len);
-
+
#ifdef LSB_FIRST
unsigned char fliptemp;
// is this really needed nowadays?
@@ -530,7 +530,7 @@ int base_md_cart_slot_device::load_nonlist()
ROM[ptr] = ROM[ptr+1];
ROM[ptr+1] = fliptemp;
}
-#endif
+#endif
return IMAGE_INIT_PASS;
}
@@ -588,7 +588,7 @@ void base_md_cart_slot_device::setup_custom_mappers()
006036:e000
002540:6026
001ed0:6026
- 002476:6022
+ 002476:6022
*/
ROM16[0x06036/2] = 0xe000;
ROM16[0x02540/2] = 0x6026;
@@ -605,7 +605,7 @@ void base_md_cart_slot_device::setup_custom_mappers()
// ROM16[0x02540/2] = 0xe000;
ROM16[0x06036/2] = 0xe000;
break;
- }
+ }
}
void base_md_cart_slot_device::setup_nvram()
@@ -623,21 +623,21 @@ void base_md_cart_slot_device::setup_nvram()
m_cart->m_nvram_start = (ROM[0x1b5] << 24 | ROM[0x1b4] << 16 | ROM[0x1b7] << 8 | ROM[0x1b6]);
m_cart->m_nvram_end = (ROM[0x1b9] << 24 | ROM[0x1b8] << 16 | ROM[0x1bb] << 8 | ROM[0x1ba]);
logerror("SRAM detected from header: starting location %X - SRAM Length %X\n", m_cart->m_nvram_start, m_cart->m_nvram_end - m_cart->m_nvram_start + 1);
-
+
// We assume at most 64k of SRAM. is this correct?
- if ((m_cart->m_nvram_start > m_cart->m_nvram_end) || ((m_cart->m_nvram_end - m_cart->m_nvram_start) >= 0x10000))
+ if ((m_cart->m_nvram_start > m_cart->m_nvram_end) || ((m_cart->m_nvram_end - m_cart->m_nvram_start) >= 0x10000))
m_cart->m_nvram_end = m_cart->m_nvram_start + 0xffff;
-
+
if (m_cart->m_nvram_start & 1)
m_cart->m_nvram_start -= 1;
-
+
if (!(m_cart->m_nvram_end & 1))
m_cart->m_nvram_end += 1;
-
+
m_cart->nvram_alloc(machine(), m_cart->m_nvram_end - m_cart->m_nvram_start + 1);
if (m_cart->m_rom_size <= m_cart->m_nvram_start)
m_cart->m_nvram_active = 1;
- m_cart->m_nvram_handlers_installed = 1;
+ m_cart->m_nvram_handlers_installed = 1;
// don't trust too much header?
m_cart->m_nvram_start &= 0x3fffff;
m_cart->m_nvram_end &= 0x3fffff;
@@ -649,7 +649,7 @@ void base_md_cart_slot_device::setup_nvram()
if (m_cart->m_rom_size <= m_cart->m_nvram_start)
m_cart->m_nvram_active = 1;
break;
-
+
// These types only come from softlist loading
case SEGA_SRAM:
m_cart->m_nvram_start = 0x200000;
@@ -666,7 +666,7 @@ void base_md_cart_slot_device::setup_nvram()
m_cart->m_nvram_active = 1;
m_cart->m_nvram_handlers_installed = 1;
break;
-
+
// These types might come from both (pending proper id routines)
case HARDBALL95:
m_cart->m_nvram_start = 0x300000;
@@ -724,151 +724,151 @@ int base_md_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
soulb_sig[] = { 0x33, 0xfc, 0x00, 0x0c, 0x00, 0xff }, // move.w #$C,($FF020A).l (what happens if check fails)
s19in1_sig[] = { 0x13, 0xc0, 0x00, 0xa1, 0x30, 0x38 },
rockman_sig[] = { 0xea, 0x80 };
-
+
switch (len)
- {
+ {
case 0x80000:
if (!memcmp(&ROM[0x08c8], smouse_sig, sizeof(smouse_sig)))
type = SMOUSE;
-
+
if (!memcmp((char *)&ROM[0x7e30e], "SEGA", 4) ||
!memcmp((char *)&ROM[0x7e100], "SEGA", 4) ||
!memcmp((char *)&ROM[0x7e1e6], "SEGA", 4))
type = REALTEC;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-50396", 10)) // NHLPA Hockey 93
type = EA_NHLPA;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM MK-1215", 10)) // Evander Holyfield
type = SEGA_EEPROM;
break;
-
+
case 0xc0000:
-
+
if (!memcmp((char *)&ROM[0x0180], "GM G-4060 ", 8)) // Wonder Boy V
type = SEGA_EEPROM;
break;
-
+
case 0x100000:
if (!memcmp(&ROM[0x01b24], mjlover_sig, sizeof(mjlover_sig)))
type = MJLOVER;
-
+
if (!memcmp(&ROM[0x03b4], squir_sig, sizeof(squir_sig)))
type = SQUIRRELK;
-
+
if (!memcmp(&ROM[0xee0d0], bugsl_sig, sizeof(bugsl_sig)))
type = BUGSLIFE;
-
+
if (!memcmp((char *)&ROM[0x0172], "GAME : ELF WOR", 14))
type = ELFWOR;
-
+
if (!memcmp(&ROM[0x123e4], sbub_sig, sizeof(sbub_sig)))
type = SBUBBOB;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-50176", 10)) // Rings of Power
type = EA_NHLPA;
-
+
if (!memcmp((char *)&ROM[0x0180], "MK 00001211-00", 14)) // Sports Talk Baseball
type = SEGA_EEPROM;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-120096-", 12)) // Micro Machines 2
type = CODE_MASTERS;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-120146-", 12)) // Brian Lara Cricket 96 / Shane Wayne Cricket 96
type = BRIAN_LARA;
-
+
if (!memcmp((char *)&ROM[0x0190], "OJKRPTBVFCA ", 0x10)) // Micro Machines '96 / Military TODO: better way to recognize these?
type = CODE_MASTERS;
break;
-
+
case 0x200000:
if (!memcmp(&ROM[0x18c6], lk3_sig, sizeof(lk3_sig)))
type = LIONK3;
-
+
if (!memcmp(&ROM[0x220], sdk_sig, sizeof(sdk_sig)))
type = LIONK3;
-
+
if (!memcmp(&ROM[0xce560], redcliff_sig, sizeof(redcliff_sig)))
type = REDCLIFF;
-
+
if (!memcmp(&ROM[0xc8cb0], smb_sig, sizeof(smb_sig)))
type = SMB;
-
+
if (!memcmp(&ROM[0xf24d6], smb2_sig, sizeof(smb2_sig)))
type = SMB2;
-
+
if (!memcmp(&ROM[0x674e], kaiju_sig, sizeof(kaiju_sig)))
type = KAIJU;
-
+
if (!memcmp(&ROM[0x1780], chifi3_sig, sizeof(chifi3_sig)))
type = CHINFIGHT3;
-
+
if (!memcmp(&ROM[0x03c2], lionk2_sig, sizeof(lionk2_sig)))
type = LIONK2;
-
+
if (!memcmp(&ROM[0xc8b90], rx3_sig, sizeof(rx3_sig)))
type = ROCKMANX3;
-
+
if (!memcmp(&ROM[0x56ae2], kof98_sig, sizeof(kof98_sig)))
type = KOF98;
-
+
if (!memcmp(&ROM[0x17bb2], s15in1_sig, sizeof(s15in1_sig)))
type = MC_PIRATE;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-081326 ", 12)) // NBA Jam
type = NBA_JAM;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM MK-1228", 10)) // Greatest Heavyweight of the Ring
type = SEGA_EEPROM;
-
+
if ((!memcmp((char *)&ROM[0x0180], "GM T-12046", 10)) || // Mega Man
(!memcmp((char *)&ROM[0x0180], "GM T-12053", 10) && !memcmp(&ROM[0x18e], rockman_sig, sizeof(rockman_sig)))) // / Rock Man (EEPROM version)
type = SEGA_EEPROM;
-
+
break;
-
+
case 0x200005:
if (!memcmp(&ROM[0xce564], redcl_en_sig, sizeof(redcliff_sig)))
type = REDCL_EN;
break;
-
+
case 0x300000:
if (!memcmp(&ROM[0x220], sdk_sig, sizeof(sdk_sig)))
type = LIONK3;
-
+
if (!memcmp(&ROM[0x1fd0d2], kof99_sig, sizeof(kof99_sig)))
type = KOF99;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-81406", 10)) // NBA Jam TE
type = NBA_JAM_TE;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-081276 ", 12)) // NFL Quarterback Club
type = NBA_JAM_TE;
-
+
break;
-
+
case 0x400000:
if (!memcmp(&ROM[0x3c031c], radica_sig, sizeof(radica_sig)) ||
!memcmp(&ROM[0x3f031c], radica_sig, sizeof(radica_sig))) // ssf+gng + radica vol1
type = RADICA;
-
+
if (!memcmp(&ROM[0x028460], soulb_sig, sizeof(soulb_sig)))
type = SOULBLAD;
-
+
if (!memcmp(&ROM[0x1e700], s19in1_sig, sizeof(s19in1_sig)))
type = MC_PIRATE;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-081586-", 12)) // NFL Quarterback Club 96
type = NFL_QB_96;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-081576 ", 12)) // College Slam
type = C_SLAM;
-
+
if (!memcmp((char *)&ROM[0x0180], "GM T-81476", 10)) // Big Hurt Baseball
type = C_SLAM;
-
+
break;
-
+
case 0x500000:
if (!memcmp((char *)&ROM[0x0120], "SUPER STREET FIGHTER2 ", 22))
type = SSF2;
@@ -886,15 +886,15 @@ int base_md_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
//check for SRAM among the general carts
if (type == SEGA_STD)
{
- // If the cart is not of a special type, we check the header for SRAM.
+ // If the cart is not of a special type, we check the header for SRAM.
if (ROM[0x1b1] == 'R' && ROM[0x1b0] == 'A')
{
UINT32 start, end;
start = (ROM[0x1b5] << 24 | ROM[0x1b4] << 16 | ROM[0x1b7] << 8 | ROM[0x1b6]);
end = (ROM[0x1b9] << 24 | ROM[0x1b8] << 16 | ROM[0x1bb] << 8 | ROM[0x1ba]);
logerror("SRAM detected from header: starting location %X - SRAM Length %X\n", start, end - start + 1);
-
- // For some games using serial EEPROM, difference between SRAM end to start is 0 or 1.
+
+ // For some games using serial EEPROM, difference between SRAM end to start is 0 or 1.
// Carts with EEPROM should have been already detected above, but better safe than sorry
if (end - start < 2)
type = SEGA_EEPROM;
@@ -904,12 +904,12 @@ int base_md_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
else
{
// Unfortunately, there are ROMs without correct info in the header,
- // Hence, when loading from fullpath we do the SRAM mapping anyway...
+ // Hence, when loading from fullpath we do the SRAM mapping anyway...
// but treat it in a custom way
type = SEGA_SRAM_FALLBACK;
}
}
-
+
return type;
}
/*-------------------------------------------------
@@ -925,15 +925,15 @@ const char * base_md_cart_slot_device::get_default_card_software(const machine_c
UINT32 len = core_fsize(m_file);
UINT8 *ROM = global_alloc_array(UINT8, len);
int type;
-
+
core_fread(m_file, ROM, len);
-
+
type = get_cart_type(ROM, len);
slot_string = md_get_slot(type);
-
+
global_free(ROM);
clear();
-
+
return slot_string;
}
else
@@ -992,4 +992,3 @@ WRITE16_MEMBER(base_md_cart_slot_device::write_a15)
if (m_cart)
m_cart->write_a15(space, offset, data);
}
-
diff --git a/src/mess/machine/md_slot.h b/src/mess/machine/md_slot.h
index 71aa50d5167..884c175a707 100644
--- a/src/mess/machine/md_slot.h
+++ b/src/mess/machine/md_slot.h
@@ -22,7 +22,7 @@ enum
SEGA_SRAM, SEGA_FRAM,
HARDBALL95, /* Hardball 95 uses different sram start address */
BEGGAR, /* Xin Qigai Wangzi uses different sram start address and has no valid header */
-
+
// EEPROM
SEGA_EEPROM, /* Wonder Boy V / Evander Holyfield's Boxing / Greatest Heavyweights of the Ring / Sports Talk Baseball / Megaman */
NBA_JAM, /* NBA Jam */
@@ -37,12 +37,12 @@ enum
CM_JCART, /* Pete Sampras Tennis */
CODE_MASTERS, /* Micro Machines 2 / Military (J-Cart + SEPROM) */
CM_MM96, /* Micro Machines 96 (J-Cart + SEPROM, diff I2C model) */
-
+
// Various
SSF2, /* Super Street Fighter 2 */
GAME_KANDUME, /* Game no Kandume Otokuyou */
RADICA, /* Radica TV games.. these probably should be a separate driver since they are a separate 'console' */
-
+
BUGSLIFE, /* A Bug's Life */
CHINFIGHT3, /* Chinese Fighters 3 */
ELFWOR, /* Linghuan Daoshi Super Magician */
@@ -107,13 +107,13 @@ public:
virtual UINT16* get_nvram_base() { return m_nvram; };
virtual UINT32 get_rom_size() { return m_rom_size; };
virtual UINT32 get_nvram_size() { return m_nvram_size; };
-
- virtual void rom_map_setup(UINT32 size);
+
+ virtual void rom_map_setup(UINT32 size);
virtual UINT32 get_padded_size(UINT32 size);
-
+
int m_nvram_start, m_nvram_end;
int m_nvram_active, m_nvram_readonly;
-
+
// when loading from fullpath, we create NVRAM even if not set in the header
// however in this case we access it only if the game turn it on
// the variable below is basically needed to track this...
@@ -124,8 +124,8 @@ public:
UINT16 *m_nvram;
UINT32 m_rom_size;
UINT32 m_nvram_size;
-
- UINT8 rom_bank_map[128]; // 64K chunks of rom
+
+ UINT8 rom_bank_map[128]; // 64K chunks of rom
};
@@ -140,11 +140,11 @@ public:
// construction/destruction
base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
virtual ~base_md_cart_slot_device();
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete();
-
+
// image-level overrides
virtual bool call_load();
virtual void call_unload();
@@ -165,10 +165,10 @@ public:
virtual bool must_be_loaded() const { return 1; }
virtual bool is_reset_on_load() const { return 0; }
virtual const option_guide *create_option_guide() const { return NULL; }
-
+
// slot interface overrides
virtual const char * get_default_card_software(const machine_config &config, emu_options &options);
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_WRITE16_MEMBER(write);
@@ -181,8 +181,8 @@ public:
// this should be private, but then there is some problem installing delegates in the driver...
//private:
- device_md_cart_interface* m_cart;
-
+ device_md_cart_interface* m_cart;
+
int m_type;
};
@@ -225,7 +225,7 @@ public:
// device type definition
extern const device_type MD_CART_SLOT;
-extern const device_type MD_SUBCART_SLOT; // needed to allow S&K pass-through to have non-mandatory cart
+extern const device_type MD_SUBCART_SLOT; // needed to allow S&K pass-through to have non-mandatory cart
extern const device_type PICO_CART_SLOT;
diff --git a/src/mess/machine/md_stm95.c b/src/mess/machine/md_stm95.c
index 997cf1fdbda..36f6b87ab47 100644
--- a/src/mess/machine/md_stm95.c
+++ b/src/mess/machine/md_stm95.c
@@ -1,12 +1,12 @@
/***************************************************************************
- MegaDrive / Genesis Cart + STM95 EEPROM device
+ MegaDrive / Genesis Cart + STM95 EEPROM device
+
-
Emulation by MetalliC, converted to slot by Fabio Priuli
-
+
TO DO: split STM95 to a separate device...
***************************************************************************/
@@ -197,18 +197,18 @@ READ16_MEMBER(md_eeprom_stm95_device::read)
UINT16 res;
offset -= 0x0015e6/2;
logerror("read 0x15e6 %d\n", m_rdcnt);
- if (m_rdcnt < 6)
+ if (m_rdcnt < 6)
{
m_rdcnt++;
res = offset ? 0x10 : 0;
- }
+ }
else
res = offset ? 0x8010 : 0x0001;
return res;
}
if (offset < 0x280000/2)
return m_rom[offset];
- else // last 0x180000 are bankswitched
+ else // last 0x180000 are bankswitched
{
UINT8 bank = (offset - 0x280000/2) >> 18;
return m_rom[(offset & 0x7ffff/2) + (m_bank[bank] * 0x80000)/2];
@@ -242,4 +242,3 @@ WRITE16_MEMBER(md_eeprom_stm95_device::write_a13)
m_stm95.set_cs_line(BIT(data, 3));
}
}
-
diff --git a/src/mess/machine/md_stm95.h b/src/mess/machine/md_stm95.h
index 77bbad98e73..96b520ccb22 100644
--- a/src/mess/machine/md_stm95.h
+++ b/src/mess/machine/md_stm95.h
@@ -26,11 +26,11 @@ enum STMSTATE
class stm95_eeprom_device
{
public:
- stm95_eeprom_device() :
- stm_state(IDLE),
- stream_pos(0)
+ stm95_eeprom_device() :
+ stm_state(IDLE),
+ stream_pos(0)
{};
-
+
UINT8 *eeprom_data;
void set_cs_line(int);
void set_halt_line(int state) {}; // not implemented
@@ -43,7 +43,7 @@ protected:
int reset_line;
int sck_line;
int WEL;
-
+
STMSTATE stm_state;
int stream_pos;
int stream_data;
@@ -54,17 +54,17 @@ protected:
// ======================> md_eeprom_stm95_device
class md_eeprom_stm95_device : public device_t,
- public device_md_cart_interface
+ public device_md_cart_interface
{
public:
// construction/destruction
md_eeprom_stm95_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
md_eeprom_stm95_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_config_complete() { m_shortname = "md_eeprom_stm95"; }
-
+
// reading and writing
virtual DECLARE_READ16_MEMBER(read);
virtual DECLARE_READ16_MEMBER(read_a13);
diff --git a/src/mess/machine/megasvp.c b/src/mess/machine/megasvp.c
index bbe7e3c3827..2ce487dde99 100644
--- a/src/mess/machine/megasvp.c
+++ b/src/mess/machine/megasvp.c
@@ -60,12 +60,12 @@ static UINT32 pm_io(address_space &space, int reg, int write, UINT32 d)
state->m_emu_status &= ~SSP_PMC_SET;
return 0;
}
-
+
// just in case
if (state->m_emu_status & SSP_PMC_HAVE_ADDR) {
state->m_emu_status &= ~SSP_PMC_HAVE_ADDR;
}
-
+
if (reg == 4 || (space.device().state().state_int(SSP_ST) & 0x60))
{
#define CADDR ((((mode<<16)&0x7f0000)|addr)<<1)
@@ -98,7 +98,7 @@ static UINT32 pm_io(address_space &space, int reg, int write, UINT32 d)
else
{
logerror("ssp FIXME: PM%i unhandled write mode %04x, [%06x] %04x\n",
- reg, mode, CADDR, d);
+ reg, mode, CADDR, d);
}
}
else
@@ -120,17 +120,17 @@ static UINT32 pm_io(address_space &space, int reg, int write, UINT32 d)
else
{
logerror("ssp FIXME: PM%i unhandled read mode %04x, [%06x]\n",
- reg, mode, CADDR);
+ reg, mode, CADDR);
d = 0;
}
}
-
+
// PMC value corresponds to last PMR accessed (not sure).
state->m_pmc.d = state->m_pmac_read[write ? reg + 6 : reg];
-
+
return d;
}
-
+
return (UINT32)-1;
}
@@ -187,7 +187,7 @@ static READ16_HANDLER( read_XST )
mdsvp_state *state = space.machine().driver_data<mdsvp_state>();
UINT32 d = pm_io(space, 3, 0, 0);
if (d != (UINT32)-1) return d;
-
+
return state->m_XST;
}
@@ -196,7 +196,7 @@ static WRITE16_HANDLER( write_XST )
mdsvp_state *state = space.machine().driver_data<mdsvp_state>();
UINT32 r = pm_io(space, 3, 1, data);
if (r != (UINT32)-1) return;
-
+
state->m_XST2 |= 1;
state->m_XST = data;
}
@@ -326,7 +326,7 @@ void svp_init(running_machine &machine)
{
mdsvp_state *state = machine.driver_data<mdsvp_state>();
UINT8 *ROM = state->memregion("maincpu")->base();
-
+
memset(state->m_pmac_read, 0, ARRAY_LENGTH(state->m_pmac_read));
memset(state->m_pmac_write, 0, ARRAY_LENGTH(state->m_pmac_write));
state->m_pmc.d = 0;
@@ -335,7 +335,7 @@ void svp_init(running_machine &machine)
state->m_emu_status = 0;
state->m_XST = 0;
state->m_XST2 = 0;
-
+
/* SVP stuff */
state->m_dram = auto_alloc_array(machine, UINT8, 0x20000);
machine.device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x300000, 0x31ffff, state->m_dram);
@@ -343,7 +343,7 @@ void svp_init(running_machine &machine)
// "cell arrange" 1 and 2
machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_read_handler(0x390000, 0x39ffff, FUNC(svp_68k_cell1_r));
machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_read_handler(0x3a0000, 0x3affff, FUNC(svp_68k_cell2_r));
-
+
machine.device("svp")->memory().space(AS_PROGRAM).install_legacy_read_handler(0x438, 0x438, FUNC(svp_speedup_r));
if (state->m_slotcart->m_cart->get_rom_base() != NULL)
diff --git a/src/mess/machine/nes_mmc.c b/src/mess/machine/nes_mmc.c
index 8323435fb75..df07e70f848 100644
--- a/src/mess/machine/nes_mmc.c
+++ b/src/mess/machine/nes_mmc.c
@@ -562,7 +562,7 @@ void nes_carts_state::set_nt_mirroring(int mirroring)
#ifdef _MSC_VER
#pragma optimize("", off)
-#endif
+#endif
/*************************************************************
diff --git a/src/mess/machine/psxanalog.c b/src/mess/machine/psxanalog.c
index 108ff366455..f1b63f7d7a4 100644
--- a/src/mess/machine/psxanalog.c
+++ b/src/mess/machine/psxanalog.c
@@ -260,4 +260,3 @@ INPUT_CHANGED_MEMBER(psx_analog_controller_device::change_mode)
if(!m_analoglock)
m_analogmode = newval;
}
-
diff --git a/src/mess/machine/psxanalog.h b/src/mess/machine/psxanalog.h
index 808d6e9b1a4..e530e239c6b 100644
--- a/src/mess/machine/psxanalog.h
+++ b/src/mess/machine/psxanalog.h
@@ -6,7 +6,7 @@
extern const device_type PSX_DUALSHOCK;
extern const device_type PSX_ANALOG_JOYSTICK;
-class psx_analog_controller_device : public device_t,
+class psx_analog_controller_device : public device_t,
public device_psx_controller_interface
{
public:
diff --git a/src/mess/machine/psxcard.c b/src/mess/machine/psxcard.c
index 76091c2549a..95f15125da5 100644
--- a/src/mess/machine/psxcard.c
+++ b/src/mess/machine/psxcard.c
@@ -341,4 +341,3 @@ void psxcard_device::sel_w(bool state)
reset();
m_sel = state;
}
-
diff --git a/src/mess/machine/psxcard.h b/src/mess/machine/psxcard.h
index 0c4f670910b..06613914a3d 100644
--- a/src/mess/machine/psxcard.h
+++ b/src/mess/machine/psxcard.h
@@ -10,7 +10,7 @@ class psx_controller_port_device;
#define MCFG_PSXCARD_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, PSXCARD, 0)
-class psxcard_device : public device_t,
+class psxcard_device : public device_t,
public device_image_interface
{
public:
diff --git a/src/mess/machine/psxcd.c b/src/mess/machine/psxcd.c
index a268c4c42d1..6c1a02ae4cb 100644
--- a/src/mess/machine/psxcd.c
+++ b/src/mess/machine/psxcd.c
@@ -254,7 +254,7 @@ WRITE8_MEMBER( psxcd_device::write )
{
case 0:
//if(data & 2)
- // popmessage("cmdmode = %02x, contact MESSdev",data);
+ // popmessage("cmdmode = %02x, contact MESSdev",data);
cmdmode=data&1;
if (cmdmode==0)
@@ -334,7 +334,7 @@ WRITE8_MEMBER( psxcd_device::write )
*/
case 3:
//if(data & 0x78)
- // popmessage("IRQ flag = %02x, contact MESSdev",data);
+ // popmessage("IRQ flag = %02x, contact MESSdev",data);
if (data==0x07)
{
@@ -1682,7 +1682,7 @@ void psxcd_device::add_system_event(event *ev)
// ev->t is in maincpu clock cycles
UINT32 hz = m_sysclock / ev->t;
-// printf("add_system_event: event type %d for %d hz (using timer %d)\n", ev->type, hz, tnum);
+// printf("add_system_event: event type %d for %d hz (using timer %d)\n", ev->type, hz, tnum);
timer->adjust(attotime::from_hz(hz), tnum, attotime::never);
// back-reference the timer from the event
diff --git a/src/mess/machine/psxcport.h b/src/mess/machine/psxcport.h
index f3b3a3ed474..847168708c7 100644
--- a/src/mess/machine/psxcport.h
+++ b/src/mess/machine/psxcport.h
@@ -60,7 +60,7 @@ private:
psx_controller_port_device *m_owner;
};
-class psx_standard_controller_device : public device_t,
+class psx_standard_controller_device : public device_t,
public device_psx_controller_interface
{
public:
@@ -94,7 +94,7 @@ private:
psx_controller_port_device *m_port1;
};
-class psx_controller_port_device : public device_t,
+class psx_controller_port_device : public device_t,
public device_slot_interface
{
public:
diff --git a/src/mess/machine/southbridge.c b/src/mess/machine/southbridge.c
index bccd53e7686..ba1fbd3b6c8 100644
--- a/src/mess/machine/southbridge.c
+++ b/src/mess/machine/southbridge.c
@@ -183,7 +183,7 @@ southbridge_device::southbridge_device(const machine_config &mconfig, device_typ
IRQ_CALLBACK_MEMBER(southbridge_device::at_irq_callback)
{
- return m_pic8259_master->inta_r();
+ return m_pic8259_master->inta_r();
}
//-------------------------------------------------
diff --git a/src/mess/machine/superpet.c b/src/mess/machine/superpet.c
index 99dac336444..3cf8ae3b08a 100644
--- a/src/mess/machine/superpet.c
+++ b/src/mess/machine/superpet.c
@@ -15,9 +15,9 @@
// MACROS/CONSTANTS
//**************************************************************************
-#define M6809_TAG "u4"
-#define M6551_TAG "u23"
-#define MOS6702_TAG "u2"
+#define M6809_TAG "u4"
+#define M6551_TAG "u23"
+#define MOS6702_TAG "u2"
@@ -92,7 +92,7 @@ machine_config_constructor superpet_device::device_mconfig_additions() const
static INPUT_PORTS_START( superpet )
PORT_START("SW1")
-
+
PORT_START("SW2")
INPUT_PORTS_END
@@ -300,18 +300,18 @@ void superpet_device::pet_bd_w(address_space &space, offs_t offset, UINT8 data,
if (BIT(m_bank, 7))
{
/*
-
+
bit description
-
+
0 SW2 CPU (0=6809, 1=6502)
1 SW1 RAM (0=read only, 1=read/write)
- 2
+ 2
3 DIAG
- 4
- 5
- 6
- 7
-
+ 4
+ 5
+ 6
+ 7
+
*/
m_system = data;
@@ -323,9 +323,9 @@ void superpet_device::pet_bd_w(address_space &space, offs_t offset, UINT8 data,
case 0xeffc:
case 0xeffd:
/*
-
+
bit description
-
+
0 A0
1 A1
2 A2
@@ -334,7 +334,7 @@ void superpet_device::pet_bd_w(address_space &space, offs_t offset, UINT8 data,
5 SEL B
6 J1 pin 39
7 BIT 7
-
+
*/
m_bank = data;
diff --git a/src/mess/machine/terminal.c b/src/mess/machine/terminal.c
index 343ca7a0e1c..f9f01593d77 100644
--- a/src/mess/machine/terminal.c
+++ b/src/mess/machine/terminal.c
@@ -138,15 +138,15 @@ static const UINT8 terminal_font[256*16] =
generic_terminal_device::generic_terminal_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, type, name, tag, owner, clock),
- m_io_term_frame(*this, "TERM_FRAME"),
- m_io_term_conf(*this, "TERM_CONF")
+ m_io_term_frame(*this, "TERM_FRAME"),
+ m_io_term_conf(*this, "TERM_CONF")
{
}
generic_terminal_device::generic_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, GENERIC_TERMINAL, "Generic Terminal", tag, owner, clock),
- m_io_term_frame(*this, "TERM_FRAME"),
- m_io_term_conf(*this, "TERM_CONF")
+ m_io_term_frame(*this, "TERM_FRAME"),
+ m_io_term_conf(*this, "TERM_CONF")
{
}
diff --git a/src/mess/machine/trs80m2kb.c b/src/mess/machine/trs80m2kb.c
index 9c583b1c3a4..59bdcbdd5c3 100644
--- a/src/mess/machine/trs80m2kb.c
+++ b/src/mess/machine/trs80m2kb.c
@@ -93,125 +93,125 @@ machine_config_constructor trs80m2_keyboard_device::device_mconfig_additions() c
//-------------------------------------------------
INPUT_PORTS_START( trs80m2_keyboard )
- PORT_START("Y0")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 0") PORT_CODE(KEYCODE_0_PAD)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("Y1")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("Y2")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("REPEAT")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Right SHIFT") PORT_CODE(KEYCODE_RSHIFT)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CAPS") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Left SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LOCK")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("Y3")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("cannot read label")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_DEL_PAD)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 3") PORT_CODE(KEYCODE_3_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
-
- PORT_START("Y4")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
- PORT_BIT( 0x40, 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_O) PORT_CHAR('o') PORT_CHAR('O')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 5") PORT_CODE(KEYCODE_5_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
-
- PORT_START("Y5")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("HOLD")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 2") PORT_CODE(KEYCODE_2_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
-
- PORT_START("Y6")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad ENTER") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(13)
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 9") PORT_CODE(KEYCODE_9_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 7") PORT_CODE(KEYCODE_7_PAD)
-
- PORT_START("Y7")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 6") PORT_CODE(KEYCODE_6_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 4") PORT_CODE(KEYCODE_4_PAD)
-
- PORT_START("Y8")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 8") PORT_CODE(KEYCODE_8_PAD)
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 1") PORT_CODE(KEYCODE_1_PAD)
-
- PORT_START("Y9")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("YA")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("YB")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t')
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START("Y0")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 0") PORT_CODE(KEYCODE_0_PAD)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("Y1")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("Y2")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("REPEAT")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Right SHIFT") PORT_CODE(KEYCODE_RSHIFT)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CAPS") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Left SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LOCK")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("Y3")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("cannot read label")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad .") PORT_CODE(KEYCODE_DEL_PAD)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 3") PORT_CODE(KEYCODE_3_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
+
+ PORT_START("Y4")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
+ PORT_BIT( 0x40, 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_O) PORT_CHAR('o') PORT_CHAR('O')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 5") PORT_CODE(KEYCODE_5_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
+
+ PORT_START("Y5")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("HOLD")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 2") PORT_CODE(KEYCODE_2_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
+
+ PORT_START("Y6")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad ENTER") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(13)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 9") PORT_CODE(KEYCODE_9_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 7") PORT_CODE(KEYCODE_7_PAD)
+
+ PORT_START("Y7")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 6") PORT_CODE(KEYCODE_6_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 4") PORT_CODE(KEYCODE_4_PAD)
+
+ PORT_START("Y8")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 8") PORT_CODE(KEYCODE_8_PAD)
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 1") PORT_CODE(KEYCODE_1_PAD)
+
+ PORT_START("Y9")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("YA")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(UCHAR_MAMEKEY(ESC))
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("YB")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t')
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@@ -321,18 +321,18 @@ READ8_MEMBER( trs80m2_keyboard_device::kb_p0_r )
switch (m_y)
{
- case 0: data &= m_y0->read(); break;
- case 1: data &= m_y1->read(); break;
- case 2: data &= m_y2->read(); break;
- case 3: data &= m_y3->read(); break;
- case 4: data &= m_y4->read(); break;
- case 5: data &= m_y5->read(); break;
- case 6: data &= m_y6->read(); break;
- case 7: data &= m_y7->read(); break;
- case 8: data &= m_y8->read(); break;
- case 9: data &= m_y9->read(); break;
- case 0xa: data &= m_ya->read(); break;
- case 0xb: data &= m_yb->read(); break;
+ case 0: data &= m_y0->read(); break;
+ case 1: data &= m_y1->read(); break;
+ case 2: data &= m_y2->read(); break;
+ case 3: data &= m_y3->read(); break;
+ case 4: data &= m_y4->read(); break;
+ case 5: data &= m_y5->read(); break;
+ case 6: data &= m_y6->read(); break;
+ case 7: data &= m_y7->read(); break;
+ case 8: data &= m_y8->read(); break;
+ case 9: data &= m_y9->read(); break;
+ case 0xa: data &= m_ya->read(); break;
+ case 0xb: data &= m_yb->read(); break;
}
return data;
diff --git a/src/mess/machine/vcs_joybooster.h b/src/mess/machine/vcs_joybooster.h
index ae914b36617..3fdf660f8ca 100644
--- a/src/mess/machine/vcs_joybooster.h
+++ b/src/mess/machine/vcs_joybooster.h
@@ -47,7 +47,7 @@ protected:
virtual bool has_pot_x() { return true; }
virtual bool has_pot_y() { return true; }
-
+
private:
required_ioport m_joy;
required_ioport m_potx;
diff --git a/src/mess/machine/vcs_keypad.h b/src/mess/machine/vcs_keypad.h
index 8643386133b..db41f450484 100644
--- a/src/mess/machine/vcs_keypad.h
+++ b/src/mess/machine/vcs_keypad.h
@@ -25,7 +25,7 @@
// ======================> vcs_keypad_device
class vcs_keypad_device : public device_t,
- public device_vcs_control_port_interface
+ public device_vcs_control_port_interface
{
public:
// construction/destruction
diff --git a/src/mess/mess.lst b/src/mess/mess.lst
index cd3a7e0d506..3819a0b58dd 100644
--- a/src/mess/mess.lst
+++ b/src/mess/mess.lst
@@ -1123,7 +1123,7 @@ dgnbeta // Dragon Beta
tanodr64 // Tano Dragon 64 (NTSC)
cp400 // Prologica CP400
lzcolor64 // Digiponto LZ Color64
-mx1600 // Dynacom MX-1600
+mx1600 // Dynacom MX-1600
mc10 // MC-10
alice // Matra & Hachette Ordinateur Alice
alice32 // Matra & Hachette Alice 32
diff --git a/src/mess/mess.mak b/src/mess/mess.mak
index fd277b23a5d..1deeea114b8 100644
--- a/src/mess/mess.mak
+++ b/src/mess/mess.mak
@@ -564,8 +564,8 @@ $(MESSOBJ)/shared.a: \
$(MESS_MACHINE)/3c503.o \
$(MESS_FORMATS)/z80bin.o \
$(MESS_MACHINE)/mb8795.o \
- $(MESS_MACHINE)/midiinport.o \
- $(MESS_MACHINE)/midioutport.o \
+ $(MESS_MACHINE)/midiinport.o \
+ $(MESS_MACHINE)/midioutport.o \
$(MESS_MACHINE)/null_modem.o \
$(MESS_MACHINE)/vcsctrl.o \
$(MESS_MACHINE)/vcs_joy.o \
diff --git a/src/mess/video/bbc.c b/src/mess/video/bbc.c
index 7637d666baf..10779db8bbb 100644
--- a/src/mess/video/bbc.c
+++ b/src/mess/video/bbc.c
@@ -283,7 +283,7 @@ WRITE_LINE_MEMBER(bbc_state::bbc_vsync)
MC6845_INTERFACE( bbc_mc6845_intf )
{
"screen", /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
vid_update_row, /* update_row */
@@ -576,26 +576,26 @@ static void BBC_Set_CRE(running_machine &machine, int offset, int data)
WRITE8_MEMBER(bbc_state::bbc_6845_w)
{
- switch(offset & 1)
- {
- case 0 :
- m_mc6845->address_w(space,0,data);
- break;
- case 1 :
- m_mc6845->register_w(space,0,data);
- break;
- }
+ switch(offset & 1)
+ {
+ case 0 :
+ m_mc6845->address_w(space,0,data);
+ break;
+ case 1 :
+ m_mc6845->register_w(space,0,data);
+ break;
+ }
}
READ8_HANDLER (bbc_6845_r)
{
- switch (offset&1)
- {
- case 0: return m_mc6845->status_r(space,0); break;
- case 1: return m_mc6845->register_r(space,0); break;
- }
- return 0;
+ switch (offset&1)
+ {
+ case 0: return m_mc6845->status_r(space,0); break;
+ case 1: return m_mc6845->register_r(space,0); break;
+ }
+ return 0;
}
diff --git a/src/mess/video/gb.c b/src/mess/video/gb.c
index 08feb0391fd..6ca83c7e09c 100644
--- a/src/mess/video/gb.c
+++ b/src/mess/video/gb.c
@@ -2362,4 +2362,3 @@ WRITE8_MEMBER(gb_state::gbc_video_w)
m_lcd.gb_vid_regs[offset] = data;
}
-
diff --git a/src/mess/video/gime.c b/src/mess/video/gime.c
index 84b1a20177f..5affe1dff55 100644
--- a/src/mess/video/gime.c
+++ b/src/mess/video/gime.c
@@ -692,7 +692,7 @@ ATTR_FORCE_INLINE UINT8 gime_base_device::read_gime_register(offs_t offset)
}
break;
- case 3: // read pending FIRQs
+ case 3: // read pending FIRQs
result = m_firq;
if (result != 0x00)
{
diff --git a/src/mess/video/isa_cga.c b/src/mess/video/isa_cga.c
index 1efab27f111..718e118a8cb 100644
--- a/src/mess/video/isa_cga.c
+++ b/src/mess/video/isa_cga.c
@@ -607,7 +607,7 @@ static MC6845_UPDATE_ROW( cga_update_row )
static MC6845_INTERFACE( mc6845_cga_intf )
{
CGA_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
cga_update_row, /* update_row */
diff --git a/src/mess/video/isa_mda.c b/src/mess/video/isa_mda.c
index c50cb208313..a8d8d5f7f6f 100644
--- a/src/mess/video/isa_mda.c
+++ b/src/mess/video/isa_mda.c
@@ -78,7 +78,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_mda_intf )
{
MDA_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
9, /* number of pixels per video memory address */
NULL, /* begin_update */
mda_update_row, /* update_row */
@@ -501,7 +501,7 @@ The divder/pixels per 6845 clock is 9 for text mode and 16 for graphics mode.
static MC6845_INTERFACE( mc6845_hercules_intf )
{
HERCULES_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
9, /* number of pixels per video memory address */
NULL, /* begin_update */
mda_update_row, /* update_row */
diff --git a/src/mess/video/mbc55x.c b/src/mess/video/mbc55x.c
index 9c6efbac332..64bb0200c40 100644
--- a/src/mess/video/mbc55x.c
+++ b/src/mess/video/mbc55x.c
@@ -161,7 +161,7 @@ WRITE_LINE_MEMBER( mbc55x_state::vid_vsync_changed )
MC6845_INTERFACE( mb55x_mc6845_intf )
{
SCREEN_TAG, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
vid_update_row, /* update_row */
diff --git a/src/mess/video/mc6847.c b/src/mess/video/mc6847.c
index a2c9349965b..54f1dd4e745 100644
--- a/src/mess/video/mc6847.c
+++ b/src/mess/video/mc6847.c
@@ -58,12 +58,12 @@
assuming that the extra text modes on the CoCo 2B are activated by the
GM2-0 pins. This needs to be confirmed.
- The MC6847 datasheet states that a scanline is 227.5 clock cycles,
- but experimentation suggests that it is 228. The game "Dragon Fire"
- has a fine tuned loop that runs in 57 clock cycles by the CPU's
- reckoning (228 actual clock cycles) and would not function correctly
- if skew existed. SockMaster has confirmed that scanlines are in
- fact 228 clock cycles.
+ The MC6847 datasheet states that a scanline is 227.5 clock cycles,
+ but experimentation suggests that it is 228. The game "Dragon Fire"
+ has a fine tuned loop that runs in 57 clock cycles by the CPU's
+ reckoning (228 actual clock cycles) and would not function correctly
+ if skew existed. SockMaster has confirmed that scanlines are in
+ fact 228 clock cycles.
**********************************************************************/
@@ -88,8 +88,8 @@
#define LOG_SCANLINE 0
#define LOG_HSYNC 0
#define LOG_FSYNC 1
-#define LOG_FLUSH 1
-#define LOG_INPUT 0
+#define LOG_FLUSH 1
+#define LOG_INPUT 0
const UINT32 mc6847_base_device::s_palette[mc6847_base_device::PALETTE_LENGTH] =
@@ -127,7 +127,7 @@ const UINT32 mc6847_base_device::s_palette[mc6847_base_device::PALETTE_LENGTH] =
mc6847_friend_device::mc6847_friend_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock,
const UINT8 *fontdata, bool is_mc6847t1, double tpfs, int field_sync_falling_edge_scanline, bool supports_partial_body_scanlines)
: device_t(mconfig, type, name, tag, owner, clock),
- m_character_map(fontdata, is_mc6847t1)
+ m_character_map(fontdata, is_mc6847t1)
{
m_tpfs = tpfs;
m_supports_partial_body_scanlines = supports_partial_body_scanlines;
diff --git a/src/mess/video/mos6566.c b/src/mess/video/mos6566.c
index 4c2014dedac..4b5762f9124 100644
--- a/src/mess/video/mos6566.c
+++ b/src/mess/video/mos6566.c
@@ -91,10 +91,10 @@ enum
static int UNUSED_BITS[0x40] =
{
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x01, 0x70, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x01, 0x70, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
// VICE palette
diff --git a/src/mess/video/pc_aga.c b/src/mess/video/pc_aga.c
index 723b16e56c2..7205a7ffa7e 100644
--- a/src/mess/video/pc_aga.c
+++ b/src/mess/video/pc_aga.c
@@ -31,7 +31,7 @@ static VIDEO_START( pc200 );
static MC6845_INTERFACE( mc6845_aga_intf )
{
AGA_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
aga_update_row, /* update_row */
diff --git a/src/mess/video/pc_t1t.c b/src/mess/video/pc_t1t.c
index afd14a20d2a..1243ccca858 100644
--- a/src/mess/video/pc_t1t.c
+++ b/src/mess/video/pc_t1t.c
@@ -32,7 +32,7 @@ static WRITE_LINE_DEVICE_HANDLER( pcjr_vsync_changed );
static MC6845_INTERFACE( mc6845_t1000_intf )
{
T1000_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
t1000_update_row, /* update_row */
@@ -62,7 +62,7 @@ MACHINE_CONFIG_END
static MC6845_INTERFACE( mc6845_pcjr_intf )
{
T1000_SCREEN_NAME, /* screen number */
- false, /* show border area */
+ false, /* show border area */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
t1000_update_row, /* update_row */
diff --git a/src/osd/portmedia/pmmidi.c b/src/osd/portmedia/pmmidi.c
index 222941509d5..0485f9e63d1 100644
--- a/src/osd/portmedia/pmmidi.c
+++ b/src/osd/portmedia/pmmidi.c
@@ -12,8 +12,8 @@
static const int RX_EVENT_BUF_SIZE = 512;
-#define MIDI_SYSEX 0xf0
-#define MIDI_EOX 0xf7
+#define MIDI_SYSEX 0xf0
+#define MIDI_EOX 0xf7
struct osd_midi_device
{
@@ -196,13 +196,13 @@ int osd_read_midi_channel(osd_midi_device *dev, UINT8 *pOut)
if (dev->rx_sysex)
{
- if (status & 0x80) // sys real-time imposing on us?
+ if (status & 0x80) // sys real-time imposing on us?
{
if ((status == 0xf2) || (status == 0xf3))
{
*pOut++ = status;
- *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
- *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
bytesOut += 3;
}
else
@@ -211,7 +211,7 @@ int osd_read_midi_channel(osd_midi_device *dev, UINT8 *pOut)
bytesOut++;
}
}
- else // shift out the sysex bytes
+ else // shift out the sysex bytes
{
for (int i = 0; i < 4; i++)
{
@@ -231,18 +231,18 @@ int osd_read_midi_channel(osd_midi_device *dev, UINT8 *pOut)
{
switch ((status>>4) & 0xf)
{
- case 0xc: // 2-byte messages
+ case 0xc: // 2-byte messages
case 0xd:
*pOut++ = status;
- *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
bytesOut += 2;
break;
- case 0xf: // system common
+ case 0xf: // system common
switch (status & 0xf)
{
- case 0: // System Exclusive
- *pOut++ = status; // this should be OK: the shortest legal sysex is F0 tt dd F7, I believe
+ case 0: // System Exclusive
+ *pOut++ = status; // this should be OK: the shortest legal sysex is F0 tt dd F7, I believe
*pOut++ = (dev->rx_evBuf[msg].message>>8) & 0xff;
*pOut++ = (dev->rx_evBuf[msg].message>>16) & 0xff;
*pOut++ = (dev->rx_evBuf[msg].message>>24) & 0xff;
@@ -250,28 +250,28 @@ int osd_read_midi_channel(osd_midi_device *dev, UINT8 *pOut)
dev->rx_sysex = true;
break;
- case 7: // End of System Exclusive
+ case 7: // End of System Exclusive
*pOut++ = status;
bytesOut += 1;
break;
- case 2: // song pos
- case 3: // song select
+ case 2: // song pos
+ case 3: // song select
*pOut++ = status;
- *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
- *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
bytesOut += 3;
break;
- default: // all other defined Fx messages are 1 byte
+ default: // all other defined Fx messages are 1 byte
break;
}
break;
default:
*pOut++ = status;
- *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
- *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData1(dev->rx_evBuf[msg].message);
+ *pOut++ = Pm_MessageData2(dev->rx_evBuf[msg].message);
bytesOut += 3;
break;
}
@@ -289,17 +289,17 @@ void osd_write_midi_channel(osd_midi_device *dev, UINT8 data)
#ifndef DISABLE_MIDI
int bytes_needed = 0;
PmEvent ev;
- ev.timestamp = 0; // use the current time
+ ev.timestamp = 0; // use the current time
// handle sysex
if (dev->last_status == MIDI_SYSEX)
{
-// printf("sysex: %02x (%d)\n", data, dev->xmit_cnt);
+// printf("sysex: %02x (%d)\n", data, dev->xmit_cnt);
// if we get a status that isn't sysex, assume it's system common
if ((data & 0x80) && (data != MIDI_EOX))
{
-// printf("common during sysex!\n");
+// printf("common during sysex!\n");
ev.message = Pm_Message(data, 0, 0);
Pm_Write(dev->pmStream, &ev, 1);
return;
@@ -315,7 +315,7 @@ void osd_write_midi_channel(osd_midi_device *dev, UINT8 data)
dev->xmit_in[0] = dev->xmit_in[1] = dev->xmit_in[2] = dev->xmit_in[3] = 0;
dev->xmit_cnt = 0;
-// printf("SysEx packet: %08x\n", ev.message);
+// printf("SysEx packet: %08x\n", ev.message);
// if this is EOX, kill the running status
if (data == MIDI_EOX)
@@ -345,7 +345,7 @@ void osd_write_midi_channel(osd_midi_device *dev, UINT8 data)
if ((dev->xmit_cnt == 1) && (dev->xmit_in[0] == MIDI_SYSEX))
{
-// printf("Start SysEx!\n");
+// printf("Start SysEx!\n");
dev->last_status = MIDI_SYSEX;
return;
}
@@ -353,27 +353,27 @@ void osd_write_midi_channel(osd_midi_device *dev, UINT8 data)
// are we there yet?
switch ((dev->xmit_in[0]>>4) & 0xf)
{
- case 0xc: // 2-byte messages
+ case 0xc: // 2-byte messages
case 0xd:
bytes_needed = 2;
break;
- case 0xf: // system common
+ case 0xf: // system common
switch (dev->xmit_in[0] & 0xf)
{
- case 0: // System Exclusive is handled above
+ case 0: // System Exclusive is handled above
break;
- case 7: // End of System Exclusive
+ case 7: // End of System Exclusive
bytes_needed = 1;
break;
- case 2: // song pos
- case 3: // song select
+ case 2: // song pos
+ case 3: // song select
bytes_needed = 3;
break;
- default: // all other defined Fx messages are 1 byte
+ default: // all other defined Fx messages are 1 byte
bytes_needed = 1;
break;
}
diff --git a/src/osd/sdl/debugqt.c b/src/osd/sdl/debugqt.c
index 8a4972da48d..33a842e3dd0 100644
--- a/src/osd/sdl/debugqt.c
+++ b/src/osd/sdl/debugqt.c
@@ -82,7 +82,7 @@ static void xml_configuration_save(running_machine &machine, int config_type, xm
// Create an xml node
xml_data_node *debugger_node;
debugger_node = xml_add_child(parentnode, "window", NULL);
- if (debugger_node == NULL)
+ if (debugger_node == NULL)
continue;
xml_set_attribute_int(debugger_node, "type", xmlConfigurations[i].m_type);
@@ -144,7 +144,7 @@ static void load_and_clear_main_window_config(std::vector<WindowQtConfig>& confi
if (configs[i].m_type == WindowQtConfig::WIN_TYPE_MAIN)
{
mainQtWindow->setGeometry(configs[i].m_position.x(), configs[i].m_position.y(),
- configs[i].m_size.x(), configs[i].m_size.y());
+ configs[i].m_size.x(), configs[i].m_size.y());
break;
}
}
@@ -168,8 +168,8 @@ static void setup_additional_startup_windows(running_machine& machine, std::vect
default: break;
}
foo->setGeometry(configs[i].m_position.x(), configs[i].m_position.y(),
- configs[i].m_size.x(), configs[i].m_size.y());
- foo->show();
+ configs[i].m_size.x(), configs[i].m_size.y());
+ foo->show();
}
}
diff --git a/src/osd/sdl/debugqtmainwindow.c b/src/osd/sdl/debugqtmainwindow.c
index 58630e390e8..5e4a88404e3 100644
--- a/src/osd/sdl/debugqtmainwindow.c
+++ b/src/osd/sdl/debugqtmainwindow.c
@@ -4,318 +4,318 @@
#include "debug/dvdisasm.h"
-MainWindow::MainWindow(running_machine* machine, QWidget* parent) :
- WindowQt(machine, parent),
- m_historyIndex(0),
- m_inputHistory()
+MainWindow::MainWindow(running_machine* machine, QWidget* parent) :
+ WindowQt(machine, parent),
+ m_historyIndex(0),
+ m_inputHistory()
{
- setGeometry(300, 300, 1000, 600);
-
- //
- // The main frame and its input and log widgets
- //
- QFrame* mainWindowFrame = new QFrame(this);
-
- // The input line
- m_inputEdit = new QLineEdit(mainWindowFrame);
- connect(m_inputEdit, SIGNAL(returnPressed()), this, SLOT(executeCommand()));
- m_inputEdit->installEventFilter(this);
-
-
- // The log view
- m_consoleView = new DebuggerView(DVT_CONSOLE,
- m_machine,
- mainWindowFrame);
- m_consoleView->setFocusPolicy(Qt::NoFocus);
- m_consoleView->setPreferBottom(true);
-
- QVBoxLayout* vLayout = new QVBoxLayout(mainWindowFrame);
- vLayout->addWidget(m_consoleView);
- vLayout->addWidget(m_inputEdit);
- vLayout->setSpacing(3);
- vLayout->setContentsMargins(4,0,4,2);
-
- setCentralWidget(mainWindowFrame);
-
- //
- // Menu bars
- //
- // Create two commands
- QAction* breakpointSetAct = new QAction("Toggle Breakpoint At Cursor", this);
- QAction* runToCursorAct = new QAction("Run To Cursor", this);
- breakpointSetAct->setShortcut(Qt::Key_F9);
- runToCursorAct->setShortcut(Qt::Key_F4);
- connect(breakpointSetAct, SIGNAL(triggered(bool)), this, SLOT(toggleBreakpointAtCursor(bool)));
- connect(runToCursorAct, SIGNAL(triggered(bool)), this, SLOT(runToCursor(bool)));
-
- // Right bar options
- QActionGroup* rightBarGroup = new QActionGroup(this);
- QAction* rightActRaw = new QAction("Raw Opcodes", this);
- QAction* rightActEncrypted = new QAction("Encrypted Opcodes", this);
- QAction* rightActComments = new QAction("Comments", this);
- rightActRaw->setCheckable(true);
- rightActEncrypted->setCheckable(true);
- rightActComments->setCheckable(true);
- rightActRaw->setActionGroup(rightBarGroup);
- rightActEncrypted->setActionGroup(rightBarGroup);
- rightActComments->setActionGroup(rightBarGroup);
- rightActRaw->setShortcut(QKeySequence("Ctrl+R"));
- rightActEncrypted->setShortcut(QKeySequence("Ctrl+E"));
- rightActComments->setShortcut(QKeySequence("Ctrl+C"));
- rightActRaw->setChecked(true);
- connect(rightBarGroup, SIGNAL(triggered(QAction*)), this, SLOT(rightBarChanged(QAction*)));
-
- // Assemble the options menu
- QMenu* optionsMenu = menuBar()->addMenu("&Options");
- optionsMenu->addAction(breakpointSetAct);
- optionsMenu->addAction(runToCursorAct);
- optionsMenu->addSeparator();
- optionsMenu->addActions(rightBarGroup->actions());
-
-
- //
- // Dock windows
- //
- QMenu* dockMenu = menuBar()->addMenu("Doc&ks");
-
- setCorner(Qt::TopRightCorner, Qt::TopDockWidgetArea);
- setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
-
- // The processor dock
- QDockWidget* cpuDock = new QDockWidget("processor", this);
- cpuDock->setAllowedAreas(Qt::LeftDockWidgetArea);
- m_procFrame = new ProcessorDockWidget(m_machine, cpuDock);
- cpuDock->setWidget(dynamic_cast<QWidget*>(m_procFrame));
-
- addDockWidget(Qt::LeftDockWidgetArea, cpuDock);
- dockMenu->addAction(cpuDock->toggleViewAction());
-
- // The disassembly dock
- QDockWidget* dasmDock = new QDockWidget("dasm", this);
- dasmDock->setAllowedAreas(Qt::TopDockWidgetArea);
- m_dasmFrame = new DasmDockWidget(m_machine, dasmDock);
- dasmDock->setWidget(m_dasmFrame);
-
- addDockWidget(Qt::TopDockWidgetArea, dasmDock);
- dockMenu->addAction(dasmDock->toggleViewAction());
+ setGeometry(300, 300, 1000, 600);
+
+ //
+ // The main frame and its input and log widgets
+ //
+ QFrame* mainWindowFrame = new QFrame(this);
+
+ // The input line
+ m_inputEdit = new QLineEdit(mainWindowFrame);
+ connect(m_inputEdit, SIGNAL(returnPressed()), this, SLOT(executeCommand()));
+ m_inputEdit->installEventFilter(this);
+
+
+ // The log view
+ m_consoleView = new DebuggerView(DVT_CONSOLE,
+ m_machine,
+ mainWindowFrame);
+ m_consoleView->setFocusPolicy(Qt::NoFocus);
+ m_consoleView->setPreferBottom(true);
+
+ QVBoxLayout* vLayout = new QVBoxLayout(mainWindowFrame);
+ vLayout->addWidget(m_consoleView);
+ vLayout->addWidget(m_inputEdit);
+ vLayout->setSpacing(3);
+ vLayout->setContentsMargins(4,0,4,2);
+
+ setCentralWidget(mainWindowFrame);
+
+ //
+ // Menu bars
+ //
+ // Create two commands
+ QAction* breakpointSetAct = new QAction("Toggle Breakpoint At Cursor", this);
+ QAction* runToCursorAct = new QAction("Run To Cursor", this);
+ breakpointSetAct->setShortcut(Qt::Key_F9);
+ runToCursorAct->setShortcut(Qt::Key_F4);
+ connect(breakpointSetAct, SIGNAL(triggered(bool)), this, SLOT(toggleBreakpointAtCursor(bool)));
+ connect(runToCursorAct, SIGNAL(triggered(bool)), this, SLOT(runToCursor(bool)));
+
+ // Right bar options
+ QActionGroup* rightBarGroup = new QActionGroup(this);
+ QAction* rightActRaw = new QAction("Raw Opcodes", this);
+ QAction* rightActEncrypted = new QAction("Encrypted Opcodes", this);
+ QAction* rightActComments = new QAction("Comments", this);
+ rightActRaw->setCheckable(true);
+ rightActEncrypted->setCheckable(true);
+ rightActComments->setCheckable(true);
+ rightActRaw->setActionGroup(rightBarGroup);
+ rightActEncrypted->setActionGroup(rightBarGroup);
+ rightActComments->setActionGroup(rightBarGroup);
+ rightActRaw->setShortcut(QKeySequence("Ctrl+R"));
+ rightActEncrypted->setShortcut(QKeySequence("Ctrl+E"));
+ rightActComments->setShortcut(QKeySequence("Ctrl+C"));
+ rightActRaw->setChecked(true);
+ connect(rightBarGroup, SIGNAL(triggered(QAction*)), this, SLOT(rightBarChanged(QAction*)));
+
+ // Assemble the options menu
+ QMenu* optionsMenu = menuBar()->addMenu("&Options");
+ optionsMenu->addAction(breakpointSetAct);
+ optionsMenu->addAction(runToCursorAct);
+ optionsMenu->addSeparator();
+ optionsMenu->addActions(rightBarGroup->actions());
+
+
+ //
+ // Dock windows
+ //
+ QMenu* dockMenu = menuBar()->addMenu("Doc&ks");
+
+ setCorner(Qt::TopRightCorner, Qt::TopDockWidgetArea);
+ setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
+
+ // The processor dock
+ QDockWidget* cpuDock = new QDockWidget("processor", this);
+ cpuDock->setAllowedAreas(Qt::LeftDockWidgetArea);
+ m_procFrame = new ProcessorDockWidget(m_machine, cpuDock);
+ cpuDock->setWidget(dynamic_cast<QWidget*>(m_procFrame));
+
+ addDockWidget(Qt::LeftDockWidgetArea, cpuDock);
+ dockMenu->addAction(cpuDock->toggleViewAction());
+
+ // The disassembly dock
+ QDockWidget* dasmDock = new QDockWidget("dasm", this);
+ dasmDock->setAllowedAreas(Qt::TopDockWidgetArea);
+ m_dasmFrame = new DasmDockWidget(m_machine, dasmDock);
+ dasmDock->setWidget(m_dasmFrame);
+
+ addDockWidget(Qt::TopDockWidgetArea, dasmDock);
+ dockMenu->addAction(dasmDock->toggleViewAction());
}
void MainWindow::setProcessor(device_t* processor)
{
- // Cpu swap
- m_procFrame->view()->view()->set_source(*m_procFrame->view()->view()->source_list().match_device(processor));
- m_dasmFrame->view()->view()->set_source(*m_dasmFrame->view()->view()->source_list().match_device(processor));
-
- // Scrollbar refresh - seems I should be able to do in the DebuggerView
- m_dasmFrame->view()->verticalScrollBar()->setValue(m_dasmFrame->view()->view()->visible_position().y);
- m_dasmFrame->view()->verticalScrollBar()->setValue(m_dasmFrame->view()->view()->visible_position().y);
-
- // Window title
- astring title;
- title.printf("Debug: %s - %s '%s'", m_machine->system().name, processor->name(), processor->tag());
- setWindowTitle(title.cstr());
+ // Cpu swap
+ m_procFrame->view()->view()->set_source(*m_procFrame->view()->view()->source_list().match_device(processor));
+ m_dasmFrame->view()->view()->set_source(*m_dasmFrame->view()->view()->source_list().match_device(processor));
+
+ // Scrollbar refresh - seems I should be able to do in the DebuggerView
+ m_dasmFrame->view()->verticalScrollBar()->setValue(m_dasmFrame->view()->view()->visible_position().y);
+ m_dasmFrame->view()->verticalScrollBar()->setValue(m_dasmFrame->view()->view()->visible_position().y);
+
+ // Window title
+ astring title;
+ title.printf("Debug: %s - %s '%s'", m_machine->system().name, processor->name(), processor->tag());
+ setWindowTitle(title.cstr());
}
// Used to intercept the user clicking 'X' in the upper corner
void MainWindow::closeEvent(QCloseEvent* event)
{
- debugActQuit();
+ debugActQuit();
}
// Used to intercept the user hitting the up arrow in the input widget
bool MainWindow::eventFilter(QObject* obj, QEvent* event)
{
- // Only filter keypresses
- QKeyEvent* keyEvent = NULL;
- if (event->type() == QEvent::KeyPress)
- {
- keyEvent = static_cast<QKeyEvent*>(event);
- }
- else
- {
- return QObject::eventFilter(obj, event);
- }
-
- // Catch up & down keys
- if (keyEvent->key() == Qt::Key_Up || keyEvent->key() == Qt::Key_Down)
- {
- if (keyEvent->key() == Qt::Key_Up)
- {
- if (m_historyIndex > 0)
- m_historyIndex--;
- }
- else if (keyEvent->key() == Qt::Key_Down)
- {
- if (m_historyIndex < m_inputHistory.size())
- m_historyIndex++;
- }
-
- // Populate the input edit or clear it if you're at the end
- if (m_historyIndex == m_inputHistory.size())
- {
- m_inputEdit->setText("");
- }
- else
- {
- m_inputEdit->setText(m_inputHistory[m_historyIndex]);
- }
- }
- else if (keyEvent->key() == Qt::Key_Enter)
- {
- executeCommand(false);
- }
- else
- {
- return QObject::eventFilter(obj, event);
- }
-
- return true;
+ // Only filter keypresses
+ QKeyEvent* keyEvent = NULL;
+ if (event->type() == QEvent::KeyPress)
+ {
+ keyEvent = static_cast<QKeyEvent*>(event);
+ }
+ else
+ {
+ return QObject::eventFilter(obj, event);
+ }
+
+ // Catch up & down keys
+ if (keyEvent->key() == Qt::Key_Up || keyEvent->key() == Qt::Key_Down)
+ {
+ if (keyEvent->key() == Qt::Key_Up)
+ {
+ if (m_historyIndex > 0)
+ m_historyIndex--;
+ }
+ else if (keyEvent->key() == Qt::Key_Down)
+ {
+ if (m_historyIndex < m_inputHistory.size())
+ m_historyIndex++;
+ }
+
+ // Populate the input edit or clear it if you're at the end
+ if (m_historyIndex == m_inputHistory.size())
+ {
+ m_inputEdit->setText("");
+ }
+ else
+ {
+ m_inputEdit->setText(m_inputHistory[m_historyIndex]);
+ }
+ }
+ else if (keyEvent->key() == Qt::Key_Enter)
+ {
+ executeCommand(false);
+ }
+ else
+ {
+ return QObject::eventFilter(obj, event);
+ }
+
+ return true;
}
void MainWindow::toggleBreakpointAtCursor(bool changedTo)
{
- debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
- if (dasmView->cursor_visible())
- {
- if (debug_cpu_get_visible_cpu(*m_machine) == dasmView->source()->device())
- {
- offs_t address = downcast<debug_view_disasm *>(dasmView)->selected_address();
- device_debug *cpuinfo = dasmView->source()->device()->debug();
-
- // Find an existing breakpoint at this address
- INT32 bpindex = -1;
- for (device_debug::breakpoint* bp = cpuinfo->breakpoint_first();
- bp != NULL;
- bp = bp->next())
- {
- if (address == bp->address())
- {
- bpindex = bp->index();
- break;
- }
- }
-
- // If none exists, add a new one
- astring command;
- if (bpindex == -1)
- {
- command.printf("bpset 0x%X", address);
- }
- else
- {
- command.printf("bpclear 0x%X", bpindex);
- }
- debug_console_execute_command(*m_machine, command, 1);
- }
- }
-
- refreshAll();
+ debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
+ if (dasmView->cursor_visible())
+ {
+ if (debug_cpu_get_visible_cpu(*m_machine) == dasmView->source()->device())
+ {
+ offs_t address = downcast<debug_view_disasm *>(dasmView)->selected_address();
+ device_debug *cpuinfo = dasmView->source()->device()->debug();
+
+ // Find an existing breakpoint at this address
+ INT32 bpindex = -1;
+ for (device_debug::breakpoint* bp = cpuinfo->breakpoint_first();
+ bp != NULL;
+ bp = bp->next())
+ {
+ if (address == bp->address())
+ {
+ bpindex = bp->index();
+ break;
+ }
+ }
+
+ // If none exists, add a new one
+ astring command;
+ if (bpindex == -1)
+ {
+ command.printf("bpset 0x%X", address);
+ }
+ else
+ {
+ command.printf("bpclear 0x%X", bpindex);
+ }
+ debug_console_execute_command(*m_machine, command, 1);
+ }
+ }
+
+ refreshAll();
}
void MainWindow::runToCursor(bool changedTo)
{
- debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
- if (dasmView->cursor_visible())
- {
- if (debug_cpu_get_visible_cpu(*m_machine) == dasmView->source()->device())
- {
- offs_t address = downcast<debug_view_disasm*>(dasmView)->selected_address();
- astring command;
- command.printf("go 0x%X", address);
- debug_console_execute_command(*m_machine, command, 1);
- }
- }
+ debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
+ if (dasmView->cursor_visible())
+ {
+ if (debug_cpu_get_visible_cpu(*m_machine) == dasmView->source()->device())
+ {
+ offs_t address = downcast<debug_view_disasm*>(dasmView)->selected_address();
+ astring command;
+ command.printf("go 0x%X", address);
+ debug_console_execute_command(*m_machine, command, 1);
+ }
+ }
}
void MainWindow::rightBarChanged(QAction* changedTo)
{
- debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
- if (changedTo->text() == "Raw Opcodes")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_RAW);
- }
- else if (changedTo->text() == "Encrypted Opcodes")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_ENCRYPTED);
- }
- else if (changedTo->text() == "Comments")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_COMMENTS);
- }
- m_dasmFrame->view()->viewport()->update();
+ debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmFrame->view()->view());
+ if (changedTo->text() == "Raw Opcodes")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_RAW);
+ }
+ else if (changedTo->text() == "Encrypted Opcodes")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_ENCRYPTED);
+ }
+ else if (changedTo->text() == "Comments")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_COMMENTS);
+ }
+ m_dasmFrame->view()->viewport()->update();
}
void MainWindow::executeCommand(bool withClear)
{
- QString command = m_inputEdit->text();
-
- // A blank command is a "silent step"
- if (command == "")
- {
- debug_cpu_get_visible_cpu(*m_machine)->debug()->single_step();
- return;
- }
-
- // If the user asked for help on a specific command, enhance the call
- if (command.trimmed().startsWith("help", Qt::CaseInsensitive))
- {
- if (command.split(" ", QString::SkipEmptyParts).length() == 2)
- {
- const int width = m_consoleView->view()->visible_size().x;
- command.append(QString(", %1").arg(width, 1, 16));
- }
- }
-
- // Send along the command
- debug_console_execute_command(*m_machine,
- command.toLocal8Bit().data(),
- true);
-
- // Add history & set the index to be the top of the stack
- addToHistory(command);
-
- // Clear out the text and reset the history pointer only if asked
- if (withClear)
- {
- m_inputEdit->clear();
- m_historyIndex = m_inputHistory.size();
- }
-
- // Refresh
- m_consoleView->viewport()->update();
- m_procFrame->view()->update();
- m_dasmFrame->view()->update();
+ QString command = m_inputEdit->text();
+
+ // A blank command is a "silent step"
+ if (command == "")
+ {
+ debug_cpu_get_visible_cpu(*m_machine)->debug()->single_step();
+ return;
+ }
+
+ // If the user asked for help on a specific command, enhance the call
+ if (command.trimmed().startsWith("help", Qt::CaseInsensitive))
+ {
+ if (command.split(" ", QString::SkipEmptyParts).length() == 2)
+ {
+ const int width = m_consoleView->view()->visible_size().x;
+ command.append(QString(", %1").arg(width, 1, 16));
+ }
+ }
+
+ // Send along the command
+ debug_console_execute_command(*m_machine,
+ command.toLocal8Bit().data(),
+ true);
+
+ // Add history & set the index to be the top of the stack
+ addToHistory(command);
+
+ // Clear out the text and reset the history pointer only if asked
+ if (withClear)
+ {
+ m_inputEdit->clear();
+ m_historyIndex = m_inputHistory.size();
+ }
+
+ // Refresh
+ m_consoleView->viewport()->update();
+ m_procFrame->view()->update();
+ m_dasmFrame->view()->update();
}
void MainWindow::debugActClose()
{
- m_machine->schedule_exit();
+ m_machine->schedule_exit();
}
void MainWindow::addToHistory(const QString& command)
{
- if (command == "")
- return;
-
- // Always push back when there is no previous history
- if (m_inputHistory.size() == 0)
- {
- m_inputHistory.push_back(m_inputEdit->text());
- return;
- }
-
- // If there is previous history, make sure it's not what you just executed
- if (m_inputHistory.back() != m_inputEdit->text())
- {
- m_inputHistory.push_back(m_inputEdit->text());
- }
+ if (command == "")
+ return;
+
+ // Always push back when there is no previous history
+ if (m_inputHistory.size() == 0)
+ {
+ m_inputHistory.push_back(m_inputEdit->text());
+ return;
+ }
+
+ // If there is previous history, make sure it's not what you just executed
+ if (m_inputHistory.back() != m_inputEdit->text())
+ {
+ m_inputHistory.push_back(m_inputEdit->text());
+ }
}
diff --git a/src/osd/sdl/debugqtview.c b/src/osd/sdl/debugqtview.c
index fdcd4ae43b2..77e868f5b6a 100644
--- a/src/osd/sdl/debugqtview.c
+++ b/src/osd/sdl/debugqtview.c
@@ -3,201 +3,201 @@
#include "debugqtview.h"
-DebuggerView::DebuggerView(const debug_view_type& type,
- running_machine* machine,
- QWidget* parent) :
- QAbstractScrollArea(parent),
- m_preferBottom(false),
- m_view(NULL),
- m_machine(machine)
+DebuggerView::DebuggerView(const debug_view_type& type,
+ running_machine* machine,
+ QWidget* parent) :
+ QAbstractScrollArea(parent),
+ m_preferBottom(false),
+ m_view(NULL),
+ m_machine(machine)
{
- // I like setting the font per-view since it doesn't override the menuing fonts.
- QFont viewFontRequest("Courier New");
- viewFontRequest.setFixedPitch(true);
- viewFontRequest.setPointSize(11);
- setFont(viewFontRequest);
-
- m_view = m_machine->debug_view().alloc_view(type,
- DebuggerView::debuggerViewUpdate,
- this);
-
- connect(verticalScrollBar(), SIGNAL(valueChanged(int)),
- this, SLOT(verticalScrollSlot(int)));
- connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
- this, SLOT(horizontalScrollSlot(int)));
+ // I like setting the font per-view since it doesn't override the menuing fonts.
+ QFont viewFontRequest("Courier New");
+ viewFontRequest.setFixedPitch(true);
+ viewFontRequest.setPointSize(11);
+ setFont(viewFontRequest);
+
+ m_view = m_machine->debug_view().alloc_view(type,
+ DebuggerView::debuggerViewUpdate,
+ this);
+
+ connect(verticalScrollBar(), SIGNAL(valueChanged(int)),
+ this, SLOT(verticalScrollSlot(int)));
+ connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
+ this, SLOT(horizontalScrollSlot(int)));
}
void DebuggerView::paintEvent(QPaintEvent* event)
{
- // Tell the MAME debug view how much real estate is available
- QFontMetrics actualFont = fontMetrics();
- const int fontWidth = MAX(1, actualFont.width('_'));
- const int fontHeight = MAX(1, actualFont.height());
- m_view->set_visible_size(debug_view_xy(width()/fontWidth, height()/fontHeight));
-
-
- // Handle the scroll bars
- const int verticalScrollCharDiff = m_view->total_size().y - m_view->visible_size().y;
- const int scrollSize = verticalScrollCharDiff < 0 ? 0 : verticalScrollCharDiff;
- bool atEnd = false;
- if (verticalScrollBar()->value() == verticalScrollBar()->maximum())
- {
- atEnd = true;
- }
- verticalScrollBar()->setRange(0, scrollSize);
- if (m_preferBottom && atEnd)
- {
- verticalScrollBar()->setValue(scrollSize);
- }
-
-
- // Draw the viewport widget
- QPainter painter(viewport());
- painter.fillRect(0, 0, width(), height(), QBrush(Qt::white));
- painter.setBackgroundMode(Qt::OpaqueMode);
- painter.setBackground(QColor(255,255,255));
-
- // Background control
- QBrush bgBrush;
- bgBrush.setStyle(Qt::SolidPattern);
- painter.setPen(QPen(QColor(0,0,0)));
-
- size_t viewDataOffset = 0;
- const debug_view_xy& visibleCharDims = m_view->visible_size();
- for (int y = 0; y < visibleCharDims.y; y++)
- {
- for (int x = 0; x < visibleCharDims.x; x++)
- {
- const unsigned char textAttr = m_view->viewdata()[viewDataOffset].attrib;
-
- if (x == 0 || textAttr != m_view->viewdata()[viewDataOffset-1].attrib)
- {
- // Text color handling
- QColor fgColor(0,0,0);
- QColor bgColor(255,255,255);
-
- if(textAttr & DCA_ANCILLARY)
- {
- bgColor.setRgb(0xe0, 0xe0, 0xe0);
- }
- if(textAttr & DCA_SELECTED)
- {
- bgColor.setRgb(0xff, 0x80, 0x80);
- }
- if(textAttr & DCA_CURRENT)
- {
- bgColor.setRgb(0xff, 0xff, 0x00);
- }
- if ((textAttr & DCA_SELECTED) && (textAttr & DCA_CURRENT))
- {
- bgColor.setRgb(0xff,0xc0,0x80);
- }
- if(textAttr & DCA_CHANGED)
- {
- fgColor.setRgb(0xff, 0x00, 0x00);
- }
- if(textAttr & DCA_INVALID)
- {
- fgColor.setRgb(0x00, 0x00, 0xff);
- }
- if(textAttr & DCA_DISABLED)
- {
- fgColor.setRgb((fgColor.red() + bgColor.red()) >> 1,
- (fgColor.green() + bgColor.green()) >> 1,
- (fgColor.blue() + bgColor.blue()) >> 1);
- }
- if(textAttr & DCA_COMMENT)
- {
- fgColor.setRgb(0x00, 0x80, 0x00);
- }
-
- bgBrush.setColor(bgColor);
- painter.setBackground(bgBrush);
- painter.setPen(QPen(fgColor));
- }
-
- // Your character is not guaranteed to take up the entire fontWidth x fontHeight, so fill before.
- painter.fillRect(x*fontWidth, y*fontHeight, fontWidth, fontHeight, bgBrush);
-
- // There is a touchy interplay between font height, drawing difference, visible position, etc
- // Fonts don't get drawn "down and to the left" like boxes, so some wiggling is needed.
- painter.drawText(x*fontWidth,
- (y*fontHeight + (fontHeight*0.80)),
- QString(m_view->viewdata()[viewDataOffset].byte));
- viewDataOffset++;
- }
- }
+ // Tell the MAME debug view how much real estate is available
+ QFontMetrics actualFont = fontMetrics();
+ const int fontWidth = MAX(1, actualFont.width('_'));
+ const int fontHeight = MAX(1, actualFont.height());
+ m_view->set_visible_size(debug_view_xy(width()/fontWidth, height()/fontHeight));
+
+
+ // Handle the scroll bars
+ const int verticalScrollCharDiff = m_view->total_size().y - m_view->visible_size().y;
+ const int scrollSize = verticalScrollCharDiff < 0 ? 0 : verticalScrollCharDiff;
+ bool atEnd = false;
+ if (verticalScrollBar()->value() == verticalScrollBar()->maximum())
+ {
+ atEnd = true;
+ }
+ verticalScrollBar()->setRange(0, scrollSize);
+ if (m_preferBottom && atEnd)
+ {
+ verticalScrollBar()->setValue(scrollSize);
+ }
+
+
+ // Draw the viewport widget
+ QPainter painter(viewport());
+ painter.fillRect(0, 0, width(), height(), QBrush(Qt::white));
+ painter.setBackgroundMode(Qt::OpaqueMode);
+ painter.setBackground(QColor(255,255,255));
+
+ // Background control
+ QBrush bgBrush;
+ bgBrush.setStyle(Qt::SolidPattern);
+ painter.setPen(QPen(QColor(0,0,0)));
+
+ size_t viewDataOffset = 0;
+ const debug_view_xy& visibleCharDims = m_view->visible_size();
+ for (int y = 0; y < visibleCharDims.y; y++)
+ {
+ for (int x = 0; x < visibleCharDims.x; x++)
+ {
+ const unsigned char textAttr = m_view->viewdata()[viewDataOffset].attrib;
+
+ if (x == 0 || textAttr != m_view->viewdata()[viewDataOffset-1].attrib)
+ {
+ // Text color handling
+ QColor fgColor(0,0,0);
+ QColor bgColor(255,255,255);
+
+ if(textAttr & DCA_ANCILLARY)
+ {
+ bgColor.setRgb(0xe0, 0xe0, 0xe0);
+ }
+ if(textAttr & DCA_SELECTED)
+ {
+ bgColor.setRgb(0xff, 0x80, 0x80);
+ }
+ if(textAttr & DCA_CURRENT)
+ {
+ bgColor.setRgb(0xff, 0xff, 0x00);
+ }
+ if ((textAttr & DCA_SELECTED) && (textAttr & DCA_CURRENT))
+ {
+ bgColor.setRgb(0xff,0xc0,0x80);
+ }
+ if(textAttr & DCA_CHANGED)
+ {
+ fgColor.setRgb(0xff, 0x00, 0x00);
+ }
+ if(textAttr & DCA_INVALID)
+ {
+ fgColor.setRgb(0x00, 0x00, 0xff);
+ }
+ if(textAttr & DCA_DISABLED)
+ {
+ fgColor.setRgb((fgColor.red() + bgColor.red()) >> 1,
+ (fgColor.green() + bgColor.green()) >> 1,
+ (fgColor.blue() + bgColor.blue()) >> 1);
+ }
+ if(textAttr & DCA_COMMENT)
+ {
+ fgColor.setRgb(0x00, 0x80, 0x00);
+ }
+
+ bgBrush.setColor(bgColor);
+ painter.setBackground(bgBrush);
+ painter.setPen(QPen(fgColor));
+ }
+
+ // Your character is not guaranteed to take up the entire fontWidth x fontHeight, so fill before.
+ painter.fillRect(x*fontWidth, y*fontHeight, fontWidth, fontHeight, bgBrush);
+
+ // There is a touchy interplay between font height, drawing difference, visible position, etc
+ // Fonts don't get drawn "down and to the left" like boxes, so some wiggling is needed.
+ painter.drawText(x*fontWidth,
+ (y*fontHeight + (fontHeight*0.80)),
+ QString(m_view->viewdata()[viewDataOffset].byte));
+ viewDataOffset++;
+ }
+ }
}
void DebuggerView::keyPressEvent(QKeyEvent* event)
{
- if (m_view == NULL)
- return QWidget::keyPressEvent(event);
-
- Qt::KeyboardModifiers keyMods = QApplication::keyboardModifiers();
- const bool ctrlDown = keyMods.testFlag(Qt::ControlModifier);
-
- int keyPress = -1;
- switch (event->key())
- {
- case Qt::Key_Up:
- keyPress = DCH_UP;
- break;
- case Qt::Key_Down:
- keyPress = DCH_DOWN;
- break;
- case Qt::Key_Left:
- keyPress = DCH_LEFT;
- if (ctrlDown) keyPress = DCH_CTRLLEFT;
- break;
- case Qt::Key_Right:
- keyPress = DCH_RIGHT;
- if (ctrlDown) keyPress = DCH_CTRLRIGHT;
- break;
- case Qt::Key_PageUp:
- keyPress = DCH_PUP;
- break;
- case Qt::Key_PageDown:
- keyPress = DCH_PDOWN;
- break;
- case Qt::Key_Home:
- keyPress = DCH_HOME;
- if (ctrlDown) keyPress = DCH_CTRLHOME;
- break;
- case Qt::Key_End:
- keyPress = DCH_END;
- if (ctrlDown) keyPress = DCH_CTRLEND;
- break;
- case Qt::Key_0: keyPress = '0'; break;
- case Qt::Key_1: keyPress = '1'; break;
- case Qt::Key_2: keyPress = '2'; break;
- case Qt::Key_3: keyPress = '3'; break;
- case Qt::Key_4: keyPress = '4'; break;
- case Qt::Key_5: keyPress = '5'; break;
- case Qt::Key_6: keyPress = '6'; break;
- case Qt::Key_7: keyPress = '7'; break;
- case Qt::Key_8: keyPress = '8'; break;
- case Qt::Key_9: keyPress = '9'; break;
- case Qt::Key_A: keyPress = 'a'; break;
- case Qt::Key_B: keyPress = 'b'; break;
- case Qt::Key_C: keyPress = 'c'; break;
- case Qt::Key_D: keyPress = 'd'; break;
- case Qt::Key_E: keyPress = 'e'; break;
- case Qt::Key_F: keyPress = 'f'; break;
- default:
- return QWidget::keyPressEvent(event);
- }
-
- m_view->set_cursor_visible(true);
- m_view->process_char(keyPress);
-
- // Catch the view up with the cursor
- verticalScrollBar()->setValue(m_view->visible_position().y);
-
- viewport()->update();
- update();
+ if (m_view == NULL)
+ return QWidget::keyPressEvent(event);
+
+ Qt::KeyboardModifiers keyMods = QApplication::keyboardModifiers();
+ const bool ctrlDown = keyMods.testFlag(Qt::ControlModifier);
+
+ int keyPress = -1;
+ switch (event->key())
+ {
+ case Qt::Key_Up:
+ keyPress = DCH_UP;
+ break;
+ case Qt::Key_Down:
+ keyPress = DCH_DOWN;
+ break;
+ case Qt::Key_Left:
+ keyPress = DCH_LEFT;
+ if (ctrlDown) keyPress = DCH_CTRLLEFT;
+ break;
+ case Qt::Key_Right:
+ keyPress = DCH_RIGHT;
+ if (ctrlDown) keyPress = DCH_CTRLRIGHT;
+ break;
+ case Qt::Key_PageUp:
+ keyPress = DCH_PUP;
+ break;
+ case Qt::Key_PageDown:
+ keyPress = DCH_PDOWN;
+ break;
+ case Qt::Key_Home:
+ keyPress = DCH_HOME;
+ if (ctrlDown) keyPress = DCH_CTRLHOME;
+ break;
+ case Qt::Key_End:
+ keyPress = DCH_END;
+ if (ctrlDown) keyPress = DCH_CTRLEND;
+ break;
+ case Qt::Key_0: keyPress = '0'; break;
+ case Qt::Key_1: keyPress = '1'; break;
+ case Qt::Key_2: keyPress = '2'; break;
+ case Qt::Key_3: keyPress = '3'; break;
+ case Qt::Key_4: keyPress = '4'; break;
+ case Qt::Key_5: keyPress = '5'; break;
+ case Qt::Key_6: keyPress = '6'; break;
+ case Qt::Key_7: keyPress = '7'; break;
+ case Qt::Key_8: keyPress = '8'; break;
+ case Qt::Key_9: keyPress = '9'; break;
+ case Qt::Key_A: keyPress = 'a'; break;
+ case Qt::Key_B: keyPress = 'b'; break;
+ case Qt::Key_C: keyPress = 'c'; break;
+ case Qt::Key_D: keyPress = 'd'; break;
+ case Qt::Key_E: keyPress = 'e'; break;
+ case Qt::Key_F: keyPress = 'f'; break;
+ default:
+ return QWidget::keyPressEvent(event);
+ }
+
+ m_view->set_cursor_visible(true);
+ m_view->process_char(keyPress);
+
+ // Catch the view up with the cursor
+ verticalScrollBar()->setValue(m_view->visible_position().y);
+
+ viewport()->update();
+ update();
}
@@ -208,7 +208,7 @@ void DebuggerView::mousePressEvent(QMouseEvent* event)
QFontMetrics actualFont = fontMetrics();
const int fontWidth = MAX(1, actualFont.width('_'));
const int fontHeight = MAX(1, actualFont.height());
-
+
debug_view_xy topLeft = m_view->visible_position();
debug_view_xy clickViewPosition;
clickViewPosition.x = topLeft.x + (event->x() / fontWidth);
@@ -223,23 +223,21 @@ void DebuggerView::mousePressEvent(QMouseEvent* event)
void DebuggerView::verticalScrollSlot(int value)
{
- m_view->set_visible_position(debug_view_xy(horizontalScrollBar()->value(), value));
+ m_view->set_visible_position(debug_view_xy(horizontalScrollBar()->value(), value));
}
void DebuggerView::horizontalScrollSlot(int value)
{
- m_view->set_visible_position(debug_view_xy(value, verticalScrollBar()->value()));
+ m_view->set_visible_position(debug_view_xy(value, verticalScrollBar()->value()));
}
void DebuggerView::debuggerViewUpdate(debug_view& debugView, void* osdPrivate)
{
- // Get a handle to the DebuggerView being updated & redraw
- DebuggerView* dView = (DebuggerView*)osdPrivate;
- dView->verticalScrollBar()->setValue(dView->view()->visible_position().y);
- dView->viewport()->update();
- dView->update();
+ // Get a handle to the DebuggerView being updated & redraw
+ DebuggerView* dView = (DebuggerView*)osdPrivate;
+ dView->verticalScrollBar()->setValue(dView->view()->visible_position().y);
+ dView->viewport()->update();
+ dView->update();
}
-
-
diff --git a/src/osd/sdl/debugqtview.h b/src/osd/sdl/debugqtview.h
index 1e926949114..b62002e3f68 100644
--- a/src/osd/sdl/debugqtview.h
+++ b/src/osd/sdl/debugqtview.h
@@ -8,38 +8,38 @@
class DebuggerView : public QAbstractScrollArea
{
- Q_OBJECT
-
+ Q_OBJECT
+
public:
- DebuggerView(const debug_view_type& type,
- running_machine* machine,
- QWidget* parent=NULL);
- virtual ~DebuggerView() {}
+ DebuggerView(const debug_view_type& type,
+ running_machine* machine,
+ QWidget* parent=NULL);
+ virtual ~DebuggerView() {}
- void paintEvent(QPaintEvent* event);
+ void paintEvent(QPaintEvent* event);
- // Callback to allow MAME to refresh the view
- static void debuggerViewUpdate(debug_view& debugView, void* osdPrivate);
+ // Callback to allow MAME to refresh the view
+ static void debuggerViewUpdate(debug_view& debugView, void* osdPrivate);
- // Setters and accessors
- void setPreferBottom(bool pb) { m_preferBottom = pb; }
- debug_view* view() { return m_view; }
+ // Setters and accessors
+ void setPreferBottom(bool pb) { m_preferBottom = pb; }
+ debug_view* view() { return m_view; }
protected:
- void keyPressEvent(QKeyEvent* event);
- void mousePressEvent(QMouseEvent* event);
+ void keyPressEvent(QKeyEvent* event);
+ void mousePressEvent(QMouseEvent* event);
private slots:
- void verticalScrollSlot(int value);
- void horizontalScrollSlot(int value);
+ void verticalScrollSlot(int value);
+ void horizontalScrollSlot(int value);
private:
- bool m_preferBottom;
+ bool m_preferBottom;
- debug_view* m_view;
- running_machine* m_machine;
+ debug_view* m_view;
+ running_machine* m_machine;
};
diff --git a/src/osd/sdl/debugqtwindow.h b/src/osd/sdl/debugqtwindow.h
index ae87a767c05..f9d3e6a735c 100644
--- a/src/osd/sdl/debugqtwindow.h
+++ b/src/osd/sdl/debugqtwindow.h
@@ -70,8 +70,8 @@ public:
};
public:
- WindowQtConfig() :
- m_type(WIN_TYPE_MAIN),
+ WindowQtConfig() :
+ m_type(WIN_TYPE_MAIN),
m_size(800, 600),
m_position(120, 120)
{}
diff --git a/src/osd/sdl/sdlsocket.c b/src/osd/sdl/sdlsocket.c
index 7c20b1a7b93..e7e294a92c5 100644
--- a/src/osd/sdl/sdlsocket.c
+++ b/src/osd/sdl/sdlsocket.c
@@ -55,7 +55,7 @@ file_error sdl_open_socket(const char *path, UINT32 openflags, osd_file **file,
sscanf( path+strlen(sdlfile_socket_identifier), "%255[^:]:%d", hostname, &port );
-// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
+// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
if (((*file)->socket = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
@@ -77,25 +77,25 @@ file_error sdl_open_socket(const char *path, UINT32 openflags, osd_file **file,
// listening socket support
if (openflags & OPEN_FLAG_CREATE)
{
-// printf("Listening for client at '%s' on port '%d'\n", hostname, port);
+// printf("Listening for client at '%s' on port '%d'\n", hostname, port);
// bind socket...
if (bind((*file)->socket, (struct sockaddr *)&sai, sizeof(struct sockaddr)) == -1)
{
return FILERR_ACCESS_DENIED;
}
-
+
// start to listen...
if (listen((*file)->socket, 1) == -1) {
return FILERR_ACCESS_DENIED;
}
-
+
// mark socket as "listening"
(*file)->handle = 0;
*filesize = 0;
return FILERR_NONE;
}
-// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
+// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
if (connect((*file)->socket, (struct sockaddr *)&sai, sizeof(struct sockaddr)) == -1)
{
return FILERR_ACCESS_DENIED;
diff --git a/src/osd/windows/d3dcomm.h b/src/osd/windows/d3dcomm.h
index 2ac96074006..41318dc0822 100644
--- a/src/osd/windows/d3dcomm.h
+++ b/src/osd/windows/d3dcomm.h
@@ -86,8 +86,8 @@ struct d3d_poly_info
UINT32 flags; // rendering flags
DWORD modmode; // texture modulation mode
d3d_texture_info * texture; // pointer to texture info
- float line_time; // used by vectors
- float line_length; // used by vectors
+ float line_time; // used by vectors
+ float line_length; // used by vectors
};
diff --git a/src/osd/windows/d3dhlsl.c b/src/osd/windows/d3dhlsl.c
index 06f9894a026..373526dbdd8 100644
--- a/src/osd/windows/d3dhlsl.c
+++ b/src/osd/windows/d3dhlsl.c
@@ -914,17 +914,17 @@ void hlsl_info::init(d3d_base *d3dintf, win_window_info *window)
ini_file.gets(buf, 1024);
sscanf(buf, "yiq_phase_count %d\n", &options->yiq_phase_count);
- ini_file.gets(buf, 1024);
- sscanf(buf, "vector_time_scale %f\n", &options->vector_time_scale);
+ ini_file.gets(buf, 1024);
+ sscanf(buf, "vector_time_scale %f\n", &options->vector_time_scale);
- ini_file.gets(buf, 1024);
- sscanf(buf, "vector_time_period %f\n", &options->vector_time_period);
+ ini_file.gets(buf, 1024);
+ sscanf(buf, "vector_time_period %f\n", &options->vector_time_period);
- ini_file.gets(buf, 1024);
- sscanf(buf, "vector_length_scale %f\n", &options->vector_length_scale);
+ ini_file.gets(buf, 1024);
+ sscanf(buf, "vector_length_scale %f\n", &options->vector_length_scale);
- ini_file.gets(buf, 1024);
- sscanf(buf, "vector_length_ratio %f\n", &options->vector_length_ratio);
+ ini_file.gets(buf, 1024);
+ sscanf(buf, "vector_length_ratio %f\n", &options->vector_length_ratio);
}
}
}
@@ -979,10 +979,10 @@ void hlsl_info::init(d3d_base *d3dintf, win_window_info *window)
options->yiq_q = winoptions.screen_yiq_q();
options->yiq_scan_time = winoptions.screen_yiq_scan_time();
options->yiq_phase_count = winoptions.screen_yiq_phase_count();
- options->vector_time_scale = winoptions.screen_vector_time_scale();
- options->vector_time_period = winoptions.screen_vector_time_period();
- options->vector_length_scale = winoptions.screen_vector_length_scale();
- options->vector_length_ratio = winoptions.screen_vector_length_ratio();
+ options->vector_time_scale = winoptions.screen_vector_time_scale();
+ options->vector_time_period = winoptions.screen_vector_time_period();
+ options->vector_length_scale = winoptions.screen_vector_length_scale();
+ options->vector_length_ratio = winoptions.screen_vector_length_ratio();
}
options->params_dirty = true;
@@ -1001,58 +1001,58 @@ void hlsl_info::init(d3d_base *d3dintf, win_window_info *window)
void hlsl_info::init_fsfx_quad(void *vertbuf)
{
- // Called at the start of each frame by the D3D code in order to reserve two triangles
- // that are guaranteed to be at a fixed position so as to simply use D3DPT_TRIANGLELIST, 0, 2
- // instead of having to do bookkeeping about a specific screen quad
- if (!master_enable || !d3dintf->post_fx_available)
- return;
+ // Called at the start of each frame by the D3D code in order to reserve two triangles
+ // that are guaranteed to be at a fixed position so as to simply use D3DPT_TRIANGLELIST, 0, 2
+ // instead of having to do bookkeeping about a specific screen quad
+ if (!master_enable || !d3dintf->post_fx_available)
+ return;
- d3d_info *d3d = (d3d_info *)window->drawdata;
+ d3d_info *d3d = (d3d_info *)window->drawdata;
- // get a pointer to the vertex buffer
- fsfx_vertices = (d3d_vertex *)vertbuf;
- if (fsfx_vertices == NULL)
- return;
+ // get a pointer to the vertex buffer
+ fsfx_vertices = (d3d_vertex *)vertbuf;
+ if (fsfx_vertices == NULL)
+ return;
- // fill in the vertexes clockwise
- fsfx_vertices[0].x = 0.0f;
- fsfx_vertices[0].y = 0.0f;
- fsfx_vertices[1].x = d3d->width;
- fsfx_vertices[1].y = 0.0f;
- fsfx_vertices[2].x = 0.0f;
- fsfx_vertices[2].y = d3d->height;
- fsfx_vertices[3].x = d3d->width;
- fsfx_vertices[3].y = 0.0f;
- fsfx_vertices[4].x = 0.0f;
- fsfx_vertices[4].y = d3d->height;
- fsfx_vertices[5].x = d3d->width;
- fsfx_vertices[5].y = d3d->height;
+ // fill in the vertexes clockwise
+ fsfx_vertices[0].x = 0.0f;
+ fsfx_vertices[0].y = 0.0f;
+ fsfx_vertices[1].x = d3d->width;
+ fsfx_vertices[1].y = 0.0f;
+ fsfx_vertices[2].x = 0.0f;
+ fsfx_vertices[2].y = d3d->height;
+ fsfx_vertices[3].x = d3d->width;
+ fsfx_vertices[3].y = 0.0f;
+ fsfx_vertices[4].x = 0.0f;
+ fsfx_vertices[4].y = d3d->height;
+ fsfx_vertices[5].x = d3d->width;
+ fsfx_vertices[5].y = d3d->height;
- fsfx_vertices[0].u0 = 0.0f;
- fsfx_vertices[0].v0 = 0.0f;
+ fsfx_vertices[0].u0 = 0.0f;
+ fsfx_vertices[0].v0 = 0.0f;
- fsfx_vertices[1].u0 = 1.0f;
- fsfx_vertices[1].v0 = 0.0f;
+ fsfx_vertices[1].u0 = 1.0f;
+ fsfx_vertices[1].v0 = 0.0f;
- fsfx_vertices[2].u0 = 0.0f;
- fsfx_vertices[2].v0 = 1.0f;
+ fsfx_vertices[2].u0 = 0.0f;
+ fsfx_vertices[2].v0 = 1.0f;
- fsfx_vertices[3].u0 = 1.0f;
- fsfx_vertices[3].v0 = 0.0f;
+ fsfx_vertices[3].u0 = 1.0f;
+ fsfx_vertices[3].v0 = 0.0f;
- fsfx_vertices[4].u0 = 0.0f;
- fsfx_vertices[4].v0 = 1.0f;
+ fsfx_vertices[4].u0 = 0.0f;
+ fsfx_vertices[4].v0 = 1.0f;
- fsfx_vertices[5].u0 = 1.0f;
- fsfx_vertices[5].v0 = 1.0f;
+ fsfx_vertices[5].u0 = 1.0f;
+ fsfx_vertices[5].v0 = 1.0f;
- // set the color, Z parameters to standard values
- for (int i = 0; i < 6; i++)
- {
- fsfx_vertices[i].z = 0.0f;
- fsfx_vertices[i].rhw = 1.0f;
- fsfx_vertices[i].color = D3DCOLOR_ARGB(255, 255, 255, 255);
- }
+ // set the color, Z parameters to standard values
+ for (int i = 0; i < 6; i++)
+ {
+ fsfx_vertices[i].z = 0.0f;
+ fsfx_vertices[i].rhw = 1.0f;
+ fsfx_vertices[i].color = D3DCOLOR_ARGB(255, 255, 255, 255);
+ }
}
@@ -1068,22 +1068,22 @@ int hlsl_info::create_resources(bool reset)
d3d_info *d3d = (d3d_info *)window->drawdata;
- HRESULT result = (*d3dintf->device.get_render_target)(d3d->device, 0, &backbuffer);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device get_render_target call\n", (int)result);
-
- result = (*d3dintf->device.create_texture)(d3d->device, 4, 4, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &black_texture);
- if (result != D3D_OK)
- {
- mame_printf_verbose("Direct3D: Unable to init video-memory target for black texture (%08x)\n", (UINT32)result);
- return 1;
- }
- (*d3dintf->texture.get_surface_level)(black_texture, 0, &black_surface);
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, black_surface);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ HRESULT result = (*d3dintf->device.get_render_target)(d3d->device, 0, &backbuffer);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device get_render_target call\n", (int)result);
+
+ result = (*d3dintf->device.create_texture)(d3d->device, 4, 4, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &black_texture);
+ if (result != D3D_OK)
+ {
+ mame_printf_verbose("Direct3D: Unable to init video-memory target for black texture (%08x)\n", (UINT32)result);
+ return 1;
+ }
+ (*d3dintf->texture.get_surface_level)(black_texture, 0, &black_surface);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, black_surface);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
result = (*d3dintf->device.create_texture)(d3d->device, (int)snap_width, (int)snap_height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &avi_copy_texture);
if (result != D3D_OK)
@@ -1243,35 +1243,35 @@ int hlsl_info::create_resources(bool reset)
// create the vector shader
#if HLSL_VECTOR
- char bloom_cstr[1024];
- sprintf(bloom_cstr, "%s\\bloom.fx", fx_dir);
- TCHAR *bloom_name = tstring_from_utf8(bloom_cstr);
-
- result = (*d3dintf->device.create_effect)(d3d->device, bloom_name, &bloom_effect);
- if(result != D3D_OK)
- {
- mame_printf_verbose("Direct3D: Unable to load bloom.fx\n");
- return 1;
- }
- if (bloom_name)
- osd_free(bloom_name);
-
- char downsample_cstr[1024];
- sprintf(downsample_cstr, "%s\\downsample.fx", fx_dir);
- TCHAR *downsample_name = tstring_from_utf8(downsample_cstr);
-
- result = (*d3dintf->device.create_effect)(d3d->device, downsample_name, &downsample_effect);
- if(result != D3D_OK)
- {
- mame_printf_verbose("Direct3D: Unable to load downsample.fx\n");
- return 1;
- }
- if (downsample_name)
- osd_free(downsample_name);
-
- char vector_cstr[1024];
- sprintf(vector_cstr, "%s\\vector.fx", fx_dir);
- TCHAR *vector_name = tstring_from_utf8(vector_cstr);
+ char bloom_cstr[1024];
+ sprintf(bloom_cstr, "%s\\bloom.fx", fx_dir);
+ TCHAR *bloom_name = tstring_from_utf8(bloom_cstr);
+
+ result = (*d3dintf->device.create_effect)(d3d->device, bloom_name, &bloom_effect);
+ if(result != D3D_OK)
+ {
+ mame_printf_verbose("Direct3D: Unable to load bloom.fx\n");
+ return 1;
+ }
+ if (bloom_name)
+ osd_free(bloom_name);
+
+ char downsample_cstr[1024];
+ sprintf(downsample_cstr, "%s\\downsample.fx", fx_dir);
+ TCHAR *downsample_name = tstring_from_utf8(downsample_cstr);
+
+ result = (*d3dintf->device.create_effect)(d3d->device, downsample_name, &downsample_effect);
+ if(result != D3D_OK)
+ {
+ mame_printf_verbose("Direct3D: Unable to load downsample.fx\n");
+ return 1;
+ }
+ if (downsample_name)
+ osd_free(downsample_name);
+
+ char vector_cstr[1024];
+ sprintf(vector_cstr, "%s\\vector.fx", fx_dir);
+ TCHAR *vector_name = tstring_from_utf8(vector_cstr);
result = (*d3dintf->device.create_effect)(d3d->device, vector_name, &vector_effect);
if(result != D3D_OK)
@@ -1351,7 +1351,7 @@ void hlsl_info::begin_frame()
d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
if (rt == NULL)
{
- return;
+ return;
}
HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[0]);
@@ -1368,42 +1368,42 @@ void hlsl_info::begin_frame()
//============================================================
void hlsl_info::blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst, D3DPRIMITIVETYPE prim_type,
- UINT32 prim_index, UINT32 prim_count, int dstw, int dsth)
+ UINT32 prim_index, UINT32 prim_count, int dstw, int dsth)
{
- d3d_info *d3d = (d3d_info *)window->drawdata;
+ d3d_info *d3d = (d3d_info *)window->drawdata;
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, dst);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, dst);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- curr_effect = effect;
+ curr_effect = effect;
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", src);
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", src);
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)dstw);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)dsth);
- (*d3dintf->effect.set_float)(curr_effect, "PostPass", 1.0f);
- (*d3dintf->effect.set_float)(curr_effect, "PincushionAmount", options->pincushion);
- (*d3dintf->effect.set_float)(curr_effect, "Brighten", 0.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)dstw);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)dsth);
+ (*d3dintf->effect.set_float)(curr_effect, "PostPass", 1.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "PincushionAmount", options->pincushion);
+ (*d3dintf->effect.set_float)(curr_effect, "Brighten", 0.0f);
- unsigned int num_passes = 0;
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+ unsigned int num_passes = 0;
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, prim_type, prim_index, prim_count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, prim_type, prim_index, prim_count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
- (*d3dintf->effect.end)(curr_effect);
+ (*d3dintf->effect.end)(curr_effect);
- if (new_dst)
- {
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, new_dst);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- }
+ if (new_dst)
+ {
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, new_dst);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ }
}
@@ -1413,7 +1413,7 @@ void hlsl_info::blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst, D
//============================================================
void hlsl_info::blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst, D3DPRIMITIVETYPE prim_type,
- UINT32 prim_index, UINT32 prim_count)
+ UINT32 prim_index, UINT32 prim_count)
{
d3d_info *d3d = (d3d_info *)window->drawdata;
@@ -1430,10 +1430,10 @@ void hlsl_info::blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst, D
(*d3dintf->effect.set_texture)(curr_effect, "Diffuse", src);
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
- (*d3dintf->effect.set_float)(curr_effect, "ScreenWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "ScreenHeight", (float)d3d->height);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
+ (*d3dintf->effect.set_float)(curr_effect, "ScreenWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "ScreenHeight", (float)d3d->height);
(*d3dintf->effect.set_float)(curr_effect, "PostPass", 1.0f);
(*d3dintf->effect.set_float)(curr_effect, "PincushionAmount", options->pincushion);
(*d3dintf->effect.set_float)(curr_effect, "Brighten", 1.0f);
@@ -1475,22 +1475,22 @@ void hlsl_info::end_frame()
render_snapshot(snap_target);
}
- if (!lines_pending)
- return;
+ if (!lines_pending)
+ return;
- lines_pending = false;
- /*d3d_info *d3d = (d3d_info *)window->drawdata;
+ lines_pending = false;
+ /*d3d_info *d3d = (d3d_info *)window->drawdata;
- d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
- if (!rt)
- return;
+ d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
+ if (!rt)
+ return;
- blit(backbuffer, rt->texture[0], NULL, vecbuf_type, vecbuf_index, vecbuf_count);*/
+ blit(backbuffer, rt->texture[0], NULL, vecbuf_type, vecbuf_index, vecbuf_count);*/
/*d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
if (rt == NULL)
{
- return;
+ return;
}
blit(backbuffer, rt->texture[1], NULL, vecbuf_type, vecbuf_index, vecbuf_count);
@@ -1973,9 +1973,9 @@ void hlsl_info::render_quad(d3d_poly_info *poly, int vertnum)
(*d3dintf->effect.end)(curr_effect);
- curr_effect = post_effect;
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
+ curr_effect = post_effect;
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
/* Scanlines and shadow mask, at high res for AVI logging*/
if(avi_output_file != NULL)
@@ -2022,156 +2022,156 @@ void hlsl_info::render_quad(d3d_poly_info *poly, int vertnum)
snap_rendered = true;
}
- /* Scanlines and shadow mask */
- curr_effect = post_effect;
+ /* Scanlines and shadow mask */
+ curr_effect = post_effect;
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
- //(*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)rt->target_width);
- //(*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)rt->target_height);
+ //(*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)rt->target_width);
+ //(*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)rt->target_height);
#if HLSL_VECTOR
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
#else
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
#endif
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
- (*d3dintf->effect.end)(curr_effect);
+ (*d3dintf->effect.end)(curr_effect);
#if HLSL_VECTOR
- /* Bloom */
- curr_effect = downsample_effect;
-
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[1]);
-
- int bloom_size = (rt->target_width < rt->target_height) ? rt->target_width : rt->target_height;
- int bloom_index = 0;
- int bloom_width = rt->target_width;
- int bloom_height = rt->target_height;
- for(; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
- {
- float source_size[2] = { bloom_width, bloom_height };
- float target_size[2] = { bloom_width >> 1, bloom_height >> 1 };
- (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
- (*d3dintf->effect.set_vector)(curr_effect, "SourceSize", 2, source_size);
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", (bloom_index == 0) ? rt->texture[1] : ct->bloom_texture[bloom_index - 1]);
-
- if (ct->bloom_target[bloom_index] == NULL)
- {
- (*d3dintf->effect.end)(curr_effect);
- break;
- }
-
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, ct->bloom_target[bloom_index]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 7:%d\n", (int)result, bloom_size);
- //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
- //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, D3DPT_TRIANGLELIST, 0, 2);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
-
- bloom_index++;
- bloom_width >>= 1;
- bloom_height >>= 1;
- }
-
- /* Bloom composite pass*/
- curr_effect = bloom_effect;
-
- float target_size[2] = { rt->target_width, rt->target_height };
- (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
-
- (*d3dintf->effect.set_texture)(curr_effect, "DiffuseA", rt->texture[1]);
- (*d3dintf->effect.set_float)(curr_effect, "DiffuseScaleA", 1.0f);
-
- char name[9] = "Diffuse*";
- char scale[14] = "DiffuseScale*";
- for(int index = 1; index < bloom_index; index++)
- {
- name[7] = 'A' + index;
- scale[12] = 'A' + index;
- (*d3dintf->effect.set_texture)(curr_effect, name, ct->bloom_texture[index - 1]);
- (*d3dintf->effect.set_float)(curr_effect, scale, 1.0f);
- }
- for(int index = bloom_index; index < 11; index++)
- {
- name[7] = 'A' + index;
- scale[12] = 'A' + index;
- (*d3dintf->effect.set_texture)(curr_effect, name, black_texture);
- (*d3dintf->effect.set_float)(curr_effect, scale, 0.0f);
- }
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[2]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 8\n", (int)result);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, D3DPT_TRIANGLELIST, 0, 2);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
-
- curr_effect = effect;
-
- //(*d3dintf->effect.set_float)(curr_effect, "PostPass", 1.0f);
-
- //blit(backbuffer, ct->last_texture, NULL, poly->type, vertnum, poly->count, d3d->width, d3d->height);
-
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 9\n", (int)result);
-
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[2]);
-
- (*d3dintf->effect.set_float)(curr_effect, "RawWidth", poly->texture != NULL ? (float)poly->texture->rawwidth : 8.0f);
- (*d3dintf->effect.set_float)(curr_effect, "RawHeight", poly->texture != NULL ? (float)poly->texture->rawheight : 8.0f);
- (*d3dintf->effect.set_float)(curr_effect, "WidthRatio", poly->texture != NULL ? (1.0f / (poly->texture->ustop - poly->texture->ustart)) : 0.0f);
- (*d3dintf->effect.set_float)(curr_effect, "HeightRatio", poly->texture != NULL ? (1.0f / (poly->texture->vstop - poly->texture->vstart)) : 0.0f);
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
- (*d3dintf->effect.set_float)(curr_effect, "PostPass", 0.0f);
- (*d3dintf->effect.set_float)(curr_effect, "PincushionAmount", options->pincushion);
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
+ /* Bloom */
+ curr_effect = downsample_effect;
+
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[1]);
+
+ int bloom_size = (rt->target_width < rt->target_height) ? rt->target_width : rt->target_height;
+ int bloom_index = 0;
+ int bloom_width = rt->target_width;
+ int bloom_height = rt->target_height;
+ for(; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
+ {
+ float source_size[2] = { bloom_width, bloom_height };
+ float target_size[2] = { bloom_width >> 1, bloom_height >> 1 };
+ (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
+ (*d3dintf->effect.set_vector)(curr_effect, "SourceSize", 2, source_size);
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", (bloom_index == 0) ? rt->texture[1] : ct->bloom_texture[bloom_index - 1]);
+
+ if (ct->bloom_target[bloom_index] == NULL)
+ {
+ (*d3dintf->effect.end)(curr_effect);
+ break;
+ }
+
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, ct->bloom_target[bloom_index]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 7:%d\n", (int)result, bloom_size);
+ //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
+ //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, D3DPT_TRIANGLELIST, 0, 2);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
+
+ bloom_index++;
+ bloom_width >>= 1;
+ bloom_height >>= 1;
+ }
+
+ /* Bloom composite pass*/
+ curr_effect = bloom_effect;
+
+ float target_size[2] = { rt->target_width, rt->target_height };
+ (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
+
+ (*d3dintf->effect.set_texture)(curr_effect, "DiffuseA", rt->texture[1]);
+ (*d3dintf->effect.set_float)(curr_effect, "DiffuseScaleA", 1.0f);
+
+ char name[9] = "Diffuse*";
+ char scale[14] = "DiffuseScale*";
+ for(int index = 1; index < bloom_index; index++)
+ {
+ name[7] = 'A' + index;
+ scale[12] = 'A' + index;
+ (*d3dintf->effect.set_texture)(curr_effect, name, ct->bloom_texture[index - 1]);
+ (*d3dintf->effect.set_float)(curr_effect, scale, 1.0f);
+ }
+ for(int index = bloom_index; index < 11; index++)
+ {
+ name[7] = 'A' + index;
+ scale[12] = 'A' + index;
+ (*d3dintf->effect.set_texture)(curr_effect, name, black_texture);
+ (*d3dintf->effect.set_float)(curr_effect, scale, 0.0f);
+ }
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[2]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 8\n", (int)result);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, D3DPT_TRIANGLELIST, 0, 2);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
+
+ curr_effect = effect;
+
+ //(*d3dintf->effect.set_float)(curr_effect, "PostPass", 1.0f);
+
+ //blit(backbuffer, ct->last_texture, NULL, poly->type, vertnum, poly->count, d3d->width, d3d->height);
+
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 9\n", (int)result);
+
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[2]);
+
+ (*d3dintf->effect.set_float)(curr_effect, "RawWidth", poly->texture != NULL ? (float)poly->texture->rawwidth : 8.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "RawHeight", poly->texture != NULL ? (float)poly->texture->rawheight : 8.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "WidthRatio", poly->texture != NULL ? (1.0f / (poly->texture->ustop - poly->texture->ustart)) : 0.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "HeightRatio", poly->texture != NULL ? (1.0f / (poly->texture->vstop - poly->texture->vstart)) : 0.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
+ (*d3dintf->effect.set_float)(curr_effect, "PostPass", 0.0f);
+ (*d3dintf->effect.set_float)(curr_effect, "PincushionAmount", options->pincushion);
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
#endif
poly->texture->cur_frame++;
@@ -2180,150 +2180,150 @@ void hlsl_info::render_quad(d3d_poly_info *poly, int vertnum)
options->params_dirty = false;
}
#if HLSL_VECTOR
- else if(PRIMFLAG_GET_VECTOR(poly->flags) && vector_enable)
- {
- d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
- if (rt == NULL)
- {
- return;
- }
-
- lines_pending = true;
-
- curr_effect = vector_effect;
- //curr_effect = effect;
-
- if(options->params_dirty)
- {
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
- }
-
- float time_params[2] = { poly->line_time, options->vector_time_scale };
- float length_params[3] = { poly->line_length, options->vector_length_scale, options->vector_length_ratio };
- (*d3dintf->effect.set_vector)(curr_effect, "TimeParams", 2, time_params);
- (*d3dintf->effect.set_vector)(curr_effect, "LengthParams", 3, length_params);
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[0]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
-
- curr_effect = effect;
-
- (*d3dintf->effect.set_float)(curr_effect, "FixedAlpha", 1.0f);
- }
- else if (PRIMFLAG_GET_VECTORBUF(poly->flags) && vector_enable)
- {
- //if (!lines_pending)
- //return;
- //lines_pending = false;
-
- d3d_info *d3d = (d3d_info *)window->drawdata;
-
- d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
- if (rt == NULL)
- {
- return;
- }
-
- /* Bloom */
- curr_effect = downsample_effect;
-
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
-
- int bloom_size = (d3d->width < d3d->height) ? d3d->width : d3d->height;
- int bloom_index = 0;
- int bloom_width = d3d->width;
- int bloom_height = d3d->height;
- for(; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
- {
- float source_size[2] = { bloom_width, bloom_height };
- float target_size[2] = { bloom_width >> 1, bloom_height >> 1 };
- (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
- (*d3dintf->effect.set_vector)(curr_effect, "SourceSize", 2, source_size);
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", (bloom_index == 0) ? rt->texture[0] : rt->bloom_texture[bloom_index - 1]);
-
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->bloom_target[bloom_index]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 6\n", (int)result);
- //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
- //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
-
- bloom_index++;
- bloom_width >>= 1;
- bloom_height >>= 1;
- }
-
- /* Bloom composite pass*/
- curr_effect = bloom_effect;
-
- float target_size[2] = { d3d->width, d3d->height };
- (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
-
- (*d3dintf->effect.set_texture)(curr_effect, "DiffuseA", rt->texture[0]);
- (*d3dintf->effect.set_float)(curr_effect, "DiffuseScaleA", 1.0f);
-
- char name[9] = "Diffuse*";
- char scale[14] = "DiffuseScale*";
- for(int index = 1; index < bloom_index; index++)
- {
- name[7] = 'A' + index;
- scale[12] = 'A' + index;
- (*d3dintf->effect.set_texture)(curr_effect, name, rt->bloom_texture[index - 1]);
- (*d3dintf->effect.set_float)(curr_effect, scale, 1.0f);
- }
- for(int index = bloom_index; index < 11; index++)
- {
- name[7] = 'A' + index;
- scale[12] = 'A' + index;
- (*d3dintf->effect.set_texture)(curr_effect, name, black_texture);
- (*d3dintf->effect.set_float)(curr_effect, scale, 0.0f);
- }
-
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
-
- HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 6\n", (int)result);
- //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
- //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
-
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
-
- (*d3dintf->effect.end)(curr_effect);
+ else if(PRIMFLAG_GET_VECTOR(poly->flags) && vector_enable)
+ {
+ d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
+ if (rt == NULL)
+ {
+ return;
+ }
+
+ lines_pending = true;
+
+ curr_effect = vector_effect;
+ //curr_effect = effect;
+
+ if(options->params_dirty)
+ {
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
+ }
+
+ float time_params[2] = { poly->line_time, options->vector_time_scale };
+ float length_params[3] = { poly->line_length, options->vector_length_scale, options->vector_length_ratio };
+ (*d3dintf->effect.set_vector)(curr_effect, "TimeParams", 2, time_params);
+ (*d3dintf->effect.set_vector)(curr_effect, "LengthParams", 3, length_params);
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[0]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ HRESULT result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+
+ curr_effect = effect;
+
+ (*d3dintf->effect.set_float)(curr_effect, "FixedAlpha", 1.0f);
+ }
+ else if (PRIMFLAG_GET_VECTORBUF(poly->flags) && vector_enable)
+ {
+ //if (!lines_pending)
+ //return;
+ //lines_pending = false;
+
+ d3d_info *d3d = (d3d_info *)window->drawdata;
+
+ d3d_render_target *rt = find_render_target(d3d->width, d3d->height, 0, 0);
+ if (rt == NULL)
+ {
+ return;
+ }
+
+ /* Bloom */
+ curr_effect = downsample_effect;
+
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
+
+ int bloom_size = (d3d->width < d3d->height) ? d3d->width : d3d->height;
+ int bloom_index = 0;
+ int bloom_width = d3d->width;
+ int bloom_height = d3d->height;
+ for(; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
+ {
+ float source_size[2] = { bloom_width, bloom_height };
+ float target_size[2] = { bloom_width >> 1, bloom_height >> 1 };
+ (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
+ (*d3dintf->effect.set_vector)(curr_effect, "SourceSize", 2, source_size);
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", (bloom_index == 0) ? rt->texture[0] : rt->bloom_texture[bloom_index - 1]);
+
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->bloom_target[bloom_index]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 6\n", (int)result);
+ //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
+ //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
+
+ bloom_index++;
+ bloom_width >>= 1;
+ bloom_height >>= 1;
+ }
+
+ /* Bloom composite pass*/
+ curr_effect = bloom_effect;
+
+ float target_size[2] = { d3d->width, d3d->height };
+ (*d3dintf->effect.set_vector)(curr_effect, "TargetSize", 2, target_size);
+
+ (*d3dintf->effect.set_texture)(curr_effect, "DiffuseA", rt->texture[0]);
+ (*d3dintf->effect.set_float)(curr_effect, "DiffuseScaleA", 1.0f);
+
+ char name[9] = "Diffuse*";
+ char scale[14] = "DiffuseScale*";
+ for(int index = 1; index < bloom_index; index++)
+ {
+ name[7] = 'A' + index;
+ scale[12] = 'A' + index;
+ (*d3dintf->effect.set_texture)(curr_effect, name, rt->bloom_texture[index - 1]);
+ (*d3dintf->effect.set_float)(curr_effect, scale, 1.0f);
+ }
+ for(int index = bloom_index; index < 11; index++)
+ {
+ name[7] = 'A' + index;
+ scale[12] = 'A' + index;
+ (*d3dintf->effect.set_texture)(curr_effect, name, black_texture);
+ (*d3dintf->effect.set_float)(curr_effect, scale, 0.0f);
+ }
+
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+
+ HRESULT result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call 6\n", (int)result);
+ //result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
+ //if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
+
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
+
+ (*d3dintf->effect.end)(curr_effect);
/* Phosphor */
curr_effect = phosphor_effect;
@@ -2359,51 +2359,51 @@ void hlsl_info::render_quad(d3d_poly_info *poly, int vertnum)
(*d3dintf->effect.end)(curr_effect);
- //curr_effect = effect;
+ //curr_effect = effect;
- //blit(backbuffer, rt->bloom_texture[5], NULL, poly->type, vertnum, poly->count);
- //blit(rt->target[2], rt->texture[0], NULL, poly->type, vertnum, poly->count);
- blit(backbuffer, rt->texture[0], NULL, poly->type, vertnum, poly->count);
- //blit(backbuffer, rt->texture[0], NULL, poly->type, vertnum, poly->count);
+ //blit(backbuffer, rt->bloom_texture[5], NULL, poly->type, vertnum, poly->count);
+ //blit(rt->target[2], rt->texture[0], NULL, poly->type, vertnum, poly->count);
+ blit(backbuffer, rt->texture[0], NULL, poly->type, vertnum, poly->count);
+ //blit(backbuffer, rt->texture[0], NULL, poly->type, vertnum, poly->count);
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[0]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[0]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ result = (*d3dintf->device.clear)(d3d->device, 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 0, 0);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device clear call\n", (int)result);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, backbuffer);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- /*curr_effect = post_effect;
+ /*curr_effect = post_effect;
- (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
+ (*d3dintf->effect.set_texture)(curr_effect, "Diffuse", rt->texture[0]);
- (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
- (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetWidth", (float)d3d->width);
+ (*d3dintf->effect.set_float)(curr_effect, "TargetHeight", (float)d3d->height);
(*d3dintf->effect.set_float)(curr_effect, "RawWidth", (float)poly->texture->rawwidth);
(*d3dintf->effect.set_float)(curr_effect, "RawHeight", (float)poly->texture->rawheight);
(*d3dintf->effect.set_float)(curr_effect, "WidthRatio", 1.0f / (poly->texture->ustop - poly->texture->ustart));
(*d3dintf->effect.set_float)(curr_effect, "HeightRatio", 1.0f / (poly->texture->vstop - poly->texture->vstart));
- result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
+ result = (*d3dintf->device.set_render_target)(d3d->device, 0, rt->target[1]);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device set_render_target call\n", (int)result);
- (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
+ (*d3dintf->effect.begin)(curr_effect, &num_passes, 0);
- for (UINT pass = 0; pass < num_passes; pass++)
- {
- (*d3dintf->effect.begin_pass)(curr_effect, pass);
- // add the primitives
- result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
- if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
- (*d3dintf->effect.end_pass)(curr_effect);
- }
+ for (UINT pass = 0; pass < num_passes; pass++)
+ {
+ (*d3dintf->effect.begin_pass)(curr_effect, pass);
+ // add the primitives
+ result = (*d3dintf->device.draw_primitive)(d3d->device, poly->type, vertnum, poly->count);
+ if (result != D3D_OK) mame_printf_verbose("Direct3D: Error %08X during device draw_primitive call\n", (int)result);
+ (*d3dintf->effect.end_pass)(curr_effect);
+ }
- (*d3dintf->effect.end)(curr_effect);*/
+ (*d3dintf->effect.end)(curr_effect);*/
- vecbuf_type = poly->type;
- vecbuf_index = vertnum;
- vecbuf_count = poly->count;
- }
+ vecbuf_type = poly->type;
+ vecbuf_index = vertnum;
+ vecbuf_count = poly->count;
+ }
#endif
else
{
@@ -2733,10 +2733,10 @@ void hlsl_info::delete_resources(bool reset)
file.printf("yiq_q %f\n", options->yiq_q);
file.printf("yiq_scan_time %f\n", options->yiq_scan_time);
file.printf("yiq_phase_count %d\n", options->yiq_phase_count);
- file.printf("vector_time_scale %f\n", options->vector_time_scale);
- file.printf("vector_time_period %f\n", options->vector_time_period);
- file.printf("vector_length_scale %f\n", options->vector_length_scale);
- file.printf("vector_length_ratio %f\n", options->vector_length_ratio);
+ file.printf("vector_time_scale %f\n", options->vector_time_scale);
+ file.printf("vector_time_period %f\n", options->vector_time_period);
+ file.printf("vector_length_scale %f\n", options->vector_length_scale);
+ file.printf("vector_length_ratio %f\n", options->vector_length_ratio);
}
while (targethead != NULL)
@@ -2745,16 +2745,16 @@ void hlsl_info::delete_resources(bool reset)
}
#if HLSL_VECTOR
- if (downsample_effect != NULL)
- {
- (*d3dintf->effect.release)(downsample_effect);
- downsample_effect = NULL;
- }
- if (bloom_effect != NULL)
- {
- (*d3dintf->effect.release)(bloom_effect);
- bloom_effect = NULL;
- }
+ if (downsample_effect != NULL)
+ {
+ (*d3dintf->effect.release)(downsample_effect);
+ downsample_effect = NULL;
+ }
+ if (bloom_effect != NULL)
+ {
+ (*d3dintf->effect.release)(bloom_effect);
+ bloom_effect = NULL;
+ }
#endif
if (effect != NULL)
{
@@ -2807,11 +2807,11 @@ void hlsl_info::delete_resources(bool reset)
yiq_decode_effect = NULL;
}
- if (black_texture != NULL)
- {
- (*d3dintf->texture.release)(black_texture);
- black_texture = NULL;
- }
+ if (black_texture != NULL)
+ {
+ (*d3dintf->texture.release)(black_texture);
+ black_texture = NULL;
+ }
if (avi_copy_texture != NULL)
{
diff --git a/src/osd/windows/d3dhlsl.h b/src/osd/windows/d3dhlsl.h
index 7d508ddb2a1..25c6cf77077 100644
--- a/src/osd/windows/d3dhlsl.h
+++ b/src/osd/windows/d3dhlsl.h
@@ -48,7 +48,7 @@
// CONSTANTS
//============================================================
-#define HLSL_VECTOR (0)
+#define HLSL_VECTOR (0)
//============================================================
// TYPE DEFINITIONS
@@ -92,7 +92,7 @@ struct hlsl_options
float phosphor[3];
float saturation;
- // NTSC
+ // NTSC
bool yiq_enable;
float yiq_cc;
float yiq_a;
@@ -106,11 +106,11 @@ struct hlsl_options
float yiq_scan_time;
int yiq_phase_count;
- // Vectors
- float vector_time_scale;
- float vector_time_period;
- float vector_length_scale;
- float vector_length_ratio;
+ // Vectors
+ float vector_time_scale;
+ float vector_time_period;
+ float vector_length_scale;
+ float vector_length_ratio;
};
class hlsl_info
@@ -150,7 +150,7 @@ public:
void avi_update_snap(d3d_surface *surface);
void render_snapshot(d3d_surface *surface);
void record_texture();
- void init_fsfx_quad(void *vertbuf);
+ void init_fsfx_quad(void *vertbuf);
void set_texture(d3d_texture_info *texture);
d3d_render_target * find_render_target(d3d_texture_info *info);
@@ -165,11 +165,11 @@ public:
slider_state *init_slider_list();
private:
- void blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst,
- D3DPRIMITIVETYPE prim_type, UINT32 prim_index, UINT32 prim_count,
- int dstw, int dsth);
- void blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst,
- D3DPRIMITIVETYPE prim_type, UINT32 prim_index, UINT32 prim_count);
+ void blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst,
+ D3DPRIMITIVETYPE prim_type, UINT32 prim_index, UINT32 prim_count,
+ int dstw, int dsth);
+ void blit(d3d_surface *dst, d3d_texture *src, d3d_surface *new_dst,
+ D3DPRIMITIVETYPE prim_type, UINT32 prim_index, UINT32 prim_count);
void enumerate_screens();
void end_avi_recording();
@@ -201,9 +201,9 @@ private:
bitmap_argb32 shadow_bitmap; // shadow mask bitmap for post-processing shader
d3d_texture_info * shadow_texture; // shadow mask texture for post-processing shader
hlsl_options * options; // current uniform state
- D3DPRIMITIVETYPE vecbuf_type;
- UINT32 vecbuf_index;
- UINT32 vecbuf_count;
+ D3DPRIMITIVETYPE vecbuf_type;
+ UINT32 vecbuf_index;
+ UINT32 vecbuf_count;
avi_file * avi_output_file; // AVI file
bitmap_rgb32 avi_snap; // AVI snapshot
@@ -215,8 +215,8 @@ private:
d3d_surface * avi_final_target; // AVI upscaled surface
d3d_texture * avi_final_texture; // AVI upscaled texture
- d3d_surface * black_surface; // black dummy surface
- d3d_texture * black_texture; // black dummy texture
+ d3d_surface * black_surface; // black dummy surface
+ d3d_texture * black_texture; // black dummy texture
bool render_snap; // whether or not to take HLSL post-render snapshot
bool snap_rendered; // whether we just rendered our HLSL post-render shot or not
@@ -228,7 +228,7 @@ private:
int snap_height; // snapshot height
bool lines_pending; // whether or not we have lines to flush on the next quad
- bool initialized; // whether or not we're initialize
+ bool initialized; // whether or not we're initialize
// HLSL effects
d3d_surface * backbuffer; // pointer to our device's backbuffer
@@ -244,8 +244,8 @@ private:
d3d_effect * yiq_encode_effect; // pointer to the YIQ encoder effect object
d3d_effect * yiq_decode_effect; // pointer to the YIQ decoder effect object
#if HLSL_VECTOR
- d3d_effect * bloom_effect; // pointer to the bloom composite effect
- d3d_effect * downsample_effect; // pointer to the bloom downsample effect
+ d3d_effect * bloom_effect; // pointer to the bloom composite effect
+ d3d_effect * downsample_effect; // pointer to the bloom downsample effect
d3d_effect * vector_effect; // pointer to the vector-effect object
#endif
d3d_vertex * fsfx_vertices; // pointer to our full-screen-quad object
diff --git a/src/osd/windows/drawd3d.c b/src/osd/windows/drawd3d.c
index c103c67eca7..d87dc5fd2c0 100644
--- a/src/osd/windows/drawd3d.c
+++ b/src/osd/windows/drawd3d.c
@@ -625,46 +625,46 @@ mtlog_add("drawd3d_window_draw: begin_scene");
d3d->lockedbuf = NULL;
- // loop over primitives
- if(d3d->hlsl->enabled())
- {
- d3d->hlsl_buf = (void*)primitive_alloc(d3d, 6);
- d3d->hlsl->init_fsfx_quad(d3d->hlsl_buf);
- }
+ // loop over primitives
+ if(d3d->hlsl->enabled())
+ {
+ d3d->hlsl_buf = (void*)primitive_alloc(d3d, 6);
+ d3d->hlsl->init_fsfx_quad(d3d->hlsl_buf);
+ }
mtlog_add("drawd3d_window_draw: count lines");
- int line_count = 0;
- for (prim = window->primlist->first(); prim != NULL; prim = prim->next())
- if (prim->type == render_primitive::LINE && PRIMFLAG_GET_VECTOR(prim->flags))
- line_count++;
+ int line_count = 0;
+ for (prim = window->primlist->first(); prim != NULL; prim = prim->next())
+ if (prim->type == render_primitive::LINE && PRIMFLAG_GET_VECTOR(prim->flags))
+ line_count++;
mtlog_add("drawd3d_window_draw: primitive loop begin");
- // Rotating index for vector time offsets
- static int start_index = 0;
- int line_index = 0;
- windows_options &options = downcast<windows_options &>(window->machine().options());
- float period = options.screen_vector_time_period();
+ // Rotating index for vector time offsets
+ static int start_index = 0;
+ int line_index = 0;
+ windows_options &options = downcast<windows_options &>(window->machine().options());
+ float period = options.screen_vector_time_period();
for (prim = window->primlist->first(); prim != NULL; prim = prim->next())
- {
+ {
switch (prim->type)
{
case render_primitive::LINE:
- if (PRIMFLAG_GET_VECTOR(prim->flags))
- {
- if (period == 0.0f || line_count == 0)
- {
- draw_line(d3d, prim, 1.0f);
- }
- else
- {
- draw_line(d3d, prim, (float)(start_index + line_index) / ((float)line_count * period));
- line_index++;
- }
- }
- else
- {
- draw_line(d3d, prim, 0.0f);
- }
+ if (PRIMFLAG_GET_VECTOR(prim->flags))
+ {
+ if (period == 0.0f || line_count == 0)
+ {
+ draw_line(d3d, prim, 1.0f);
+ }
+ else
+ {
+ draw_line(d3d, prim, (float)(start_index + line_index) / ((float)line_count * period));
+ line_index++;
+ }
+ }
+ else
+ {
+ draw_line(d3d, prim, 0.0f);
+ }
break;
case render_primitive::QUAD:
@@ -674,12 +674,12 @@ mtlog_add("drawd3d_window_draw: primitive loop begin");
default:
throw emu_fatalerror("Unexpected render_primitive type");
}
- }
- start_index += (int)((float)line_index * period);
- if (line_count > 0)
- {
- start_index %= line_count;
- }
+ }
+ start_index += (int)((float)line_index * period);
+ if (line_count > 0)
+ {
+ start_index %= line_count;
+ }
mtlog_add("drawd3d_window_draw: primitive loop end");
window->primlist->release_lock();
@@ -1580,22 +1580,22 @@ static void draw_line(d3d_info *d3d, const render_primitive *prim, float line_ti
poly->flags = prim->flags;
poly->modmode = D3DTOP_MODULATE;
poly->texture = d3d->vector_texture;
- poly->line_time = line_time;
- poly->line_length = 1.0f;
- if (PRIMFLAG_GET_VECTOR(poly->flags))
- {
- float dx = fabs(prim->bounds.x1 - prim->bounds.x0);
- float dy = fabs(prim->bounds.y1 - prim->bounds.y0);
- float length2 = dx * dx + dy * dy;
- if (length2 > 0.0f)
- {
- poly->line_length = sqrt(length2);
- }
- else
- {
- // use default length of 1.0f from above
- }
- }
+ poly->line_time = line_time;
+ poly->line_length = 1.0f;
+ if (PRIMFLAG_GET_VECTOR(poly->flags))
+ {
+ float dx = fabs(prim->bounds.x1 - prim->bounds.x0);
+ float dy = fabs(prim->bounds.y1 - prim->bounds.y0);
+ float length2 = dx * dx + dy * dy;
+ if (length2 > 0.0f)
+ {
+ poly->line_length = sqrt(length2);
+ }
+ else
+ {
+ // use default length of 1.0f from above
+ }
+ }
}
}
@@ -1690,7 +1690,7 @@ static void draw_quad(d3d_info *d3d, const render_primitive *prim)
poly->flags = prim->flags;
poly->modmode = modmode;
poly->texture = texture;
- //poly->
+ //poly->
}
@@ -1759,14 +1759,14 @@ static void primitive_flush_pending(d3d_info *d3d)
d3d->hlsl->begin_draw();
- if (d3d->hlsl->enabled())
- {
- vertnum = 6;
- }
- else
- {
- vertnum = 0;
- }
+ if (d3d->hlsl->enabled())
+ {
+ vertnum = 6;
+ }
+ else
+ {
+ vertnum = 0;
+ }
// now do the polys
for (polynum = 0; polynum < d3d->numpolys; polynum++)
@@ -2718,19 +2718,19 @@ static void texture_update(d3d_info *d3d, const render_primitive *prim)
d3d_cache_target::~d3d_cache_target()
{
- for (int index = 0; index < 11; index++)
- {
- if (bloom_texture[index] != NULL)
- {
- (*d3dintf->texture.release)(bloom_texture[index]);
- bloom_texture[index] = NULL;
- }
- if (bloom_target[index] != NULL)
- {
- (*d3dintf->surface.release)(bloom_target[index]);
- bloom_target[index] = NULL;
- }
- }
+ for (int index = 0; index < 11; index++)
+ {
+ if (bloom_texture[index] != NULL)
+ {
+ (*d3dintf->texture.release)(bloom_texture[index]);
+ bloom_texture[index] = NULL;
+ }
+ if (bloom_target[index] != NULL)
+ {
+ (*d3dintf->surface.release)(bloom_target[index]);
+ bloom_target[index] = NULL;
+ }
+ }
if (last_texture != NULL)
{
@@ -2751,33 +2751,33 @@ d3d_cache_target::~d3d_cache_target()
bool d3d_cache_target::init(d3d_info *d3d, d3d_base *d3dintf, int width, int height, int prescale_x, int prescale_y, bool bloom)
{
- if (bloom)
- {
- int bloom_size = (width * prescale_x < height * prescale_y) ? width * prescale_x : height * prescale_y;
- int bloom_index = 0;
- int bloom_width = width * prescale_x;
- int bloom_height = height * prescale_y;
- for (; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
- {
- bloom_width >>= 1;
- bloom_height >>= 1;
- HRESULT result = (*d3dintf->device.create_texture)(d3d->device, bloom_width, bloom_height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &bloom_texture[bloom_index]);
- if (result != D3D_OK)
- {
- return false;
- }
- (*d3dintf->texture.get_surface_level)(bloom_texture[bloom_index], 0, &bloom_target[bloom_index]);
- bloom_index++;
- }
- }
+ if (bloom)
+ {
+ int bloom_size = (width * prescale_x < height * prescale_y) ? width * prescale_x : height * prescale_y;
+ int bloom_index = 0;
+ int bloom_width = width * prescale_x;
+ int bloom_height = height * prescale_y;
+ for (; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
+ {
+ bloom_width >>= 1;
+ bloom_height >>= 1;
+ HRESULT result = (*d3dintf->device.create_texture)(d3d->device, bloom_width, bloom_height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &bloom_texture[bloom_index]);
+ if (result != D3D_OK)
+ {
+ return false;
+ }
+ (*d3dintf->texture.get_surface_level)(bloom_texture[bloom_index], 0, &bloom_target[bloom_index]);
+ bloom_index++;
+ }
+ }
HRESULT result = (*d3dintf->device.create_texture)(d3d->device, width * prescale_x, height * prescale_y, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &last_texture);
if (result != D3D_OK)
return false;
(*d3dintf->texture.get_surface_level)(last_texture, 0, &last_target);
- target_width = width * prescale_x;
- target_height = height * prescale_y;
+ target_width = width * prescale_x;
+ target_height = height * prescale_y;
return true;
}
@@ -2788,19 +2788,19 @@ bool d3d_cache_target::init(d3d_info *d3d, d3d_base *d3dintf, int width, int hei
d3d_render_target::~d3d_render_target()
{
- for (int index = 0; index < 11; index++)
- {
- if (bloom_texture[index] != NULL)
- {
- (*d3dintf->texture.release)(bloom_texture[index]);
- bloom_texture[index] = NULL;
- }
- if (bloom_target[index] != NULL)
- {
- (*d3dintf->surface.release)(bloom_target[index]);
- bloom_target[index] = NULL;
- }
- }
+ for (int index = 0; index < 11; index++)
+ {
+ if (bloom_texture[index] != NULL)
+ {
+ (*d3dintf->texture.release)(bloom_texture[index]);
+ bloom_texture[index] = NULL;
+ }
+ if (bloom_target[index] != NULL)
+ {
+ (*d3dintf->surface.release)(bloom_target[index]);
+ bloom_target[index] = NULL;
+ }
+ }
for (int index = 0; index < 5; index++)
{
@@ -2885,29 +2885,29 @@ bool d3d_render_target::init(d3d_info *d3d, d3d_base *d3dintf, int width, int he
return false;
(*d3dintf->texture.get_surface_level)(prescaletexture, 0, &prescaletarget);
- for (int index = 0; index < 11; index++)
- {
- bloom_texture[index] = NULL;
- bloom_target[index] = NULL;
- }
+ for (int index = 0; index < 11; index++)
+ {
+ bloom_texture[index] = NULL;
+ bloom_target[index] = NULL;
+ }
}
else
- {
- int bloom_size = (width < height) ? width : height;
- int bloom_index = 0;
- int bloom_width = width;
- int bloom_height = height;
- for (; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
- {
- bloom_width >>= 1;
- bloom_height >>= 1;
- result = (*d3dintf->device.create_texture)(d3d->device, bloom_width, bloom_height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &bloom_texture[bloom_index]);
- if (result != D3D_OK)
- return false;
- (*d3dintf->texture.get_surface_level)(bloom_texture[bloom_index], 0, &bloom_target[bloom_index]);
- bloom_index++;
- }
- }
+ {
+ int bloom_size = (width < height) ? width : height;
+ int bloom_index = 0;
+ int bloom_width = width;
+ int bloom_height = height;
+ for (; bloom_size >= 2 && bloom_index < 11; bloom_size >>= 1)
+ {
+ bloom_width >>= 1;
+ bloom_height >>= 1;
+ result = (*d3dintf->device.create_texture)(d3d->device, bloom_width, bloom_height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &bloom_texture[bloom_index]);
+ if (result != D3D_OK)
+ return false;
+ (*d3dintf->texture.get_surface_level)(bloom_texture[bloom_index], 0, &bloom_target[bloom_index]);
+ bloom_index++;
+ }
+ }
target_width = width * prescale_x;
target_height = height * prescale_y;
diff --git a/src/osd/windows/drawd3d.h b/src/osd/windows/drawd3d.h
index 7cca9fee099..a4e3ef40c19 100644
--- a/src/osd/windows/drawd3d.h
+++ b/src/osd/windows/drawd3d.h
@@ -72,8 +72,8 @@ public:
d3d_surface *last_target;
d3d_texture *last_texture;
- int target_width;
- int target_height;
+ int target_width;
+ int target_height;
int width;
int height;
@@ -83,8 +83,8 @@ public:
d3d_cache_target *next;
d3d_cache_target *prev;
- d3d_surface *bloom_target[11];
- d3d_texture *bloom_texture[11];
+ d3d_surface *bloom_target[11];
+ d3d_texture *bloom_texture[11];
};
/* d3d_render_target is the information about a Direct3D render target chain */
@@ -116,8 +116,8 @@ public:
d3d_render_target *next;
d3d_render_target *prev;
- d3d_surface *bloom_target[11];
- d3d_texture *bloom_texture[11];
+ d3d_surface *bloom_target[11];
+ d3d_texture *bloom_texture[11];
};
/* d3d_info is the information about Direct3D for the current screen */
@@ -143,7 +143,7 @@ struct d3d_info
d3d_poly_info poly[VERTEX_BUFFER_SIZE/3]; // array to hold polygons as they are created
int numpolys; // number of accumulated polygons
- bool restarting; // if we're restarting
+ bool restarting; // if we're restarting
d3d_texture_info * texlist; // list of active textures
int dynamic_supported; // are dynamic textures supported?
diff --git a/src/osd/windows/winmain.c b/src/osd/windows/winmain.c
index 58e0232ca07..902290fa687 100644
--- a/src/osd/windows/winmain.c
+++ b/src/osd/windows/winmain.c
@@ -375,7 +375,7 @@ const options_entry windows_options::s_option_entries[] =
{ WINOPTION_FLOOR";fs_floor", "0.0,0.0,0.0",OPTION_STRING, "signal floor level" },
{ WINOPTION_PHOSPHOR";fs_phosphor", "0.0,0.0,0.0",OPTION_STRING, "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" },
/* NTSC simulation below this line */
- { NULL, NULL, OPTION_HEADER, "NTSC POST-PROCESSING OPTIONS" },
+ { NULL, NULL, OPTION_HEADER, "NTSC POST-PROCESSING OPTIONS" },
{ WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enable YIQ-space HLSL post-processing" },
{ WINOPTION_YIQ_CCVALUE";yiqcc", "3.59754545",OPTION_FLOAT, "Color Carrier frequency for NTSC signal processing" },
{ WINOPTION_YIQ_AVALUE";yiqa", "0.5", OPTION_FLOAT, "A value for NTSC signal processing" },
@@ -388,14 +388,14 @@ const options_entry windows_options::s_option_entries[] =
{ WINOPTION_YIQ_QVALUE";yiqq", "0.6", OPTION_FLOAT, "Q filter cutoff frequency for NTSC signal processing" },
{ WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" },
{ WINOPTION_YIQ_PHASE_COUNT";yiqp", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" },
- { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" },
- { WINOPTION_YIQ_PHASE_COUNT";yiqp", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" },
- /* Vector simulation below this line */
- { NULL, NULL, OPTION_HEADER, "VECTOR POST-PROCESSING OPTIONS" },
- { WINOPTION_VECTOR_TIME_SCALE";vectime", "0.0", OPTION_FLOAT, "How much the fade rate affects vector fade" },
- { WINOPTION_VECTOR_TIME_PERIOD";vecperiod", "0.1", OPTION_FLOAT, "Vector fade rate versus screen refresh rate" },
- { WINOPTION_VECTOR_LENGTH_SCALE";veclength", "0.9", OPTION_FLOAT, "How much length affects vector fade" },
- { WINOPTION_VECTOR_LENGTH_RATIO";vecsize", "4.0", OPTION_FLOAT, "Vector fade length (4.0 - vectors fade the most at and above 4 pixels, etc.)" },
+ { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" },
+ { WINOPTION_YIQ_PHASE_COUNT";yiqp", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" },
+ /* Vector simulation below this line */
+ { NULL, NULL, OPTION_HEADER, "VECTOR POST-PROCESSING OPTIONS" },
+ { WINOPTION_VECTOR_TIME_SCALE";vectime", "0.0", OPTION_FLOAT, "How much the fade rate affects vector fade" },
+ { WINOPTION_VECTOR_TIME_PERIOD";vecperiod", "0.1", OPTION_FLOAT, "Vector fade rate versus screen refresh rate" },
+ { WINOPTION_VECTOR_LENGTH_SCALE";veclength", "0.9", OPTION_FLOAT, "How much length affects vector fade" },
+ { WINOPTION_VECTOR_LENGTH_RATIO";vecsize", "4.0", OPTION_FLOAT, "Vector fade length (4.0 - vectors fade the most at and above 4 pixels, etc.)" },
// per-window options
{ NULL, NULL, OPTION_HEADER, "PER-WINDOW VIDEO OPTIONS" },
diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h
index 167ca9ec476..eb3b234643e 100644
--- a/src/osd/windows/winmain.h
+++ b/src/osd/windows/winmain.h
@@ -1,4 +1,4 @@
- //============================================================
+ //============================================================
//
// winmain.h - Win32 main program and core headers
//
@@ -243,10 +243,10 @@ public:
float screen_yiq_q() const { return float_value(WINOPTION_YIQ_QVALUE); }
float screen_yiq_scan_time() const { return float_value(WINOPTION_YIQ_SCAN_TIME); }
int screen_yiq_phase_count() const { return int_value(WINOPTION_YIQ_PHASE_COUNT); }
- float screen_vector_time_scale() const { return float_value(WINOPTION_VECTOR_TIME_SCALE); }
- float screen_vector_time_period() const { return float_value(WINOPTION_VECTOR_TIME_PERIOD); }
- float screen_vector_length_scale() const { return float_value(WINOPTION_VECTOR_LENGTH_SCALE); }
- float screen_vector_length_ratio() const { return float_value(WINOPTION_VECTOR_LENGTH_RATIO); }
+ float screen_vector_time_scale() const { return float_value(WINOPTION_VECTOR_TIME_SCALE); }
+ float screen_vector_time_period() const { return float_value(WINOPTION_VECTOR_TIME_PERIOD); }
+ float screen_vector_length_scale() const { return float_value(WINOPTION_VECTOR_LENGTH_SCALE); }
+ float screen_vector_length_ratio() const { return float_value(WINOPTION_VECTOR_LENGTH_RATIO); }
const char *screen_offset() const { return value(WINOPTION_OFFSET); }
const char *screen_scale() const { return value(WINOPTION_SCALE); }
const char *screen_power() const { return value(WINOPTION_POWER); }
diff --git a/src/osd/windows/winsocket.c b/src/osd/windows/winsocket.c
index d5ebaafc2d4..90eeeb26e9a 100644
--- a/src/osd/windows/winsocket.c
+++ b/src/osd/windows/winsocket.c
@@ -43,7 +43,7 @@ bool win_init_sockets()
/* check for correct version */
if ( LOBYTE( wsaData.wVersion ) != 2 ||
- HIBYTE( wsaData.wVersion ) != 0 )
+ HIBYTE( wsaData.wVersion ) != 0 )
{
/* incorrect WinSock version */
WSACleanup();
@@ -95,25 +95,25 @@ file_error win_open_socket(const char *path, UINT32 openflags, osd_file **file,
// listening socket support
if (openflags & OPEN_FLAG_CREATE)
{
-// printf("Listening for client at '%s' on port '%d'\n", hostname, port);
+// printf("Listening for client at '%s' on port '%d'\n", hostname, port);
// bind socket...
if (bind((*file)->socket, (struct sockaddr *)&sai, sizeof(struct sockaddr)) == -1)
{
return FILERR_ACCESS_DENIED;
}
-
+
// start to listen...
if (listen((*file)->socket, 1) == -1) {
return FILERR_ACCESS_DENIED;
}
-
+
// mark socket as "listening"
(*file)->handle = 0;
*filesize = 0;
return FILERR_NONE;
}
-
-// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
+
+// printf("Connecting to server '%s' on port '%d'\n", hostname, port);
if (connect((*file)->socket, (struct sockaddr *)&sai, sizeof(struct sockaddr)) == -1)
{
return FILERR_ACCESS_DENIED;
diff --git a/src/version.c b/src/version.c
index d1e1fbd49a1..494be9582ac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -38,4 +38,4 @@
***************************************************************************/
extern const char build_version[];
-const char build_version[] = "0.148 ("__DATE__")";
+const char build_version[] = "0.148u1 ("__DATE__")";