summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/kim1_cas.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-8/+8
* casserr_t ==> enum class cassette_image::error Nathan Woods2016-08-201-2/+2
* macro removal INLINE -> static inline (nw) Miodrag Milanovic2015-12-121-2/+2
* clang-modernize part 5 Miodrag Milanovic2015-12-041-2/+2
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+197
_hardware.xml22
-rw-r--r--hash/coleco.xml12
-rw-r--r--hash/fm7_disk.xml2
-rw-r--r--hash/fmtowns_cd.xml4
-rw-r--r--hash/gamegear.xml14
-rw-r--r--hash/gameking.xml32
-rw-r--r--hash/gbcolor.xml2
-rw-r--r--hash/intvecs.xml2
-rw-r--r--hash/msx1_cart.xml22
-rw-r--r--hash/nes.xml2
-rw-r--r--hash/pencil2.xml4
-rw-r--r--hash/psx.xml22
-rw-r--r--hash/timex_dock.xml2
-rw-r--r--src/emu/bus/a2bus/a2corvus.c2
-rw-r--r--src/emu/bus/a2bus/a2lang.c2
-rw-r--r--src/emu/bus/a2bus/corvfdc01.c17
-rw-r--r--src/emu/bus/a2bus/corvfdc02.c38
-rw-r--r--src/emu/bus/a2bus/corvfdc02.h2
-rw-r--r--src/emu/bus/a2bus/laser128.c6
-rw-r--r--src/emu/bus/a2bus/mouse.c136
-rw-r--r--src/emu/bus/a2bus/timemasterho.c43
-rw-r--r--src/emu/bus/a7800/a78_carts.h8
-rw-r--r--src/emu/bus/a7800/a78_slot.c86
-rw-r--r--src/emu/bus/a7800/a78_slot.h32
-rw-r--r--src/emu/bus/a7800/cpuwiz.c20
-rw-r--r--src/emu/bus/a7800/cpuwiz.h14
-rw-r--r--src/emu/bus/a7800/hiscore.c3
-rw-r--r--src/emu/bus/a7800/hiscore.h4
-rw-r--r--src/emu/bus/a7800/rom.c51
-rw-r--r--src/emu/bus/a7800/rom.h54
-rw-r--r--src/emu/bus/a7800/xboard.c30
-rw-r--r--src/emu/bus/a7800/xboard.h10
-rw-r--r--src/emu/bus/a800/a800_carts.h6
-rw-r--r--src/emu/bus/a800/a800_slot.c53
-rw-r--r--src/emu/bus/a800/a800_slot.h18
-rw-r--r--src/emu/bus/a800/oss.c31
-rw-r--r--src/emu/bus/a800/oss.h16
-rw-r--r--src/emu/bus/a800/rom.c89
-rw-r--r--src/emu/bus/a800/rom.h50
-rw-r--r--src/emu/bus/a800/sparta.c15
-rw-r--r--src/emu/bus/a800/sparta.h6
-rw-r--r--src/emu/bus/apf/rom.h2
-rw-r--r--src/emu/bus/apf/slot.c6
-rw-r--r--src/emu/bus/apf/slot.h7
-rw-r--r--src/emu/bus/arcadia/slot.c3
-rw-r--r--src/emu/bus/arcadia/slot.h3
-rw-r--r--src/emu/bus/c64/dela_ep256.c2
-rw-r--r--src/emu/bus/c64/rex_ep256.h2
-rw-r--r--src/emu/bus/centronics/digiblst.h8
-rw-r--r--src/emu/bus/chanf/rom.c11
-rw-r--r--src/emu/bus/chanf/rom.h26
-rw-r--r--src/emu/bus/chanf/slot.c14
-rw-r--r--src/emu/bus/chanf/slot.h7
-rw-r--r--src/emu/bus/cpc/amdrum.h2
-rw-r--r--src/emu/bus/cpc/symbfac2.c50
-rw-r--r--src/emu/bus/cpc/symbfac2.h2
-rw-r--r--src/emu/bus/crvision/rom.c2
-rw-r--r--src/emu/bus/crvision/rom.h10
-rw-r--r--src/emu/bus/crvision/slot.c5
-rw-r--r--src/emu/bus/crvision/slot.h3
-rw-r--r--src/emu/bus/gameboy/gb_slot.h8
-rw-r--r--src/emu/bus/gameboy/mbc.h4
-rw-r--r--src/emu/bus/gba/gba_slot.h6
-rw-r--r--src/emu/bus/generic/carts.c4
-rw-r--r--src/emu/bus/generic/ram.c15
-rw-r--r--src/emu/bus/generic/ram.h12
-rw-r--r--src/emu/bus/generic/rom.c9
-rw-r--r--src/emu/bus/generic/rom.h8
-rw-r--r--src/emu/bus/generic/slot.c21
-rw-r--r--src/emu/bus/generic/slot.h10
-rw-r--r--src/emu/bus/intv/ecs.c55
-rw-r--r--src/emu/bus/intv/ecs.h42
-rw-r--r--src/emu/bus/intv/rom.c1
-rw-r--r--src/emu/bus/intv/rom.h8
-rw-r--r--src/emu/bus/intv/slot.c83
-rw-r--r--src/emu/bus/intv/slot.h13
-rw-r--r--src/emu/bus/intv/voice.h24
-rw-r--r--src/emu/bus/isa/sb16.c12
-rw-r--r--src/emu/bus/isa/svga_trident.c4
-rw-r--r--src/emu/bus/isa/trident.c120
-rw-r--r--src/emu/bus/megadrive/ggenie.c26
-rw-r--r--src/emu/bus/msx_cart/disk.c3
-rw-r--r--src/emu/bus/msx_slot/disk.c3
-rw-r--r--src/emu/bus/nes/disksys.c79
-rw-r--r--src/emu/bus/nes/nes_slot.c20
-rw-r--r--src/emu/bus/nes/nes_slot.h4
-rw-r--r--src/emu/bus/odyssey2/chess.h5
-rw-r--r--src/emu/bus/odyssey2/rom.c5
-rw-r--r--src/emu/bus/odyssey2/rom.h12
-rw-r--r--src/emu/bus/odyssey2/slot.c5
-rw-r--r--src/emu/bus/odyssey2/slot.h5
-rw-r--r--src/emu/bus/odyssey2/voice.c2
-rw-r--r--src/emu/bus/odyssey2/voice.h2
-rw-r--r--src/emu/bus/pet/cb2snd.c1
-rw-r--r--src/emu/bus/rs232/xvd701.c4
-rw-r--r--src/emu/bus/saturn/sat_slot.c6
-rw-r--r--src/emu/bus/scv/rom.h16
-rw-r--r--src/emu/bus/scv/slot.c5
-rw-r--r--src/emu/bus/scv/slot.h7
-rw-r--r--src/emu/bus/sega8/ccatch.c4
-rw-r--r--src/emu/bus/sega8/mgear.h4
-rw-r--r--src/emu/bus/sega8/rom.c2
-rw-r--r--src/emu/bus/sega8/sega8_slot.c1
-rw-r--r--src/emu/bus/sega8/sega8_slot.h2
-rw-r--r--src/emu/bus/sms_ctrl/graphic.c21
-rw-r--r--src/emu/bus/snes/snes_slot.h6
-rw-r--r--src/emu/bus/vboy/rom.h4
-rw-r--r--src/emu/bus/vboy/slot.c6
-rw-r--r--src/emu/bus/vboy/slot.h7
-rw-r--r--src/emu/bus/vc4000/rom.c106
-rw-r--r--src/emu/bus/vc4000/rom.h4
-rw-r--r--src/emu/bus/vc4000/slot.c8
-rw-r--r--src/emu/bus/vc4000/slot.h7
-rw-r--r--src/emu/bus/vcs/compumat.c4
-rw-r--r--src/emu/bus/vcs/compumat.h4
-rw-r--r--src/emu/bus/vcs/dpc.c11
-rw-r--r--src/emu/bus/vcs/dpc.h8
-rwxr-xr-xsrc/emu/bus/vcs/rom.c131
-rwxr-xr-xsrc/emu/bus/vcs/rom.h76
-rw-r--r--src/emu/bus/vcs/scharger.c38
-rw-r--r--src/emu/bus/vcs/scharger.h6
-rwxr-xr-xsrc/emu/bus/vcs/vcs_slot.c86
-rwxr-xr-xsrc/emu/bus/vcs/vcs_slot.h6
-rw-r--r--src/emu/bus/vectrex/rom.h6
-rw-r--r--src/emu/bus/vectrex/slot.c24
-rw-r--r--src/emu/bus/vectrex/slot.h3
-rw-r--r--src/emu/bus/vic20/fe3.c48
-rw-r--r--src/emu/bus/vic20/fe3.h2
-rw-r--r--src/emu/bus/wswan/rom.c108
-rw-r--r--src/emu/bus/wswan/rom.h8
-rw-r--r--src/emu/bus/wswan/slot.c28
-rw-r--r--src/emu/bus/wswan/slot.h7
-rw-r--r--src/emu/cpu/dsp56k/dsp56k.c9
-rw-r--r--src/emu/cpu/hd61700/hd61700.c2
-rw-r--r--src/emu/cpu/hd61700/hd61700.h4
-rw-r--r--src/emu/cpu/i86/i186.c8
-rw-r--r--src/emu/cpu/mcs96/mcs96.c8
-rw-r--r--src/emu/cpu/mips/mips3drc.c2
-rw-r--r--src/emu/cpu/rsp/rsp.c52
-rw-r--r--src/emu/cpu/rsp/rspdrc.c1
-rw-r--r--src/emu/cpu/sh4/sh4.c4
-rw-r--r--src/emu/cpu/tlcs90/tlcs90.c90
-rw-r--r--src/emu/cpu/tms32031/tms32031.h2
-rw-r--r--src/emu/cpu/tms32051/tms32051.c4
-rw-r--r--src/emu/cpu/tms32051/tms32051.h2
-rw-r--r--src/emu/cpu/tms34010/tms34010.c4
-rw-r--r--src/emu/cpu/tms34010/tms34010.h34
-rw-r--r--src/emu/cpu/tms7000/tms7000.c4
-rw-r--r--src/emu/cpu/tms7000/tms7000.h2
-rw-r--r--src/emu/debug/debugcpu.c2
-rw-r--r--src/emu/devcpu.c1
-rw-r--r--src/emu/diimage.c6
-rw-r--r--src/emu/imagedev/floppy.c2
-rw-r--r--src/emu/machine.c2
-rw-r--r--src/emu/machine/mb8421.c6
-rw-r--r--src/emu/machine/pit8253.c2
-rw-r--r--src/emu/machine/rp5h01.c2
-rw-r--r--src/emu/machine/smpc.c2
-rw-r--r--src/emu/machine/wozfdc.c6
-rw-r--r--src/emu/sound/flt_rc.h10
-rw-r--r--src/emu/sound/k053260.c4
-rw-r--r--src/emu/sound/k053260.h2
-rw-r--r--src/emu/sound/samples.c2
-rw-r--r--src/emu/sound/samples.h6
-rw-r--r--src/emu/sound/speaker.h4
-rw-r--r--src/emu/sound/ymf278b.c2
-rw-r--r--src/emu/sound/zsg2.c2
-rw-r--r--src/emu/ui/swlist.c2
-rw-r--r--src/emu/ui/ui.c4
-rw-r--r--src/emu/video/315_5124.c2
-rw-r--r--src/emu/video/epic12.c2
-rw-r--r--src/emu/video/upd7220.c2
-rw-r--r--src/emu/video/vooddefs.h18
-rw-r--r--src/emu/video/voodoo.c4
-rw-r--r--src/emu/webengine.c222
-rw-r--r--src/lib/formats/ap2_dsk.c4
-rw-r--r--src/lib/formats/dmk_dsk.c1
-rw-r--r--src/lib/formats/dmk_dsk.h1
-rw-r--r--src/lib/formats/mfi_dsk.c4
-rw-r--r--src/lib/web/mongoose.c7301
-rw-r--r--src/lib/web/mongoose.h104
-rw-r--r--src/mame/audio/cclimber.h4
-rw-r--r--src/mame/audio/leland.c6
-rw-r--r--src/mame/audio/mario.c1
-rw-r--r--src/mame/drivers/20pacgal.c2
-rw-r--r--src/mame/drivers/4enraya.c14
-rw-r--r--src/mame/drivers/8080bw.c6
-rw-r--r--src/mame/drivers/aces1.c18
-rw-r--r--src/mame/drivers/alg.c24
-rw-r--r--src/mame/drivers/aristmk4.c2
-rw-r--r--src/mame/drivers/arkanoid.c10
-rw-r--r--src/mame/drivers/atarisy4.c16
-rw-r--r--src/mame/drivers/bartop52.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/bfm_sc1.c2
-rw-r--r--src/mame/drivers/bfm_sc2.c6
-rw-r--r--src/mame/drivers/bmcpokr.c76
-rw-r--r--src/mame/drivers/btoads.c2
-rw-r--r--src/mame/drivers/bublbobl.c2
-rw-r--r--src/mame/drivers/calchase.c19
-rw-r--r--src/mame/drivers/capr1.c18
-rw-r--r--src/mame/drivers/caprcyc.c6
-rw-r--r--src/mame/drivers/centiped.c16
-rw-r--r--src/mame/drivers/chqflag.c2
-rw-r--r--src/mame/drivers/coinmvga.c2
-rw-r--r--src/mame/drivers/coolpool.c2
-rw-r--r--src/mame/drivers/cops.c62
-rw-r--r--src/mame/drivers/cps1.c42
-rw-r--r--src/mame/drivers/cv1k.c8
-rw-r--r--src/mame/drivers/dkong.c4
-rw-r--r--src/mame/drivers/dlair.c2
-rw-r--r--src/mame/drivers/dlair2.c2
-rw-r--r--src/mame/drivers/dragrace.c2
-rw-r--r--src/mame/drivers/fcrash.c12
-rw-r--r--src/mame/drivers/foodf.c8
-rw-r--r--src/mame/drivers/fuukifg2.c2
-rw-r--r--src/mame/drivers/gaiden.c2
-rw-r--r--src/mame/drivers/galaxian.c8
-rw-r--r--src/mame/drivers/galpani3.c6
-rw-r--r--src/mame/drivers/galpanic.c2
-rw-r--r--src/mame/drivers/hikaru.c64
-rw-r--r--src/mame/drivers/igs011.c6
-rw-r--r--src/mame/drivers/igs017.c34
-rw-r--r--src/mame/drivers/iqblock.c6
-rw-r--r--src/mame/drivers/itech32.c28
-rw-r--r--src/mame/drivers/jchan.c2
-rw-r--r--src/mame/drivers/jclub2.c2
-rw-r--r--src/mame/drivers/jeutel.c2
-rw-r--r--src/mame/drivers/karnov.c8
-rw-r--r--src/mame/drivers/legionna.c14
-rw-r--r--src/mame/drivers/ltd.c2
-rw-r--r--src/mame/drivers/macs.c4
-rw-r--r--src/mame/drivers/mario.c22
-rw-r--r--src/mame/drivers/maxaflex.c4
-rw-r--r--src/mame/drivers/mazerbla.c2
-rw-r--r--src/mame/drivers/megatech.c18
-rw-r--r--src/mame/drivers/metro.c12
-rw-r--r--src/mame/drivers/mgavegas.c276
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midwunit.c2
-rw-r--r--src/mame/drivers/midxunit.c2
-rw-r--r--src/mame/drivers/midyunit.c4
-rw-r--r--src/mame/drivers/model1.c4
-rw-r--r--src/mame/drivers/model3.c28
-rw-r--r--src/mame/drivers/mpu5hw.c38
-rw-r--r--src/mame/drivers/namcops2.c16
-rw-r--r--src/mame/drivers/namcos21.c2
-rw-r--r--src/mame/drivers/naomi.c30
-rw-r--r--src/mame/drivers/nmk16.c139
-rw-r--r--src/mame/drivers/pacman.c10
-rw-r--r--src/mame/drivers/peplus.c12
-rw-r--r--src/mame/drivers/potgoldu.c6
-rw-r--r--src/mame/drivers/punchout.c20
-rw-r--r--src/mame/drivers/r2dx_v33.c68
-rw-r--r--src/mame/drivers/raiden2.c20
-rw-r--r--src/mame/drivers/rainbow.c4
-rw-r--r--src/mame/drivers/rastersp.c2
-rw-r--r--src/mame/drivers/redclash.c2
-rw-r--r--src/mame/drivers/segac2.c2
-rw-r--r--src/mame/drivers/segas18.c2
-rw-r--r--src/mame/drivers/segas32.c40
-rw-r--r--src/mame/drivers/segaybd.c4
-rw-r--r--src/mame/drivers/simple_st0016.c4
-rw-r--r--src/mame/drivers/skimaxx.c10
-rw-r--r--src/mame/drivers/snesb.c66
-rw-r--r--src/mame/drivers/snk6502.c2
-rw-r--r--src/mame/drivers/snowbros.c2
-rw-r--r--src/mame/drivers/speedbal.c30
-rw-r--r--src/mame/drivers/speglsht.c2
-rw-r--r--src/mame/drivers/splash.c64
-rw-r--r--src/mame/drivers/srmp5.c8
-rw-r--r--src/mame/drivers/st_mp100.c2
-rw-r--r--src/mame/drivers/stv.c10
-rw-r--r--src/mame/drivers/system16.c4
-rw-r--r--src/mame/drivers/taito_z.c18
-rw-r--r--src/mame/drivers/tatsumi.c2
-rw-r--r--src/mame/drivers/tickee.c16
-rw-r--r--src/mame/drivers/travrusa.c1
-rw-r--r--src/mame/drivers/twinkle.c4
-rw-r--r--src/mame/drivers/vamphalf.c6
-rw-r--r--src/mame/drivers/vectrex.c2
-rw-r--r--src/mame/drivers/warpsped.c4
-rw-r--r--src/mame/drivers/xtheball.c2
-rw-r--r--src/mame/includes/8080bw.h2
-rw-r--r--src/mame/includes/artmagic.h8
-rw-r--r--src/mame/includes/bfm_sc45.h2
-rw-r--r--src/mame/includes/cinemat.h4
-rw-r--r--src/mame/includes/coolpool.h4
-rw-r--r--src/mame/includes/cosmic.h4
-rw-r--r--src/mame/includes/exterm.h4
-rw-r--r--src/mame/includes/fuukifg2.h2
-rw-r--r--src/mame/includes/fuukifg3.h2
-rw-r--r--src/mame/includes/harddriv.h12
-rw-r--r--src/mame/includes/jpmimpct.h4
-rw-r--r--src/mame/includes/konamigx.h2
-rw-r--r--src/mame/includes/legionna.h4
-rw-r--r--src/mame/includes/meadows.h4
-rw-r--r--src/mame/includes/micro3d.h4
-rw-r--r--src/mame/includes/midtunit.h2
-rw-r--r--src/mame/includes/midyunit.h4
-rw-r--r--src/mame/includes/model1.h4
-rw-r--r--src/mame/includes/model3.h4
-rw-r--r--src/mame/includes/namcos2.h2
-rw-r--r--src/mame/includes/polyplay.h6
-rw-r--r--src/mame/includes/raiden2.h50
-rw-r--r--src/mame/includes/simple_st0016.h2
-rw-r--r--src/mame/includes/snk.h8
-rw-r--r--src/mame/includes/splash.h2
-rw-r--r--src/mame/includes/sslam.h4
-rw-r--r--src/mame/includes/stv.h2
-rw-r--r--src/mame/includes/suna8.h2
-rw-r--r--src/mame/includes/suprnova.h4
-rw-r--r--src/mame/includes/taito_f3.h6
-rw-r--r--src/mame/includes/tatsumi.h4
-rw-r--r--src/mame/includes/thepit.h4
-rw-r--r--src/mame/includes/tnzs.h4
-rw-r--r--src/mame/includes/vectrex.h2
-rw-r--r--src/mame/layout/mgavegas.lay64
-rw-r--r--src/mame/layout/s11a.lay2
-rw-r--r--src/mame/machine/315_5296.c28
-rw-r--r--src/mame/machine/amiga.c2
-rw-r--r--src/mame/machine/asic65.c2
-rw-r--r--src/mame/machine/atari.c2
-rw-r--r--src/mame/machine/awboard.h4
-rw-r--r--src/mame/machine/inder_vid.c2
-rw-r--r--src/mame/machine/inder_vid.h4
-rw-r--r--src/mame/machine/kaneko_calc3.h6
-rw-r--r--src/mame/machine/kaneko_toybox.h4
-rw-r--r--src/mame/machine/konppc.c2
-rw-r--r--src/mame/machine/model1.c96
-rw-r--r--src/mame/machine/nmk004.c2
-rw-r--r--src/mame/machine/raiden2cop.c143
-rw-r--r--src/mame/machine/raiden2cop.h7
-rw-r--r--src/mame/machine/seicop.c12
-rw-r--r--src/mame/machine/seicop.h1
-rw-r--r--src/mame/machine/st0016.c53
-rw-r--r--src/mame/machine/st0016.h2
-rw-r--r--src/mame/machine/vectrex.c4
-rw-r--r--src/mame/mame.lst72
-rw-r--r--src/mame/mame.mak2
-rw-r--r--src/mame/video/antic.c131
-rw-r--r--src/mame/video/antic.h24
-rw-r--r--src/mame/video/battlera.c1
-rw-r--r--src/mame/video/decmxc06.h2
-rw-r--r--src/mame/video/dooyong.c5
-rw-r--r--src/mame/video/fuukifg.c6
-rw-r--r--src/mame/video/fuukifg.h7
-rw-r--r--src/mame/video/fuukifg3.c4
-rw-r--r--src/mame/video/gtia.c14
-rw-r--r--src/mame/video/gtia.h24
-rw-r--r--src/mame/video/k054156_k054157_k056832.c2
-rw-r--r--src/mame/video/legionna.c15
-rw-r--r--src/mame/video/mario.c7
-rw-r--r--src/mame/video/model3.c676
-rw-r--r--src/mame/video/seibuspi.c4
-rw-r--r--src/mame/video/sknsspr.h2
-rw-r--r--src/mame/video/skyfox.c2
-rw-r--r--src/mame/video/snk.c2
-rw-r--r--src/mame/video/taito_f3.c2
-rw-r--r--src/mame/video/tc0480scp.c2
-rw-r--r--src/mess/audio/vc4000snd.h8
-rw-r--r--src/mess/audio/wswan_snd.h12
-rw-r--r--src/mess/drivers/a2600.c6
-rw-r--r--src/mess/drivers/a7800.c26
-rw-r--r--src/mess/drivers/aim65.c2
-rw-r--r--src/mess/drivers/apf.c4
-rw-r--r--src/mess/drivers/apple2.c38
-rw-r--r--src/mess/drivers/apple2gs.c2
-rw-r--r--src/mess/drivers/apple3.c2
-rw-r--r--src/mess/drivers/atari400.c114
-rw-r--r--src/mess/drivers/atarist.c4
-rw-r--r--src/mess/drivers/atom.c8
-rw-r--r--src/mess/drivers/bbcbc.c2
-rw-r--r--src/mess/drivers/beta.c22
-rw-r--r--src/mess/drivers/casloopy.c8
-rw-r--r--src/mess/drivers/cc40.c14
-rw-r--r--src/mess/drivers/cgenie.c8
-rw-r--r--src/mess/drivers/channelf.c2
-rw-r--r--src/mess/drivers/concept.c4
-rw-r--r--src/mess/drivers/crvision.c4
-rw-r--r--src/mess/drivers/electron.c2
-rw-r--r--src/mess/drivers/ep64.c2
-rw-r--r--src/mess/drivers/exelv.c6
-rw-r--r--src/mess/drivers/fc100.c2
-rw-r--r--src/mess/drivers/fm7.c196
-rw-r--r--src/mess/drivers/gameking.c8
-rw-r--r--src/mess/drivers/gamepock.c2
-rw-r--r--src/mess/drivers/gba.c2
-rw-r--r--src/mess/drivers/geniusiq.c4
-rw-r--r--src/mess/drivers/gmaster.c2
-rw-r--r--src/mess/drivers/ibmpcjr.c2
-rw-r--r--src/mess/drivers/intv.c22
-rw-r--r--src/mess/drivers/itt3030.c46
-rw-r--r--src/mess/drivers/kyocera.c12
-rw-r--r--src/mess/drivers/laser3k.c162
-rw-r--r--src/mess/drivers/m5.c2
-rw-r--r--src/mess/drivers/msx.c43
-rw-r--r--src/mess/drivers/myvision.c8
-rw-r--r--src/mess/drivers/nc.c6
-rw-r--r--src/mess/drivers/nes.c20
-rw-r--r--src/mess/drivers/ngp.c14
-rw-r--r--src/mess/drivers/pc2000.c6
-rw-r--r--src/mess/drivers/pc6001.c16
-rw-r--r--src/mess/drivers/pc8401a.c2
-rw-r--r--src/mess/drivers/pc9801.c16
-rw-r--r--src/mess/drivers/pegasus.c16
-rw-r--r--src/mess/drivers/pencil2.c2
-rw-r--r--src/mess/drivers/pet.c4
-rw-r--r--src/mess/drivers/pockstat.c2
-rw-r--r--src/mess/drivers/pokemini.c6
-rw-r--r--src/mess/drivers/pt68k4.c34
-rw-r--r--src/mess/drivers/pv1000.c12
-rw-r--r--src/mess/drivers/pv2000.c10
-rw-r--r--src/mess/drivers/rx78.c12
-rw-r--r--src/mess/drivers/scv.c6
-rw-r--r--src/mess/drivers/socrates.c4
-rw-r--r--src/mess/drivers/sorcerer.c4
-rw-r--r--src/mess/drivers/spc1000.c48
-rw-r--r--src/mess/drivers/specpls3.c22
-rw-r--r--src/mess/drivers/spectrum.c8
-rw-r--r--src/mess/drivers/studio2.c36
-rw-r--r--src/mess/drivers/supracan.c8
-rw-r--r--src/mess/drivers/sv8000.c10
-rw-r--r--src/mess/drivers/svision.c8
-rw-r--r--src/mess/drivers/thomson.c2
-rw-r--r--src/mess/drivers/ti74.c32
-rw-r--r--src/mess/drivers/timex.c14
-rw-r--r--src/mess/drivers/tsispch.c6
-rw-r--r--src/mess/drivers/tutor.c6
-rw-r--r--src/mess/drivers/tvc.c12
-rw-r--r--src/mess/drivers/uzebox.c2
-rw-r--r--src/mess/drivers/vboy.c4
-rw-r--r--src/mess/drivers/vc4000.c30
-rw-r--r--src/mess/drivers/vii.c30
-rw-r--r--src/mess/drivers/x07.c6
-rw-r--r--src/mess/includes/apple2.h4
-rw-r--r--src/mess/includes/atom.h10
-rw-r--r--src/mess/includes/concept.h2
-rw-r--r--src/mess/includes/electron.h4
-rw-r--r--src/mess/includes/intv.h4
-rw-r--r--src/mess/includes/radio86.h2
-rw-r--r--src/mess/includes/svi318.h18
-rw-r--r--src/mess/machine/aim65.c2
-rw-r--r--src/mess/machine/amigakbd.c28
-rw-r--r--src/mess/machine/amstrad.c12
-rw-r--r--src/mess/machine/apple2.c8
-rw-r--r--src/mess/machine/apple3.c1
-rw-r--r--src/mess/machine/bbc.c26
-rw-r--r--src/mess/machine/concept.c8
-rw-r--r--src/mess/machine/electron.c10
-rw-r--r--src/mess/machine/gamecom.c8
-rw-r--r--src/mess/machine/gamepock.c2
-rw-r--r--src/mess/machine/intv.c8
-rw-r--r--src/mess/machine/lynx.c17
-rw-r--r--src/mess/machine/nc.c11
-rw-r--r--src/mess/machine/nes.c2
-rw-r--r--src/mess/machine/primo.c2
-rw-r--r--src/mess/machine/svi318.c16
-rw-r--r--src/mess/machine/thomson.c8
-rw-r--r--src/mess/machine/vtech2.c12
-rw-r--r--src/mess/machine/wswan.c38
-rw-r--r--src/mess/mess.mak16
-rw-r--r--src/mess/tiny.lst2
-rw-r--r--src/mess/tools/imgtool/modules/amiga.c6
-rw-r--r--src/mess/video/advision.c2
-rw-r--r--src/mess/video/apple2.c14
-rw-r--r--src/mess/video/apple3.c2
-rw-r--r--src/mess/video/maria.c28
-rw-r--r--src/mess/video/maria.h10
-rw-r--r--src/mess/video/nes.c4
-rw-r--r--src/mess/video/thomson.c44
-rw-r--r--src/osd/sdl/osdsdl.h2
-rw-r--r--src/osd/sdl/sdlfile.c2
-rw-r--r--src/osd/sdl/sdlptty_win32.c1
-rw-r--r--src/osd/sdl/sdlsocket.c2
-rw-r--r--src/osd/sdl/sdlsync_win32.c2
-rw-r--r--src/osd/sdl/video.c2
-rw-r--r--src/osd/windows/vconv.c2
-rw-r--r--src/osd/windows/video.c10
-rw-r--r--src/osd/windows/video.h6
-rw-r--r--src/osd/windows/window.c12
-rw-r--r--src/osd/windows/window.h4
-rw-r--r--src/osd/windows/winos.c2
-rw-r--r--src/osd/windows/winos.h2
-rw-r--r--src/osd/windows/winsync.c2
-rw-r--r--src/osd/windows/winsync.h2
-rw-r--r--src/version.c2
489 files changed, 7744 insertions, 7847 deletions
diff --git a/hash/a7800.xml b/hash/a7800.xml
index 8234a34d5dd..8539b816d36 100644
--- a/hash/a7800.xml
+++ b/hash/a7800.xml
@@ -1318,8 +1318,8 @@ the buttons not work in emulators.
</software>
<!--
-The code has some race conditions for NMIs (related to input readings)
-and often fails to boot on real systems too. To successfully start the
+The code has some race conditions for NMIs (related to input readings)
+and often fails to boot on real systems too. To successfully start the
game, you can keep pressed Button 1 during Atari logo (thanks to Mike
Saarna for debugging the problem)
-->
@@ -2369,7 +2369,7 @@ almost nothing like the prototype.
<!-- This version features a lot *LESS* sounds than the newer version:
e.g. no sound in bobsled ans ski jump games!
- Dump is confirmed from multiple carts, and it was probably used in
+ Dump is confirmed from multiple carts, and it was probably used in
some erlier production run, until they found out the mistake and
replaced it with the complete version -->
<software name="wingameso" cloneof="wingames">
diff --git a/hash/amiga_a3000.xml b/hash/amiga_a3000.xml
index 932381fc1e0..3b066cc6ebd 100644
--- a/hash/amiga_a3000.xml
+++ b/hash/amiga_a3000.xml
@@ -31,9 +31,9 @@
</dataarea>
</part>
</software>
-
+
<!-- A3000 Installation disks -->
-
+
<software name="a3kin203">
<description>A3000 Install Disk 2.03</description>
<year>1991</year>
@@ -44,11 +44,11 @@
<rom name="335603-04_install.adf" size="901120" crc="9a3cc466" sha1="b12a225890a3957bb01dcbfba44c046c19e19c8f" offset="0"/>
</dataarea>
</part>
- </software>
+ </software>
<!-- Amiga UNIX System V Release 4 -->
<!-- TODO: Part numbers -->
-
+
<software name="amix11">
<description>UNIX System V Release 4 Amiga Version 1.1</description>
<year>1990</year>
diff --git a/hash/amiga_hardware.xml b/hash/amiga_hardware.xml
index 984a9054921..7f5416bccfe 100644
--- a/hash/amiga_hardware.xml
+++ b/hash/amiga_hardware.xml
@@ -12,7 +12,7 @@
<dataarea name="flop" size="901120">
<rom name="370132_a570_utilities.adf" size="901120" crc="30097474" sha1="958b97674e3e99fb9b0e3117009f27d4e7a9220b" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a590">
@@ -25,7 +25,7 @@
<dataarea name="flop" size="901120">
<rom name="317734-01_a590_scsi.adf" size="901120" crc="a560a938" sha1="9c6136c6580779a948cd1c0b50cb229512af415c" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a590_wd" cloneof="a590">
@@ -40,7 +40,7 @@
<dataarea name="flop" size="901120">
<rom name="317734-03_a590_wd.adf" size="901120" crc="a88fda41" sha1="7424f8645e1903e3e4ec8bb824186868319be1f3" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a590_seagate" cloneof="a590">
@@ -52,7 +52,7 @@
<dataarea name="flop" size="901120">
<rom name="317734-04_a590_seagate.adf" size="901120" status="nodump" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a590_ram">
@@ -64,7 +64,7 @@
<dataarea name="flop" size="901120">
<rom name="317830-01_a590_ram_test.adf" size="901120" crc="6583d1d0" sha1="7779b825b8555956d341ff7e909ab71d89e2321c" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2024">
@@ -76,7 +76,7 @@
<dataarea name="flop" size="901120">
<rom name="317809-01_a2024_jumpstart.adf" size="901120" crc="dad46588" sha1="30c2c1f1d98bd008b2c67f3b23480181935d4b01" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2091">
@@ -90,7 +90,7 @@
<dataarea name="flop" size="901120">
<rom name="317806-04_a2091_setup.adf" size="901120" crc="122c8f93" sha1="603e106c1a44a209171610af8d48bc35ad31c9bc" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2058">
@@ -102,7 +102,7 @@
<dataarea name="flop" size="901120">
<rom name="317719-01_a2058_ram_test.adf" size="901120" crc="5dba7fc3" sha1="76fbce4bef7df0f6042c85376d9bdfd4d4911e74" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2232">
@@ -114,7 +114,7 @@
<dataarea name="flop" size="901120">
<rom name="317769-01_a2232_install.adf" size="901120" crc="3caa21b7" sha1="24f47f6f88712f046303b8812a598043440a5e6d" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2300">
@@ -126,7 +126,7 @@
<dataarea name="flop" size="901120">
<rom name="317718-02_a2300_genlock_demo.adf" size="901120" crc="464ff0f6" sha1="26b94e8d52d35e2746b74610bb9b65eb2f899297" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
<software name="a2320">
@@ -138,7 +138,7 @@
<dataarea name="flop" size="901120">
<rom name="317210-01_a2320_test_demo.adf" size="901120" crc="cff98aae" sha1="f46f7de0d908ed68abfd784d84b964cbce7dc503" offset="0"/>
</dataarea>
- </part>
+ </part>
</software>
</softwarelist>
diff --git a/hash/coleco.xml b/hash/coleco.xml
index a1bf7ccee63..011b4fec841 100644
--- a/hash/coleco.xml
+++ b/hash/coleco.xml
@@ -437,7 +437,7 @@
<software name="choplift">
<!-- Choplifter (1984)(Coleco)[a].bin -->
- <!-- Other available dump has corrupted gfx -->
+ <!-- Other available dump has corrupted gfx -->
<description>Choplifter!</description>
<year>1984</year>
<publisher>Coleco / CBS</publisher>
@@ -699,7 +699,7 @@
<part name="cart" interface="coleco_cart">
<dataarea name="rom" size="16384">
<rom name="apshai.1" size="8192" crc="aa3ec181" sha1="7f79628c298ad6e410af82eeb33871869ad23de8" offset="0x0000" />
- <!-- 2nd 8K chunk containes two copies of the same 4K data -->
+ <!-- 2nd 8K chunk containes two copies of the same 4K data -->
<rom name="apshai.2" size="8192" crc="0e440f8f" sha1="09ffaeb79cdd8173882b77a8398a4e00ba826de1" offset="0x2000" />
</dataarea>
</part>
@@ -2262,7 +2262,7 @@
<dataarea name="rom" size="24576">
<rom name="subroc.1" size="8192" crc="ff56b769" sha1="612a0abd13c4c7790890cbcb265a7fd786c7ec5c" offset="0x0000" />
<rom name="subroc.2" size="8192" crc="e9e60d4c" sha1="bfc94db65985b7a906099465a47d900f7a9a9106" offset="0x2000" />
- <!-- 3rd 8K chunk containes two copies of the same 4K data -->
+ <!-- 3rd 8K chunk containes two copies of the same 4K data -->
<rom name="subroc.3" size="8192" crc="abe18f08" sha1="6ebdc68397c7b20dceba12ff754f88c955d5f98a" offset="0x4000" />
</dataarea>
</part>
@@ -2369,9 +2369,9 @@
</software>
<software name="zaxxont" cloneof="zaxxon">
- <!-- The Taiwan Cooper cart contains a 32K ROM, the last 8K of which was found to
- contain 0x4000-0x4fff from Super Action Baseball followed by 0x1000-0x1fff
- from Meteoric Shower! -->
+ <!-- The Taiwan Cooper cart contains a 32K ROM, the last 8K of which was found to
+ contain 0x4000-0x4fff from Super Action Baseball followed by 0x1000-0x1fff
+ from Meteoric Shower! -->
<description>Zaxxon (Taiwan Cooper)</description>
<year>198?</year>
<publisher>Taiwan Cooper</publisher>
diff --git a/hash/fm7_disk.xml b/hash/fm7_disk.xml
index 0c6918f409e..f75a5b179a4 100644
--- a/hash/fm7_disk.xml
+++ b/hash/fm7_disk.xml
@@ -1657,7 +1657,7 @@ Titles, serial #s, publishers and release dates taken from:
</dataarea>
</part>
</software>
-
+
<software name="mdos7_09">
<description>M-DOS7 Volume 9</description>
<year>19??</year>
diff --git a/hash/fmtowns_cd.xml b/hash/fmtowns_cd.xml
index e2fc0a5f96c..f6d18346620 100644
--- a/hash/fmtowns_cd.xml
+++ b/hash/fmtowns_cd.xml
@@ -2,8 +2,8 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="fmtowns" description="FM Towns CD-ROMs">
<!-- skeleton test list -->
-
- <!-- works well on fmtmarty, keyboard seems to interfere with movements on fmtowns -->
+
+ <!-- works well on fmtmarty, keyboard seems to interfere with movements on fmtowns -->
<software name="raiden">
<description>Raiden Densetsu / Raiden Trad</description>
<year>1991</year>
diff --git a/hash/gamegear.xml b/hash/gamegear.xml
index b99fe8e7104..805b3957d50 100644
--- a/hash/gamegear.xml
+++ b/hash/gamegear.xml
@@ -768,9 +768,9 @@ A few games have been listed as rumored, but they might very well be fake (pleas
</software>
<!-- some disassembling performed by Paul Baker suggests that this version is a prototype
-e.g. the mapper control register at $fffc gets set to $80, you cannot switch characters
-on the pause screen, some messages are not displayed ("Sorry boys, no tickets, no show!"
-to explain why it is not possible to progress beyond a certain point in the game without
+e.g. the mapper control register at $fffc gets set to $80, you cannot switch characters
+on the pause screen, some messages are not displayed ("Sorry boys, no tickets, no show!"
+to explain why it is not possible to progress beyond a certain point in the game without
a certain item) -->
<software name="beavisp" cloneof="beavis">
<description>Beavis and Butt-head (Prototype?)</description>
@@ -7285,7 +7285,7 @@ a certain item) -->
</software>
<software name="soniclab">
- <!-- A final pre-release version of this same dump was found on a proto board with 4x128K sockets and no labels -->
+ <!-- A final pre-release version of this same dump was found on a proto board with 4x128K sockets and no labels -->
<description>Sonic Labyrinth (World)</description>
<year>1995</year>
<publisher>Sega</publisher>
@@ -7594,7 +7594,7 @@ a certain item) -->
</software>
<software name="sonic2d" cloneof="sonic2">
- <!-- This predates the final release and contains some different tiles & sprites compared to the final game -->
+ <!-- This predates the final release and contains some different tiles & sprites compared to the final game -->
<description>Sonic The Hedgehog 2 (Rolling Demo)</description>
<year>1992</year>
<publisher>Sega</publisher>
@@ -7609,7 +7609,7 @@ a certain item) -->
<feature name="batt" value="" />
<feature name="sw" value="ON = 1M / OFF = 256" />
<dataarea name="rom" size="262144">
- <!-- The ROM should be split in two halves -->
+ <!-- The ROM should be split in two halves -->
<rom name="sonic_2_auto_demo_prototype_(1991-12-05)_tmr_sega_cb06_ffff.bin" size="262144" crc="15ad37a5" sha1="b780c6f059b48d1bb48ee2ad521552dab1487c88" offset="000000" />
</dataarea>
</part>
@@ -8634,7 +8634,7 @@ a certain item) -->
</software>
<software name="tailsadv">
- <!-- A final pre-release version of this same dump was found on a proto board with 4x128K sockets and no labels -->
+ <!-- A final pre-release version of this same dump was found on a proto board with 4x128K sockets and no labels -->
<description>Tails Adventures (World)</description>
<year>1995</year>
<publisher>Sega</publisher>
diff --git a/hash/gameking.xml b/hash/gameking.xml
index b3335de0509..0764a60e97a 100644
--- a/hash/gameking.xml
+++ b/hash/gameking.xml
@@ -4,7 +4,7 @@
<!-- dumps are not yet verified as good, the 3-in-1 internal ROM is not yet dumped -->
<softwarelist name="gameking" description="TimeTop GameKing cartridges">
-
+
<software name="2004">
<description>2004</description>
<year>200?</year>
@@ -25,7 +25,7 @@
<rom name="adventure legend carlo.bin" size="0x20000" crc="7d61d215" sha1="741684b5379d4be732a98beace5d09f37ff19bbf" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="aries">
<description>Aries</description>
@@ -36,7 +36,7 @@
<rom name="aries.bin" size="0x20000" crc="b854f1f2" sha1="1ad7a325aba2cf3593165b53e7ae3973388335f7" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="dinoadv">
<description>Dino Adventure Legend</description>
@@ -47,7 +47,7 @@
<rom name="dino adventure legend.bin" size="0x20000" crc="2df0c1e6" sha1="df4b5dc80a758d9e3c9b00384e3099ad8331faad" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="duckman">
<description>Duck Man</description>
@@ -58,7 +58,7 @@
<rom name="duck man.bin" size="0x20000" crc="9d12950a" sha1="376606097f66105d1a9e97e9793362f6f1e3b1a7" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="happybal">
<description>Happy Ball</description>
@@ -69,7 +69,7 @@
<rom name="happy ball.bin" size="0x20000" crc="79d4e738" sha1="fc14712260ed6e3d6313055046546d37b7c838d2" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="happykil">
<description>Happy Killer</description>
@@ -80,7 +80,7 @@
<rom name="happy killer.bin" size="0x20000" crc="9fd7ec65" sha1="705309829ee87689793c15be1f781d52471908d6" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="lanner">
<description>Lanneret</description>
@@ -91,7 +91,7 @@
<rom name="lanneret.bin" size="0x20000" crc="249df6a5" sha1="bcf92ab85cc97ffe94d6a363a87b0b5de62c3c66" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="penguin">
<description>Penguin</description>
@@ -102,8 +102,8 @@
<rom name="penguin.bin" size="0x20000" crc="8c7b81c9" sha1="2f253b6ab6f6b9fc114ffca120d13df2e1e5f860" offset="0x00000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="popper">
<description>Popper</description>
<year>200?</year>
@@ -113,7 +113,7 @@
<rom name="popper.bin" size="0x20000" crc="a704617b" sha1="314931548578303e5e80a2bcb03c92472cb014d9" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="sthero">
<description>Street Hero</description>
@@ -124,8 +124,8 @@
<rom name="street hero.bin" size="0x20000" crc="9e0fe489" sha1="2c442126999e4b112a48e42a82dfa9ad9d6efa22" offset="0x00000" />
</dataarea>
</part>
- </software>
-
+ </software>
+
<software name="smotor">
<description>Supermotor</description>
<year>200?</year>
@@ -135,7 +135,7 @@
<rom name="supermotor.bin" size="0x20000" crc="6290b94b" sha1="0c3011da35170241637907bb23d79355db38f343" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
<software name="trojanl">
<description>Trojan Legend</description>
@@ -146,8 +146,8 @@
<rom name="trojan legend.bin" size="0x20000" crc="7ce3975e" sha1="e925e4f28efc85ce69fb504b85a98a60883aa30d" offset="0x00000" />
</dataarea>
</part>
- </software>
+ </software>
+
-
</softwarelist>
diff --git a/hash/gbcolor.xml b/hash/gbcolor.xml
index 467b29a918f..a1aa94e5170 100644
--- a/hash/gbcolor.xml
+++ b/hash/gbcolor.xml
@@ -23639,7 +23639,7 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
* CBA078 Shuma Baolong - Diannao Pian 数码暴龙-电脑篇
* CBA079 Yingxiong Tianxia 英雄天下
* CBA080 Sanguozhi Wudai 三国志五代
- * CBA083 Tai Kong Bao Bei 太空宝贝
+ * CBA083 Tai Kong Bao Bei 太空宝贝
* CBA085 Shu Ma Bao Bei - Huojian Bingtuan 数码宝贝-火箭兵团
* CBA086 Shu Ma Bao Bei - Chao Mengmeng Fanji Zhan 数码宝贝-超梦梦反击战
* CBA087 Shu Ma Bao Bei - Hai Zhi Shen 数码宝贝-海之神
diff --git a/hash/intvecs.xml b/hash/intvecs.xml
index 1136c341ace..b8663df873e 100644
--- a/hash/intvecs.xml
+++ b/hash/intvecs.xml
@@ -100,7 +100,7 @@
<dataarea name="D000" size="0x4000">
<rom name="world series major league baseball.d0" size="0x4000" crc="839fa5c7" sha1="1ef12665079d1ce50bd2419b668344a08c9a872f" offset="0x0000"/>
</dataarea>
- <!-- two ROM pages -->
+ <!-- two ROM pages -->
<dataarea name="F000" size="0x4000">
<rom name="world series major league baseball (page 0).f0" size="0x2000" crc="a0f2fe49" sha1="fab397b49c5a7db53a501caea42fce169da5a31a" offset="0x0000"/>
<rom name="world series major league baseball (page 1).f0" size="0x2000" crc="94d6b056" sha1="df2a8c950dd1c398db901a624c04322d2b4f2782" offset="0x2000"/>
diff --git a/hash/msx1_cart.xml b/hash/msx1_cart.xml
index 1a04999d34c..c4863b1214c 100644
--- a/hash/msx1_cart.xml
+++ b/hash/msx1_cart.xml
@@ -14536,12 +14536,12 @@ kept for now until finding out what those bytes affect...
<feature name="mapper" value="NOMAPPER" />
<dataarea name="rom" size="131072">
<!--
- 20140725:
- There are 3 versions of this rom floating around:
- 930eae7057af1652abae794072b296a59decd61b - a "dirty" dump; it seems to be a direct memory copy made on an MSX and contains RAM contents at 3000-3FFF and 7000-7FFF
- a45692849acf29ddb653707a62747985439f6d4f - RAM areas are set to FFs
- 36d47cf70618fdb460f97a8ceb75013ec4529063 - A dump made using an eeprom reader. This dump differs one bit with the dump above (offset 8a49, bit 3)
- By looking the code it is not yet possible to say which one is 100% correct, so marking it as baddump for the moment.
+ 20140725:
+ There are 3 versions of this rom floating around:
+ 930eae7057af1652abae794072b296a59decd61b - a "dirty" dump; it seems to be a direct memory copy made on an MSX and contains RAM contents at 3000-3FFF and 7000-7FFF
+ a45692849acf29ddb653707a62747985439f6d4f - RAM areas are set to FFs
+ 36d47cf70618fdb460f97a8ceb75013ec4529063 - A dump made using an eeprom reader. This dump differs one bit with the dump above (offset 8a49, bit 3)
+ By looking the code it is not yet possible to say which one is 100% correct, so marking it as baddump for the moment.
-->
<rom name="msx audio (japan) (fs-ca1) (program).rom" size="131072" crc="78584d2e" sha1="a45692849acf29ddb653707a62747985439f6d4f" status="baddump" offset="0" />
</dataarea>
@@ -17109,8 +17109,8 @@ legacy FM implementations cannot find it.
</part>
<!-- The package came with a copy of MSX-DOS -->
<!--
- <part name="flop1" interface="floppy_3_5">
- </part>
+ <part name="flop1" interface="floppy_3_5">
+ </part>
-->
</software>
@@ -17126,9 +17126,9 @@ legacy FM implementations cannot find it.
</dataarea>
</part>
<!--
- The floppy drive was most likely bundled with a copy of MSX-DOS, but we are not 100% sure yet
- <part name="flop1" interface="floppy_3_5">
- </part>
+ The floppy drive was most likely bundled with a copy of MSX-DOS, but we are not 100% sure yet
+ <part name="flop1" interface="floppy_3_5">
+ </part>
-->
</software>
diff --git a/hash/nes.xml b/hash/nes.xml
index 5d6494e8dff..834b9152f5b 100644
--- a/hash/nes.xml
+++ b/hash/nes.xml
@@ -35601,7 +35601,7 @@
<feature name="pcb_model" value="NR8OV2-1" />
<feature name="u1" value="U1 PRG" />
<feature name="u2" value="U2 CHR" />
- <feature name="u3" value="CME-01" /> <!-- CIC clone? -->
+ <feature name="u3" value="CME-01" /> <!-- CIC clone? -->
<feature name="mirroring" value="vertical" />
<dataarea name="prg" size="262144">
<rom name="sup.adv.quest.u1" size="262144" crc="6a7bf037" sha1="22b430d7d4167f16751facd3515f7c8e1133a3d9" offset="00000" />
diff --git a/hash/pencil2.xml b/hash/pencil2.xml
index 0cd0b01f526..ea5eaa46645 100644
--- a/hash/pencil2.xml
+++ b/hash/pencil2.xml
@@ -2,7 +2,7 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="pencil2" description="Hanimex Pencil II cartridges">
-<!--
+<!--
Undumped known carts
@@ -16,7 +16,7 @@ Zaxxon
-->
-<!--
+<!--
BASIC CART PEN-700 11-50332-31 Rev.0
SD-BASIC VERSION 2.0 FOR PENCIL II
diff --git a/hash/psx.xml b/hash/psx.xml
index f87627969ab..c58f7e2b157 100644
--- a/hash/psx.xml
+++ b/hash/psx.xml
@@ -704,9 +704,9 @@ A few comments on these:
</part>
</software>
- <!-- Redump.org sets -->
-
- <software name="raidendx" supported="yes"> <!-- Hamster re-release) -->
+ <!-- Redump.org sets -->
+
+ <software name="raidendx" supported="yes"> <!-- Hamster re-release) -->
<description>Raiden DX (Japan, V1.1)</description>
<year>199?</year>
<publisher>Seibu / Hamster</publisher>
@@ -717,8 +717,8 @@ A few comments on these:
</diskarea>
</part>
</software>
-
- <software name="raidendxo" cloneof="raidendx" supported="yes"> <!-- original release) -->
+
+ <software name="raidendxo" cloneof="raidendx" supported="yes"> <!-- original release) -->
<description>Raiden DX (Japan, V1.0)</description>
<year>199?</year>
<publisher>Seibu</publisher>
@@ -729,7 +729,7 @@ A few comments on these:
</diskarea>
</part>
</software>
-
+
<software name="raidenpr" supported="yes">
<description>Raiden Project (USA)</description>
<year>199?</year>
@@ -740,9 +740,9 @@ A few comments on these:
<disk name="raiden project, the (usa)" sha1="cb1e4fae25d42e70fcb3eec5e1c1afcbdc5c2af3"/>
</diskarea>
</part>
- </software>
-
- <!-- this image doesn't boot, some kind of copy protection? could be bad -->
+ </software>
+
+ <!-- this image doesn't boot, some kind of copy protection? could be bad -->
<software name="raidenprj" cloneof="raidenpr" supported="no">
<description>Raiden Project (Japan)</description>
<year>1995</year>
@@ -753,8 +753,8 @@ A few comments on these:
<disk name="raiden project (japan)" sha1="12ec8ee3117df1f95752dc65155a611f43725251"/>
</diskarea>
</part>
- </software>
-
+ </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) -->
diff --git a/hash/timex_dock.xml b/hash/timex_dock.xml
index 0f1f7954229..ba2eb4bce67 100644
--- a/hash/timex_dock.xml
+++ b/hash/timex_dock.xml
@@ -235,7 +235,7 @@
</part>
</software>
- <!-- TODO: add support for RAM in this cart (0xa000-0xffff) -->
+ <!-- TODO: add support for RAM in this cart (0xa000-0xffff) -->
<software name="rwp32" supported="no">
<description>rWP32</description>
<year>19??</year>
diff --git a/src/emu/bus/a2bus/a2corvus.c b/src/emu/bus/a2bus/a2corvus.c
index 7c6351537d0..e8a91030884 100644
--- a/src/emu/bus/a2bus/a2corvus.c
+++ b/src/emu/bus/a2bus/a2corvus.c
@@ -32,7 +32,7 @@
7) When the format completes, type "RUN APPLESOFT BOOT PREP" and press Enter.
8) Once it finishes, quit MESS. Remove the diskii(ng) from slot 7 and
the system will boot into DOS 3.3 from the Corvus HD.
-
+
TODO: but there are no Corvus drivers present after that, only
Disk II?
diff --git a/src/emu/bus/a2bus/a2lang.c b/src/emu/bus/a2bus/a2lang.c
index 581ce7d9dff..1f257789e55 100644
--- a/src/emu/bus/a2bus/a2lang.c
+++ b/src/emu/bus/a2bus/a2lang.c
@@ -112,7 +112,7 @@ UINT8 a2bus_lang_device::read_c0nx(address_space &space, UINT8 offset)
// likely to be interrupt-safe.
if (state->m_machinetype == APPLE_II)
{
- switch (offset & 0x03)
+ switch (offset & 0x03)
{
case 1:
case 3:
diff --git a/src/emu/bus/a2bus/corvfdc01.c b/src/emu/bus/a2bus/corvfdc01.c
index 14cb6034c62..baf1f17a2d3 100644
--- a/src/emu/bus/a2bus/corvfdc01.c
+++ b/src/emu/bus/a2bus/corvfdc01.c
@@ -3,10 +3,10 @@
corvfdc01.c
Implemention of the Corvus Systems CORVUS01 floppy controller
-
+
Boot PROM 0.8 fixes this at: 8", 500 blocks total, 128 bytes/block,
- 26 sectors/track, 77 tracks.
-
+ 26 sectors/track, 77 tracks.
+
*********************************************************************/
#include "corvfdc01.h"
@@ -21,8 +21,8 @@
const device_type A2BUS_CORVFDC01 = &device_creator<a2bus_corvfdc01_device>;
-#define FDC01_ROM_REGION "fdc01_rom"
-#define FDC01_FDC_TAG "fdc01_fdc"
+#define FDC01_ROM_REGION "fdc01_rom"
+#define FDC01_FDC_TAG "fdc01_fdc"
FLOPPY_FORMATS_MEMBER( a2bus_corvfdc01_device::corv_floppy_formats )
FLOPPY_IMD_FORMAT
@@ -161,7 +161,7 @@ UINT8 a2bus_corvfdc01_device::read_c0nx(address_space &space, UINT8 offset)
{
switch (offset)
{
- case 0: // local status
+ case 0: // local status
if (m_curfloppy)
{
m_fdc_local_status &= ~LS_DSKCHG_mask;
@@ -169,7 +169,7 @@ UINT8 a2bus_corvfdc01_device::read_c0nx(address_space &space, UINT8 offset)
}
return m_fdc_local_status | LS_8IN_mask;
- case 8: // WD1793 at 8-11
+ case 8: // WD1793 at 8-11
return m_wdfdc->status_r(space, offset);
case 9:
@@ -225,7 +225,7 @@ void a2bus_corvfdc01_device::write_c0nx(address_space &space, UINT8 offset, UINT
if (m_curfloppy != NULL)
{
// side select
- m_curfloppy->ss_w((data & LC_FLPSD1_mask) != 0);
+ m_curfloppy->ss_w((data & LC_FLPSD1_mask) != 0);
// motor control (active low)
m_curfloppy->mon_w((data & LC_MOTOROF_mask) ? 1 : 0);
@@ -278,4 +278,3 @@ WRITE_LINE_MEMBER(a2bus_corvfdc01_device::drq_w)
else
m_fdc_local_status &= ~LS_DRQ_mask;
}
-
diff --git a/src/emu/bus/a2bus/corvfdc02.c b/src/emu/bus/a2bus/corvfdc02.c
index 44a27718ec5..170438073a6 100644
--- a/src/emu/bus/a2bus/corvfdc02.c
+++ b/src/emu/bus/a2bus/corvfdc02.c
@@ -4,10 +4,10 @@
Implemention of the Corvus Systems CORVUS02 floppy controller
aka the "Buffered Floppy Controller"
-
+
Boot PROM 0.8 says 8" SSDD or 5.25" DSDD; we stick with 5.25" here
and let the FDC01 handle 8".
-
+
*********************************************************************/
#include "corvfdc02.h"
@@ -23,8 +23,8 @@
const device_type A2BUS_CORVFDC02 = &device_creator<a2bus_corvfdc02_device>;
-#define FDC02_ROM_REGION "fdc02_rom"
-#define FDC02_FDC_TAG "fdc02_fdc"
+#define FDC02_ROM_REGION "fdc02_rom"
+#define FDC02_FDC_TAG "fdc02_fdc"
FLOPPY_FORMATS_MEMBER( a2bus_corvfdc02_device::corv_floppy_formats )
FLOPPY_CONCEPT_525DSDD_FORMAT,
@@ -86,7 +86,6 @@ a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, de
m_con3(*this, FDC02_FDC_TAG":2"),
m_con4(*this, FDC02_FDC_TAG":3")
{
-
}
a2bus_corvfdc02_device::a2bus_corvfdc02_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
@@ -143,20 +142,20 @@ UINT8 a2bus_corvfdc02_device::read_c0nx(address_space &space, UINT8 offset)
{
switch (offset)
{
- case 0: // 765 FIFO
+ case 0: // 765 FIFO
return m_fdc->fifo_r(space, 0);
- case 1: // 765 MSR
+ case 1: // 765 MSR
return m_fdc->msr_r(space, 0);
- case 2: // buffer address
+ case 2: // buffer address
return (m_bufptr>>1) & 0xff;
- case 3:
-// printf("Read buffer @ %x = %02x\n", m_bufptr, m_buffer[m_bufptr]);
+ case 3:
+// printf("Read buffer @ %x = %02x\n", m_bufptr, m_buffer[m_bufptr]);
return m_buffer[m_bufptr--];
- case 4: // local status
+ case 4: // local status
if (m_curfloppy)
{
m_fdc_local_status &= ~(1 | 0x40);
@@ -188,13 +187,13 @@ void a2bus_corvfdc02_device::write_c0nx(address_space &space, UINT8 offset, UINT
case 1: // FDC ???
break;
- case 2: // buffer address
+ case 2: // buffer address
m_bufptr = (data << 1) | (data & 1);
-// printf("%02x to buffer address yields %x\n", data, m_bufptr);
+// printf("%02x to buffer address yields %x\n", data, m_bufptr);
break;
- case 3: // buffer write
-// printf("%02x to buffer[%x]\n", data, m_bufptr);
+ case 3: // buffer write
+// printf("%02x to buffer[%x]\n", data, m_bufptr);
m_buffer[m_bufptr--] = data;
break;
@@ -233,12 +232,12 @@ void a2bus_corvfdc02_device::write_c0nx(address_space &space, UINT8 offset, UINT
{
// motor control (active low)
m_curfloppy->mon_w((data & 8) ? 1 : 0);
-// printf("Cur drive %p motor %s\n", m_curfloppy, (data & 8) ? "OFF" : "ON");
+// printf("Cur drive %p motor %s\n", m_curfloppy, (data & 8) ? "OFF" : "ON");
}
if (data & 0x80)
{
-// printf("Reset NEC765\n");
+// printf("Reset NEC765\n");
m_fdc->reset();
}
break;
@@ -266,7 +265,7 @@ WRITE_LINE_MEMBER(a2bus_corvfdc02_device::intrq_w)
}
else
{
- m_fdc_local_status |= 2; // clear IRQ
+ m_fdc_local_status |= 2; // clear IRQ
lower_slot_irq();
}
}
@@ -279,7 +278,7 @@ WRITE_LINE_MEMBER(a2bus_corvfdc02_device::drq_w)
if (m_fdc_local_command & 0x40)
{
m_buffer[m_bufptr] = m_fdc->dma_r();
-// printf("DMA %02x to buffer[%x]\n", m_buffer[m_bufptr], m_bufptr);
+// printf("DMA %02x to buffer[%x]\n", m_buffer[m_bufptr], m_bufptr);
if (!m_bufptr)
{
@@ -296,4 +295,3 @@ WRITE_LINE_MEMBER(a2bus_corvfdc02_device::drq_w)
}
}
}
-
diff --git a/src/emu/bus/a2bus/corvfdc02.h b/src/emu/bus/a2bus/corvfdc02.h
index 83c3a4c4ed9..7b16e1c899d 100644
--- a/src/emu/bus/a2bus/corvfdc02.h
+++ b/src/emu/bus/a2bus/corvfdc02.h
@@ -56,7 +56,7 @@ private:
UINT8 *m_rom;
UINT8 m_fdc_local_status, m_fdc_local_command;
UINT16 m_bufptr;
- UINT8 m_buffer[2048]; // 1x6116 SRAM
+ UINT8 m_buffer[2048]; // 1x6116 SRAM
floppy_image_device *m_curfloppy;
bool m_in_drq;
emu_timer *m_timer;
diff --git a/src/emu/bus/a2bus/laser128.c b/src/emu/bus/a2bus/laser128.c
index bc42e977305..81315311ae3 100644
--- a/src/emu/bus/a2bus/laser128.c
+++ b/src/emu/bus/a2bus/laser128.c
@@ -108,7 +108,7 @@ UINT8 a2bus_laser128_device::read_c800(address_space &space, UINT16 offset)
{
return m_slot7_ram[offset];
}
- return m_rom[(offset & 0x3ff) + 0x6000 + m_slot7_bank];
+ return m_rom[(offset & 0x3ff) + 0x6000 + m_slot7_bank];
}
return 0xff;
@@ -124,12 +124,12 @@ void a2bus_laser128_device::write_c800(address_space &space, UINT16 offset, UINT
// UDCREG
if ((m_slot == 7) && (offset == 0x7f8))
{
-// printf("%02x to UDCREG\n", data);
+// printf("%02x to UDCREG\n", data);
m_slot7_ram_bank = (data & 0x8) ? 0x400 : 0;
m_slot7_bank = (((data >> 4) & 0x7) * 0x400);
-// printf("\tRAM bank %x, ROM bank %x\n", m_slot7_ram_bank, m_slot7_bank);
+// printf("\tRAM bank %x, ROM bank %x\n", m_slot7_ram_bank, m_slot7_bank);
}
}
diff --git a/src/emu/bus/a2bus/mouse.c b/src/emu/bus/a2bus/mouse.c
index d3828e3db32..a0340174034 100644
--- a/src/emu/bus/a2bus/mouse.c
+++ b/src/emu/bus/a2bus/mouse.c
@@ -3,18 +3,18 @@
mouse.c
Implemention of the Apple II Mouse Card
-
+
Apple II Mouse Interface PCB
- Apple 1983
+ Apple 1983
- This is a mouse interface for the Apple II
+ This is a mouse interface for the Apple II
- PCB Layout
- ----------
- apple computer
- MOUSE INTERFACE
- 670-0030-C (C) 1983
- Printed on back side - MOUSE INTERFACE 820-0104-B (C) 1983 APPLE COMPUTER
+ PCB Layout
+ ----------
+ apple computer
+ MOUSE INTERFACE
+ 670-0030-C (C) 1983
+ Printed on back side - MOUSE INTERFACE 820-0104-B (C) 1983 APPLE COMPUTER
|-----------------------------------|
| PAL16R4 6821 |
| |
@@ -25,40 +25,40 @@
|-------------------| |-|
|-------------|
- Notes:
- J1 - 9 pin flat cable with female DB9 connector
- 68705P3 - Motorola MC68705P3 microcontroller (DIP28) labelled '341-0269 (C) APPLE'
- PCB printed '(C) APPLE 1983 341-0269 or 342-0285'
- 8516 - Fujitsu MB8516 2k x8-bit EPROM (DIP24) labelled '341-0270-C (C) APPLE 1983'
- PCB printed '(C) APPLE 1983 342-0270'
- PAL16R4 - MMI PAL16R4ACN (DIP20) marked '341-0268-A'
- PCB printed '(C) APPLE 1983 342-0268'
- 6821 - AMI 6821 Peripheral Interface Adapter (DIP40)
- X1/X2 - Jumper pads. X1 is open, X2 is closed.
-
-
+ Notes:
+ J1 - 9 pin flat cable with female DB9 connector
+ 68705P3 - Motorola MC68705P3 microcontroller (DIP28) labelled '341-0269 (C) APPLE'
+ PCB printed '(C) APPLE 1983 341-0269 or 342-0285'
+ 8516 - Fujitsu MB8516 2k x8-bit EPROM (DIP24) labelled '341-0270-C (C) APPLE 1983'
+ PCB printed '(C) APPLE 1983 342-0270'
+ PAL16R4 - MMI PAL16R4ACN (DIP20) marked '341-0268-A'
+ PCB printed '(C) APPLE 1983 342-0268'
+ 6821 - AMI 6821 Peripheral Interface Adapter (DIP40)
+ X1/X2 - Jumper pads. X1 is open, X2 is closed.
+
+
Hookup notes:
- PIA port A connects to 68705 port A in its entirety (bi-directional)
- PIA PB4-PB7 connects to 68705 PC0-3 (bi-directional)
- PIA PB0 is 'sync latch'
- PIA PB1 is A8 on the EPROM
- PIA PB2 is A9 on the EPROM
- PIA PB3 is A10 on the EPROM
-
- 68705 PB0 is mouse X1
- 68705 PB1 is mouse X0
- 68705 PB2 is mouse Y0
- 68705 PB3 is mouse Y1
- 68705 PB4 and 5 are N/C
- 68705 PB6 is IRQ for the slot
- 68705 PB7 is the mouse button
-
- 68705 is clocked at 2M
- PIA is clocked at 1M
-
+ PIA port A connects to 68705 port A in its entirety (bi-directional)
+ PIA PB4-PB7 connects to 68705 PC0-3 (bi-directional)
+ PIA PB0 is 'sync latch'
+ PIA PB1 is A8 on the EPROM
+ PIA PB2 is A9 on the EPROM
+ PIA PB3 is A10 on the EPROM
+
+ 68705 PB0 is mouse X1
+ 68705 PB1 is mouse X0
+ 68705 PB2 is mouse Y0
+ 68705 PB3 is mouse Y1
+ 68705 PB4 and 5 are N/C
+ 68705 PB6 is IRQ for the slot
+ 68705 PB7 is the mouse button
+
+ 68705 is clocked at 2M
+ PIA is clocked at 1M
+
See the schematic at:
- http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Digitizers/Apple%20Mouse%20Interface%20Card/Schematics/
-
+ http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Digitizers/Apple%20Mouse%20Interface%20Card/Schematics/
+
*********************************************************************/
#include "mouse.h"
@@ -73,17 +73,17 @@
const device_type A2BUS_MOUSE = &device_creator<a2bus_mouse_device>;
-#define MOUSE_ROM_REGION "a2mse_rom"
-#define MOUSE_PIA_TAG "a2mse_pia"
-#define MOUSE_MCU_TAG "a2mse_mcu"
-#define MOUSE_MCU_ROM "a2mse_mcurom"
+#define MOUSE_ROM_REGION "a2mse_rom"
+#define MOUSE_PIA_TAG "a2mse_pia"
+#define MOUSE_MCU_TAG "a2mse_mcu"
+#define MOUSE_MCU_ROM "a2mse_mcurom"
-#define MOUSE_BUTTON_TAG "a2mse_button"
-#define MOUSE_XAXIS_TAG "a2mse_x"
-#define MOUSE_YAXIS_TAG "a2mse_y"
+#define MOUSE_BUTTON_TAG "a2mse_button"
+#define MOUSE_XAXIS_TAG "a2mse_x"
+#define MOUSE_YAXIS_TAG "a2mse_y"
-#define TIMER_68705 0
-#define TIMER_QUADRATURE 1
+#define TIMER_68705 0
+#define TIMER_QUADRATURE 1
static ADDRESS_MAP_START( mcu_mem, AS_PROGRAM, 8, a2bus_mouse_device )
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
@@ -113,14 +113,14 @@ MACHINE_CONFIG_END
ROM_START( mouse )
ROM_REGION(0x800, MOUSE_ROM_REGION, 0)
- ROM_LOAD( "341-0270-c.4b", 0x000000, 0x000800, CRC(0bcd1e8e) SHA1(3a9d881a8a8d30f55b9719aceebbcf717f829d6f) )
+ ROM_LOAD( "341-0270-c.4b", 0x000000, 0x000800, CRC(0bcd1e8e) SHA1(3a9d881a8a8d30f55b9719aceebbcf717f829d6f) )
ROM_REGION(0x800, MOUSE_MCU_ROM, 0)
- ROM_LOAD( "341-0269.2b", 0x000000, 0x000800, CRC(94067f16) SHA1(3a2baa6648efe4456d3ec3721216e57c64f7acfc) )
+ ROM_LOAD( "341-0269.2b", 0x000000, 0x000800, CRC(94067f16) SHA1(3a2baa6648efe4456d3ec3721216e57c64f7acfc) )
ROM_REGION(0xc00, "pal", 0)
- ROM_LOAD( "mmi_pal16r4a(jedec).2a", 0x000000, 0x000b04, CRC(1d620ee5) SHA1(5aa9a515c919ff7a18878649cac5d44f0c2abf28) )
- ROM_LOAD( "mmi_pal16r4a(binary).2a", 0x000000, 0x000100, CRC(1da5c745) SHA1(ba267b69a2fda2a2348b140979ece562411bb37b) )
+ ROM_LOAD( "mmi_pal16r4a(jedec).2a", 0x000000, 0x000b04, CRC(1d620ee5) SHA1(5aa9a515c919ff7a18878649cac5d44f0c2abf28) )
+ ROM_LOAD( "mmi_pal16r4a(binary).2a", 0x000000, 0x000100, CRC(1da5c745) SHA1(ba267b69a2fda2a2348b140979ece562411bb37b) )
ROM_END
static INPUT_PORTS_START( mouse )
@@ -241,7 +241,7 @@ void a2bus_mouse_device::device_reset()
m_rom_bank = 0;
last_mx = last_my = count_x = count_y = 0;
m_timer_cnt = 0xff;
- m_timer_ctl = 0x40; // disable interrupt, everything else clear
+ m_timer_ctl = 0x40; // disable interrupt, everything else clear
m_port_a_in = 0;
m_port_b_in = 0x80;
m_port_c_in = 0;
@@ -261,7 +261,7 @@ void a2bus_mouse_device::device_reset()
UINT8 a2bus_mouse_device::read_c0nx(address_space &space, UINT8 offset)
{
- return m_pia->read(space, offset & 3);
+ return m_pia->read(space, offset & 3);
}
@@ -394,10 +394,10 @@ WRITE8_MEMBER(a2bus_mouse_device::mcu_timer_w)
m_timer_cnt = data;
recalc = true;
}
- // offset 1 = timer control: b7 = IRQ, b6 = IRQ mask (1=suppress),
- // b5 = input select (0=CPU clk, 1=ext),
- // b4 = enable external timer input,
- // b3 = clear, b2-b0 = scaler (1/2/4/8/16/32/64/128)
+ // offset 1 = timer control: b7 = IRQ, b6 = IRQ mask (1=suppress),
+ // b5 = input select (0=CPU clk, 1=ext),
+ // b4 = enable external timer input,
+ // b3 = clear, b2-b0 = scaler (1/2/4/8/16/32/64/128)
else
{
// clearing the interrupt?
@@ -425,7 +425,7 @@ WRITE8_MEMBER(a2bus_mouse_device::mcu_timer_w)
recalc = true;
}
- m_timer_ctl = data;
+ m_timer_ctl = data;
}
}
@@ -445,15 +445,15 @@ WRITE8_MEMBER(a2bus_mouse_device::mcu_timer_w)
X1 = gate, must go 0/1 for each pixel moved
Y0 = direction, 0 = up, 1 = down
Y1 = gate, must go 0/1 for each pixel moved
-
+
The direction must stay constant for a given train of gate pulses or the MCU will get confused.
*/
void a2bus_mouse_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
- if (id == TIMER_68705) // 68705's built-in timer
+ if (id == TIMER_68705) // 68705's built-in timer
{
m_timer_ctl |= 0x80; // indicate timer expired
- if (!(m_timer_ctl & 0x40)) // if interrupt not suppressed, fire!
+ if (!(m_timer_ctl & 0x40)) // if interrupt not suppressed, fire!
{
m_mcu->set_input_line(M68705_INT_TIMER, ASSERT_LINE);
}
@@ -509,9 +509,9 @@ void a2bus_mouse_device::device_timer(emu_timer &timer, device_timer_id id, int
else
{
count_x--;
- m_port_b_in |= 0x01; // X1
+ m_port_b_in |= 0x01; // X1
}
- m_port_b_in |= 0x02; // X0
+ m_port_b_in |= 0x02; // X0
}
else if (count_y)
{
@@ -522,9 +522,9 @@ void a2bus_mouse_device::device_timer(emu_timer &timer, device_timer_id id, int
else
{
count_y--;
- m_port_b_in |= 0x04; // Y0
+ m_port_b_in |= 0x04; // Y0
}
- m_port_b_in |= 0x08; // Y1
+ m_port_b_in |= 0x08; // Y1
}
}
}
diff --git a/src/emu/bus/a2bus/timemasterho.c b/src/emu/bus/a2bus/timemasterho.c
index 7fc4b8dcd8f..9c1191d3aa9 100644
--- a/src/emu/bus/a2bus/timemasterho.c
+++ b/src/emu/bus/a2bus/timemasterho.c
@@ -20,17 +20,17 @@
|____________________________ _|
| |
|______________________|
-
-
+
+
DIPS: 1:SET 2:MODE 3:NMI 4:IRQ
1 & 4 are on by default.
-
+
J1: 8 pins for X10 home control functions (top to bottom)
1: ADJ 2: 5V 3: MODE 4: GND
5: A 6: 5V 7: B 8: GND
-
+
X10 functions not supported.
-
+
*********************************************************************/
#include "timemasterho.h"
@@ -45,9 +45,9 @@
const device_type A2BUS_TIMEMASTERHO = &device_creator<a2bus_timemasterho_device>;
-#define TIMEMASTER_ROM_REGION "timemst_rom"
-#define TIMEMASTER_PIA_TAG "timemst_pia"
-#define TIMEMASTER_M5832_TAG "timemst_msm"
+#define TIMEMASTER_ROM_REGION "timemst_rom"
+#define TIMEMASTER_PIA_TAG "timemst_pia"
+#define TIMEMASTER_M5832_TAG "timemst_msm"
MACHINE_CONFIG_FRAGMENT( timemaster )
MCFG_DEVICE_ADD(TIMEMASTER_PIA_TAG, PIA6821, 1021800)
@@ -61,26 +61,26 @@ MACHINE_CONFIG_END
ROM_START( timemaster )
ROM_REGION(0x1000, TIMEMASTER_ROM_REGION, 0)
- ROM_LOAD( "ae timemaster ii h.o. rom rev. 5.bin", 0x000000, 0x001000, CRC(ff5bd644) SHA1(ae0173da61581a06188c1bee89e95a0aa536c411) )
+ ROM_LOAD( "ae timemaster ii h.o. rom rev. 5.bin", 0x000000, 0x001000, CRC(ff5bd644) SHA1(ae0173da61581a06188c1bee89e95a0aa536c411) )
ROM_END
static INPUT_PORTS_START( tmho )
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, "Set")
- PORT_DIPSETTING( 0x00, "Apple can't set clock")
- PORT_DIPSETTING( 0x01, "Apple can set clock")
+ PORT_DIPSETTING( 0x00, "Apple can't set clock")
+ PORT_DIPSETTING( 0x01, "Apple can set clock")
PORT_DIPNAME( 0x02, 0x00, "Mode")
- PORT_DIPSETTING( 0x00, "TimeMaster")
- PORT_DIPSETTING( 0x02, "Mountain AppleClock")
+ PORT_DIPSETTING( 0x00, "TimeMaster")
+ PORT_DIPSETTING( 0x02, "Mountain AppleClock")
PORT_DIPNAME( 0x04, 0x00, "NMI")
- PORT_DIPSETTING( 0x00, DEF_STR(Off))
- PORT_DIPSETTING( 0x04, DEF_STR(On))
+ PORT_DIPSETTING( 0x00, DEF_STR(Off))
+ PORT_DIPSETTING( 0x04, DEF_STR(On))
PORT_DIPNAME( 0x08, 0x08, "IRQ")
- PORT_DIPSETTING( 0x00, DEF_STR(Off))
- PORT_DIPSETTING( 0x08, DEF_STR(On))
+ PORT_DIPSETTING( 0x00, DEF_STR(Off))
+ PORT_DIPSETTING( 0x08, DEF_STR(On))
INPUT_PORTS_END
/***************************************************************************
@@ -154,7 +154,7 @@ void a2bus_timemasterho_device::device_start()
void a2bus_timemasterho_device::device_reset()
{
- m_msm5832->cs_w(ASSERT_LINE); // CS is tied to Vcc
+ m_msm5832->cs_w(ASSERT_LINE); // CS is tied to Vcc
m_started = true;
}
@@ -167,7 +167,7 @@ UINT8 a2bus_timemasterho_device::read_c0nx(address_space &space, UINT8 offset)
{
if (offset <= 3)
{
- return m_pia->read(space, offset);
+ return m_pia->read(space, offset);
}
return 0xff;
@@ -194,7 +194,7 @@ UINT8 a2bus_timemasterho_device::read_cnxx(address_space &space, UINT8 offset)
{
if (m_started)
{
- if (!(m_dsw1->read() & 2)) // TimeMaster native
+ if (!(m_dsw1->read() & 2)) // TimeMaster native
{
return m_rom[offset+0xc00];
}
@@ -228,7 +228,7 @@ WRITE8_MEMBER(a2bus_timemasterho_device::pia_out_b)
{
if (m_dsw1->read() & 1)
{
- m_msm5832->write_w((data >> 6) & 1 ? ASSERT_LINE : CLEAR_LINE);
+ m_msm5832->write_w((data >> 6) & 1 ? ASSERT_LINE : CLEAR_LINE);
}
}
@@ -277,4 +277,3 @@ WRITE_LINE_MEMBER(a2bus_timemasterho_device::pia_irqb_w)
m_irqb = state;
update_irqs();
}
-
diff --git a/src/emu/bus/a7800/a78_carts.h b/src/emu/bus/a7800/a78_carts.h
index 1d31e22acdb..73739dddcf8 100644
--- a/src/emu/bus/a7800/a78_carts.h
+++ b/src/emu/bus/a7800/a78_carts.h
@@ -20,10 +20,10 @@ static SLOT_INTERFACE_START(a7800_cart)
SLOT_INTERFACE_INTERNAL("a78_abs", A78_ROM_ABSOLUTE)
SLOT_INTERFACE_INTERNAL("a78_act", A78_ROM_ACTIVISION)
SLOT_INTERFACE_INTERNAL("a78_hsc", A78_HISCORE)
- SLOT_INTERFACE_INTERNAL("a78_xboard", A78_XBOARD) // the actual XBoarD expansion (as passthru)
- SLOT_INTERFACE_INTERNAL("a78_xm", A78_XM) // the actual XM expansion (as passthru)
- SLOT_INTERFACE_INTERNAL("a78_megacart", A78_ROM_MEGACART)
- SLOT_INTERFACE_INTERNAL("a78_versa", A78_ROM_VERSABOARD)
+ SLOT_INTERFACE_INTERNAL("a78_xboard", A78_XBOARD) // the actual XBoarD expansion (as passthru)
+ SLOT_INTERFACE_INTERNAL("a78_xm", A78_XM) // the actual XM expansion (as passthru)
+ SLOT_INTERFACE_INTERNAL("a78_megacart", A78_ROM_MEGACART)
+ SLOT_INTERFACE_INTERNAL("a78_versa", A78_ROM_VERSABOARD)
// cart variants with a POKEY at 0x0450 (typically a VersaBoard variant, or an homebrew pcb)
SLOT_INTERFACE_INTERNAL("a78_p450_t0", A78_ROM_P450)
SLOT_INTERFACE_INTERNAL("a78_p450_t1", A78_ROM_P450_POKEY)
diff --git a/src/emu/bus/a7800/a78_slot.c b/src/emu/bus/a7800/a78_slot.c
index 9deac1afdd4..d1d6130ba26 100644
--- a/src/emu/bus/a7800/a78_slot.c
+++ b/src/emu/bus/a7800/a78_slot.c
@@ -21,7 +21,7 @@
- read_40xx/write_40xx for accesses in the $4000 to $ffff range
even if not all carts use all of them (in particular no cart type
seems to use access to the ranges $0500 to $0fff and $2800 to $2fff)
-
+
***********************************************************************************************************/
@@ -70,15 +70,15 @@ void device_a78_cart_interface::rom_alloc(UINT32 size, const char *tag)
tempstring.cat(A78SLOT_ROM_REGION_TAG);
m_rom = device().machine().memory().region_alloc(tempstring, size, 1, ENDIANNESS_LITTLE)->base();
m_rom_size = size;
-
+
// setup other helpers
if ((size / 0x4000) & 1) // compensate for SuperGame carts with 9 x 16K banks (to my knowledge no other cart has m_bank_mask != power of 2)
m_bank_mask = (size / 0x4000) - 2;
else
m_bank_mask = (size / 0x4000) - 1;
-
+
// the rom is mapped to the top of the memory area
- // so we store the starting point of data to simplify
+ // so we store the starting point of data to simplify
// the access handling
m_base_rom = 0x10000 - size;
}
@@ -272,7 +272,7 @@ int a78_cart_slot_device::validate_header(int head, bool log)
}
head &= 0xff00;
}
-
+
if ((head & 0xff00) > 0x300)
{
if (log)
@@ -282,7 +282,7 @@ int a78_cart_slot_device::validate_header(int head, bool log)
}
head &= 0x00ff;
}
-
+
return head;
}
@@ -329,7 +329,7 @@ static int a78_get_pcb_id(const char *slot)
if (!core_stricmp(slot_list[i].slot_option, slot))
return slot_list[i].pcb_id;
}
-
+
return 0;
}
@@ -340,7 +340,7 @@ static const char *a78_get_slot(int type)
if (slot_list[i].pcb_id == type)
return slot_list[i].slot_option;
}
-
+
return "a78_rom";
}
@@ -349,17 +349,17 @@ bool a78_cart_slot_device::call_load()
if (m_cart)
{
UINT32 len;
-
+
if (software_entry() != NULL)
{
const char *pcb_name;
bool has_ram = get_software_region("ram") ? TRUE : FALSE;
bool has_nvram = get_software_region("nvram") ? TRUE : FALSE;
len = get_software_region_length("rom");
-
+
m_cart->rom_alloc(len, tag());
memcpy(m_cart->get_rom_base(), get_software_region("rom"), len);
-
+
if ((pcb_name = get_feature("slot")) != NULL)
m_type = a78_get_pcb_id(pcb_name);
else
@@ -377,19 +377,19 @@ bool a78_cart_slot_device::call_load()
{
// Load and check the header
int mapper;
- char head[128];
+ char head[128];
fread(head, 128);
-
+
if (verify_header((char *)head) == IMAGE_VERIFY_FAIL)
return IMAGE_INIT_FAIL;
-
+
len = (head[49] << 24) | (head[50] << 16) | (head[51] << 8) | head[52];
if (len + 128 > length())
{
logerror("Invalid length in the header. The game might be corrupted.\n");
len = length() - 128;
}
-
+
// let's try to auto-fix some common errors in the header
mapper = validate_header((head[53] << 8) | head[54], TRUE);
@@ -415,7 +415,7 @@ bool a78_cart_slot_device::call_load()
m_type = A78_VERSABOARD;
break;
}
-
+
// check if cart has a POKEY at $0450 (typically a VersaBoard variant)!
if (mapper & 0x40)
{
@@ -425,7 +425,7 @@ bool a78_cart_slot_device::call_load()
m_type += A78_POKEY0450;
}
}
-
+
// check special bits, which override the previous
if ((mapper & 0xff00) == 0x0100)
m_type = A78_ACTIVISION;
@@ -452,10 +452,10 @@ bool a78_cart_slot_device::call_load()
}
internal_header_logging((UINT8 *)head, length());
-
+
m_cart->rom_alloc(len, tag());
fread(m_cart->get_rom_base(), len);
-
+
if (m_type == A78_TYPE6)
m_cart->ram_alloc(0x4000);
if (m_type == A78_MEGACART || (m_type >= A78_VERSABOARD && m_type <= A78_VERSA_POK450))
@@ -468,7 +468,7 @@ bool a78_cart_slot_device::call_load()
battery_load(m_cart->get_nvram_base(), 0x800, 0xff);
}
}
-
+
//printf("Type: %s\n", a78_get_slot(m_type));
}
return IMAGE_INIT_PASS;
@@ -476,7 +476,7 @@ bool a78_cart_slot_device::call_load()
void a78_partialhash(hash_collection &dest, const unsigned char *data,
- unsigned long length, const char *functions)
+ unsigned long length, const char *functions)
{
if (length <= 128)
return;
@@ -537,13 +537,13 @@ void a78_cart_slot_device::get_default_card_software(astring &result)
const char *slot_string = "a78_rom";
dynamic_buffer head(128);
int type = A78_TYPE0, mapper;
-
+
// Load and check the header
- core_fread(m_file, head, 128);
+ core_fread(m_file, head, 128);
// let's try to auto-fix some common errors in the header
mapper = validate_header((head[53] << 8) | head[54], FALSE);
-
+
switch (mapper & 0x2e)
{
case 0x0000:
@@ -566,7 +566,7 @@ void a78_cart_slot_device::get_default_card_software(astring &result)
type = A78_VERSABOARD;
break;
}
-
+
// check if cart has a POKEY at $0450 (typically a VersaBoard variant)!
if (mapper & 0x40)
{
@@ -576,18 +576,18 @@ void a78_cart_slot_device::get_default_card_software(astring &result)
type += A78_POKEY0450;
}
}
-
+
// check special bits, which override the previous
if ((mapper & 0xff00) == 0x0100)
type = A78_ACTIVISION;
else if ((mapper & 0xff00) == 0x0200)
type = A78_ABSOLUTE;
-
+
logerror("Cart type: %x\n", type);
slot_string = a78_get_slot(type);
-
+
clear();
-
+
result.cpy(slot_string);
}
else
@@ -663,9 +663,9 @@ WRITE8_MEMBER(a78_cart_slot_device::write_40xx)
/*-------------------------------------------------
A78 header logging
-
+
A78 HEADER FORMAT
-
+
Bytes | Content | Length
========================================
0 | Header version | 1 byte
@@ -679,7 +679,7 @@ WRITE8_MEMBER(a78_cart_slot_device::write_40xx)
53..54 | Cart type [*] | 2 bytes
-------|-------------------|------------
55 | Controller 1 type | 1 byte
- | |
+ | |
| 0 = None |
| 1 = Joystick |
| 2 = Light Gun |
@@ -690,23 +690,23 @@ WRITE8_MEMBER(a78_cart_slot_device::write_40xx)
-------|-------------------|------------
57 | TV System | 1 byte
| |
- | 0 = NTSC/1 = PAL |
+ | 0 = NTSC/1 = PAL |
-------|-------------------|------------
58 | Save data | 1 byte
| | (only v2)
| 0 = None / Unk |
| 1 = High Score |
| 2 = Savekey |
- -------|-------------------|-----------
+ -------|-------------------|-----------
63 | Expansion module | 1 byte
| |
| 0 = No expansion |
| module |
| 1 = Expansion |
| required |
- -------|-------------------|-----------
-
-
+ -------|-------------------|-----------
+
+
[*] Cart type:
bit 0-7 - Hardware "flags"
@@ -716,13 +716,13 @@ WRITE8_MEMBER(a78_cart_slot_device::write_40xx)
bit 3 [0x08] - bank 0 of 144K ROM at $4000
bit 4 [0x10] - bank 6 at $4000
bit 5 [0x20] - banked RAM at $4000
-
+
bit 8-15 - Special values
0 = Normal cart
1 = Absolute (F18 Hornet)
2 = Activision (Double Dragon & Rampage)
3 = POKEY at $0450
-
+
-------------------------------------------------*/
void a78_cart_slot_device::internal_header_logging(UINT8 *header, UINT32 len)
@@ -788,7 +788,7 @@ void a78_cart_slot_device::internal_header_logging(UINT8 *header, UINT32 len)
ctrl1.cpy("Unknown controller");
break;
}
-
+
switch (head_ctrl2)
{
case 0x00:
@@ -804,10 +804,10 @@ void a78_cart_slot_device::internal_header_logging(UINT8 *header, UINT32 len)
ctrl2.cpy("Unknown controller");
break;
}
-
+
logerror( "ROM DETAILS\n" );
logerror( "===========\n\n" );
- logerror( "\tTotal length (with header): 0x%x (%dK + 128b header)\n\n", len, len/0x400);
+ logerror( "\tTotal length (with header): 0x%x (%dK + 128b header)\n\n", len, len/0x400);
logerror( "HEADER DETAILS\n" );
logerror( "==============\n\n" );
logerror( "\tTitle: %.32s\n", head_title);
@@ -829,5 +829,5 @@ void a78_cart_slot_device::internal_header_logging(UINT8 *header, UINT32 len)
logerror( "\n");
logerror( "\tController 1: 0x%.2X [%s]\n", head_ctrl1, ctrl1.cstr());
logerror( "\tController 2: 0x%.2X [%s]\n", head_ctrl2, ctrl2.cstr());
- logerror( "\tVideo: %s\n", (head_ispal) ? "PAL" : "NTSC");
+ logerror( "\tVideo: %s\n", (head_ispal) ? "PAL" : "NTSC");
}
diff --git a/src/emu/bus/a7800/a78_slot.h b/src/emu/bus/a7800/a78_slot.h
index b9c7e935d40..528c8932c04 100644
--- a/src/emu/bus/a7800/a78_slot.h
+++ b/src/emu/bus/a7800/a78_slot.h
@@ -12,19 +12,19 @@
/* PCB */
enum
{
- A78_TYPE0 = 0, // standard 8K/16K/32K games, no bankswitch
- A78_TYPE1, // as TYPE0 + POKEY chip on the PCB
- A78_TYPE2, // Atari SuperGame pcb (8x16K banks with bankswitch)
- A78_TYPE3, // as TYPE1 + POKEY chip on the PCB
- A78_TYPE6, // as TYPE1 + RAM IC on the PCB
- A78_TYPEA, // Alien Brigade, Crossbow (9x16K banks with diff bankswitch)
- A78_ABSOLUTE, // F18 Hornet
- A78_ACTIVISION, // Double Dragon, Rampage
- A78_HSC, // Atari HighScore cart
- A78_XB_BOARD, // A7800 Expansion Board (it shall more or less apply to the Expansion Module too, but this is not officially released yet)
- A78_XM_BOARD, // A7800 XM Expansion Module (theoretical specs only, since this is not officially released yet)
- A78_MEGACART, // Homebrew by CPUWIZ, consists of SuperGame bank up to 512K + 32K RAM banked
- A78_VERSABOARD = 0x10, // Homebrew by CPUWIZ, consists of SuperGame bank up to 256K + 32K RAM banked
+ A78_TYPE0 = 0, // standard 8K/16K/32K games, no bankswitch
+ A78_TYPE1, // as TYPE0 + POKEY chip on the PCB
+ A78_TYPE2, // Atari SuperGame pcb (8x16K banks with bankswitch)
+ A78_TYPE3, // as TYPE1 + POKEY chip on the PCB
+ A78_TYPE6, // as TYPE1 + RAM IC on the PCB
+ A78_TYPEA, // Alien Brigade, Crossbow (9x16K banks with diff bankswitch)
+ A78_ABSOLUTE, // F18 Hornet
+ A78_ACTIVISION, // Double Dragon, Rampage
+ A78_HSC, // Atari HighScore cart
+ A78_XB_BOARD, // A7800 Expansion Board (it shall more or less apply to the Expansion Module too, but this is not officially released yet)
+ A78_XM_BOARD, // A7800 XM Expansion Module (theoretical specs only, since this is not officially released yet)
+ A78_MEGACART, // Homebrew by CPUWIZ, consists of SuperGame bank up to 512K + 32K RAM banked
+ A78_VERSABOARD = 0x10, // Homebrew by CPUWIZ, consists of SuperGame bank up to 256K + 32K RAM banked
// VersaBoard variants configured as Type 1/3/A or VersaBoard + POKEY at $0450
A78_TYPE0_POK450 = 0x20,
A78_TYPE1_POK450 = 0x21,
@@ -68,7 +68,7 @@ protected:
UINT8 *m_rom;
UINT32 m_rom_size;
dynamic_buffer m_ram;
- dynamic_buffer m_nvram; // HiScore cart can save scores!
+ dynamic_buffer m_nvram; // HiScore cart can save scores!
// helpers
UINT32 m_base_rom;
int m_bank_mask;
@@ -101,7 +101,7 @@ public:
int get_cart_type() { return m_type; };
int identify_cart_type(UINT8 *ROM, UINT32 len);
bool has_cart() { return m_cart != NULL; }
-
+
virtual iodevice_t image_type() const { return IO_CARTSLOT; }
virtual bool is_readable() const { return 1; }
virtual bool is_writeable() const { return 0; }
@@ -125,7 +125,7 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_10xx);
virtual DECLARE_WRITE8_MEMBER(write_30xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
private:
device_a78_cart_interface* m_cart;
int m_type;
diff --git a/src/emu/bus/a7800/cpuwiz.c b/src/emu/bus/a7800/cpuwiz.c
index c5d6ef74532..f25580a1c08 100644
--- a/src/emu/bus/a7800/cpuwiz.c
+++ b/src/emu/bus/a7800/cpuwiz.c
@@ -3,26 +3,26 @@
/***********************************************************************************************************
A7800 CPUWIZ's homebrew boards (MegaCart+ and VersaBoard)
-
+
Here we emulate the base configurations of these two boards:
MegaCart+ = up to 512K (31 banks at $8000, 1 at $C000) of ROM and 2 x 16K RAM @ $4000
VersaBoard = up to 256K of ROM and 2 x 16K RAM
-
- Plus, for the moment, a VersaBoard with POKEY mapped at 0x0450 and support for 144K ROM,
- since a few demo homebrew programs seems to use this to combine compatibility with
+
+ Plus, for the moment, a VersaBoard with POKEY mapped at 0x0450 and support for 144K ROM,
+ since a few demo homebrew programs seems to use this to combine compatibility with
XBoarD & XM expansions
Note that the VersaBoard can be configured to work with different banking hardware
e.g. with SG 9bank games or with SG + RAM (so to allow reproduction of games which
- could have worked on old carts without sacrifying original carts), but games running
+ could have worked on old carts without sacrifying original carts), but games running
on those "standard" variants can be emulated with the standard code from rom.c ;-)
-
-
+
+
TO DO:
- investigate whether the POKEY detection routines in homebrew do fail due to emulation
issues or not
-
+
***********************************************************************************************************/
@@ -86,7 +86,7 @@ READ8_MEMBER(a78_versaboard_device::read_40xx)
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
- return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
+ return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
}
WRITE8_MEMBER(a78_versaboard_device::write_40xx)
@@ -130,5 +130,3 @@ machine_config_constructor a78_rom_p450_vb_device::device_mconfig_additions() co
{
return MACHINE_CONFIG_NAME( a78_pokeyvb );
}
-
-
diff --git a/src/emu/bus/a7800/cpuwiz.h b/src/emu/bus/a7800/cpuwiz.h
index ab019433b70..193ba336b96 100644
--- a/src/emu/bus/a7800/cpuwiz.h
+++ b/src/emu/bus/a7800/cpuwiz.h
@@ -15,15 +15,15 @@ public:
// construction/destruction
a78_versaboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_versaboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
protected:
int m_ram_bank;
};
@@ -36,7 +36,7 @@ class a78_megacart_device : public a78_versaboard_device
public:
// construction/destruction
a78_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// reading and writing
virtual DECLARE_WRITE8_MEMBER(write_40xx);
};
@@ -51,14 +51,14 @@ class a78_rom_p450_vb_device : public a78_versaboard_device
public:
// construction/destruction
a78_rom_p450_vb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
-
+
protected:
required_device<pokey_device> m_pokey450;
};
diff --git a/src/emu/bus/a7800/hiscore.c b/src/emu/bus/a7800/hiscore.c
index 2e941af9fbd..c51d1c26b74 100644
--- a/src/emu/bus/a7800/hiscore.c
+++ b/src/emu/bus/a7800/hiscore.c
@@ -3,7 +3,7 @@
/***********************************************************************************************************
A7800 HighScore passthrough cart emulation
-
+
***********************************************************************************************************/
@@ -75,4 +75,3 @@ WRITE8_MEMBER(a78_hiscore_device::write_40xx)
{
m_hscslot->write_40xx(space, offset, data);
}
-
diff --git a/src/emu/bus/a7800/hiscore.h b/src/emu/bus/a7800/hiscore.h
index d848becfea7..d1750c77486 100644
--- a/src/emu/bus/a7800/hiscore.h
+++ b/src/emu/bus/a7800/hiscore.h
@@ -14,10 +14,10 @@ class a78_hiscore_device : public a78_rom_device
public:
// construction/destruction
a78_hiscore_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx);
virtual DECLARE_WRITE8_MEMBER(write_04xx);
diff --git a/src/emu/bus/a7800/rom.c b/src/emu/bus/a7800/rom.c
index 508c9cc895b..d2bfc5d78a4 100644
--- a/src/emu/bus/a7800/rom.c
+++ b/src/emu/bus/a7800/rom.c
@@ -10,7 +10,7 @@
- 9 banks or not
etc...
But we might merge many of these if they become too many
-
+
TODO:
- Are POKEY regs readable somewhere in SG 144K + POKEY homebrew? How do they detect
the POKEY otherwise?!?
@@ -232,11 +232,11 @@ READ8_MEMBER(a78_rom_device::read_40xx)
/*-------------------------------------------------
Carts with no bankswitch + POKEY chip
- The Pokey chips is accessed by writing at
+ The Pokey chips is accessed by writing at
0x4000-0x7fff.
-
+
GAMES: Ballblazer, Beef Drop (homebrew)
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_pokey_device::read_40xx)
@@ -274,19 +274,19 @@ machine_config_constructor a78_rom_pokey_device::device_mconfig_additions() cons
some test is run)
Note that the code is written so that also
homebrew games with larger ROMs work!
-
+
GAMES: Crack'd, Fatal Run, Ikari Warriors...
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_sg_device::read_40xx)
{
if (offset < 0x4000)
- return m_rom[(offset & 0x3fff) + ((m_bank_mask - 1) * 0x4000)]; // second to last bank (is this always ok?!?)
+ return m_rom[(offset & 0x3fff) + ((m_bank_mask - 1) * 0x4000)]; // second to last bank (is this always ok?!?)
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
- return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
+ return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
}
WRITE8_MEMBER(a78_rom_sg_device::write_40xx)
@@ -300,9 +300,9 @@ WRITE8_MEMBER(a78_rom_sg_device::write_40xx)
Carts with SuperGame bankswitch + POKEY chip
As above + Pokey chip access
-
+
GAMES: Commando
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_sg_pokey_device::read_40xx)
@@ -312,7 +312,7 @@ READ8_MEMBER(a78_rom_sg_pokey_device::read_40xx)
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
- return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
+ return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
}
WRITE8_MEMBER(a78_rom_sg_pokey_device::write_40xx)
@@ -332,12 +332,12 @@ machine_config_constructor a78_rom_sg_pokey_device::device_mconfig_additions() c
/*-------------------------------------------------
Carts with SuperGame bankswitch + 16K RAM
- FIXME: Some games contained only 8K of RAM, but
+ FIXME: Some games contained only 8K of RAM, but
for the moment we treat all as 16K of RAM even if
from softlist we shall differentiate between them.
-
+
GAMES: Impossible Mission, Jinks and some protos
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_sg_ram_device::read_40xx)
@@ -347,7 +347,7 @@ READ8_MEMBER(a78_rom_sg_ram_device::read_40xx)
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
- return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
+ return m_rom[(offset & 0x3fff) + (m_bank_mask * 0x4000)]; // last bank
}
WRITE8_MEMBER(a78_rom_sg_ram_device::write_40xx)
@@ -364,11 +364,11 @@ WRITE8_MEMBER(a78_rom_sg_ram_device::write_40xx)
Carts with SuperGame bankswitch 9banks:
9 x 16K banks mappable in 0x8000-0xbfff
bank 7 is always mapped in 0xc000-0xffff
-
- GAMES: Alien Brigade & Crossbow + some homebrew
- like Donkey Kong XM demo, Bentley Bear's Crystal
+
+ GAMES: Alien Brigade & Crossbow + some homebrew
+ like Donkey Kong XM demo, Bentley Bear's Crystal
Quest
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_sg9_device::read_40xx)
@@ -378,7 +378,7 @@ READ8_MEMBER(a78_rom_sg9_device::read_40xx)
else if (offset < 0x8000)
return m_rom[(offset & 0x3fff) + (m_bank * 0x4000)];
else
- return m_rom[(offset & 0x3fff) + ((m_bank_mask + 1) * 0x4000)]; // last bank
+ return m_rom[(offset & 0x3fff) + ((m_bank_mask + 1) * 0x4000)]; // last bank
}
WRITE8_MEMBER(a78_rom_sg9_device::write_40xx)
@@ -388,14 +388,14 @@ WRITE8_MEMBER(a78_rom_sg9_device::write_40xx)
}
/*-------------------------------------------------
-
+
Carts with Absolute bankswitch:
64K games. Lower 32K are 2 banks of 16K to be mapped
in 0x4000-0x7fff, depending on the value written
at 0x8000. Higher 32K are fixed in 0x8000-0xffff
-
+
GAMES: F-18 Hornet
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_abs_device::read_40xx)
@@ -431,9 +431,9 @@ WRITE8_MEMBER(a78_rom_abs_device::write_40xx)
0x6000-0x7fff first 8kb of bank 6
0x8000-0x9fff second 8kb of bank 7
0xe000-0xffff first 8kb of bank 7
-
+
GAMES: Double Dragon, Rampage.
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_rom_act_device::read_40xx)
@@ -495,4 +495,3 @@ machine_config_constructor a78_rom_p450_sg9_device::device_mconfig_additions() c
{
return MACHINE_CONFIG_NAME( a78_pokey450 );
}
-
diff --git a/src/emu/bus/a7800/rom.h b/src/emu/bus/a7800/rom.h
index 425513d02d7..16f31360a74 100644
--- a/src/emu/bus/a7800/rom.h
+++ b/src/emu/bus/a7800/rom.h
@@ -34,14 +34,14 @@ public:
// construction/destruction
a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_rom_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
protected:
required_device<pokey_device> m_pokey;
};
@@ -55,11 +55,11 @@ public:
// construction/destruction
a78_rom_sg_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_rom_sg_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
@@ -76,14 +76,14 @@ class a78_rom_sg_pokey_device : public a78_rom_sg_device
public:
// construction/destruction
a78_rom_sg_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
protected:
required_device<pokey_device> m_pokey;
};
@@ -97,7 +97,7 @@ public:
// construction/destruction
a78_rom_sg_ram_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_rom_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
@@ -112,7 +112,7 @@ public:
// construction/destruction
a78_rom_sg9_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_rom_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
@@ -126,15 +126,15 @@ class a78_rom_abs_device : public a78_rom_device
public:
// construction/destruction
a78_rom_abs_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
protected:
int m_bank;
};
@@ -147,15 +147,15 @@ class a78_rom_act_device : public a78_rom_device
public:
// construction/destruction
a78_rom_act_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx);
virtual DECLARE_WRITE8_MEMBER(write_40xx);
-
+
protected:
int m_bank;
};
@@ -170,13 +170,13 @@ class a78_rom_p450_device : public a78_rom_device
public:
// construction/destruction
a78_rom_p450_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
-
+
protected:
required_device<pokey_device> m_pokey450;
};
@@ -189,13 +189,13 @@ class a78_rom_p450_pokey_device : public a78_rom_pokey_device
public:
// construction/destruction
a78_rom_p450_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
-
+
protected:
required_device<pokey_device> m_pokey450;
};
@@ -208,13 +208,13 @@ class a78_rom_p450_sg_ram_device : public a78_rom_sg_ram_device
public:
// construction/destruction
a78_rom_p450_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
virtual machine_config_constructor device_mconfig_additions() const;
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
-
+
protected:
required_device<pokey_device> m_pokey450;
};
@@ -227,13 +227,13 @@ class a78_rom_p450_sg9_device : public a78_rom_sg9_device
public:
// construction/destruction
a78_rom_p450_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
virtual machine_config_constructor device_mconfig_additions() const;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
-
+
protected:
required_device<pokey_device> m_pokey450;
};
diff --git a/src/emu/bus/a7800/xboard.c b/src/emu/bus/a7800/xboard.c
index 66c89d3d05c..4a7d3742f1b 100644
--- a/src/emu/bus/a7800/xboard.c
+++ b/src/emu/bus/a7800/xboard.c
@@ -3,7 +3,7 @@
/***********************************************************************************************************
A7800 XBoarD & XM expansions emulation
-
+
The XBoarD should be socketed in the A7800 pcb in place of the Maria chip.
It adds to the system additional 128K of RAM and an onboard pokey.
The XM seems to work the same as XBoarD, but it also features HighScore savings
@@ -12,31 +12,31 @@
Currently, we emulate both of these as a passthru cart, even if not 100% accurate for the XBoarD
-
+
Memory map:
POKEY1 $0450 $045F 16 bytes
POKEY2* $0460 $046F 16 bytes
XCTRL $0470 $047F 1 byte
RAM $4000 $7FFF 16384 bytes
-
+
XCTRL Bit Description
-
+
+-------------------------------+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+-------------------------------+
| | | | | | | |
| | | | | | | +-- Bank select bit 0 \
| | | | | | +------ Bank select bit 1 | Totally 128 KByte in 16 KByte banks
- | | | | | +---------- Bank select bit 2 /
+ | | | | | +---------- Bank select bit 2 /
| | | | +-------------- Enable memory bit (1 = Memory enabled, 0 after power on)
| | | +------------------ Enable POKEY bit** (1 = POKEY enabled, 0 after power on)
| | |
NA NA NA = Not Available or Not Used
-
+
* = Can be mounted piggy back on the first POKEY. Description how to do this will come when i have tried it out.
** This bit controls both POKEY chip select signals.
-
+
TODO:
- verify what happens when 2 POKEYs are present
@@ -142,9 +142,9 @@ machine_config_constructor a78_xm_device::device_mconfig_additions() const
-------------------------------------------------*/
/*-------------------------------------------------
-
+
XBoarD: passthru + 128K RAM + POKEY
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_xboard_device::read_40xx)
@@ -168,7 +168,7 @@ READ8_MEMBER(a78_xboard_device::read_04xx)
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
return m_pokey->read(space, offset & 0x0f);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
- return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
+ return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
else
return 0xff;
}
@@ -178,7 +178,7 @@ WRITE8_MEMBER(a78_xboard_device::write_04xx)
if (BIT(m_reg, 4) && offset >= 0x50 && offset < 0x60)
m_pokey->write(space, offset & 0x0f, data);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
- m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
+ m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
else if (offset >= 0x70 && offset < 0x80)
{
m_reg = data;
@@ -188,9 +188,9 @@ WRITE8_MEMBER(a78_xboard_device::write_04xx)
/*-------------------------------------------------
-
+
XM: Same as above but also featuring High Score savings
-
+
-------------------------------------------------*/
READ8_MEMBER(a78_xm_device::read_10xx)
@@ -215,7 +215,7 @@ READ8_MEMBER(a78_xm_device::read_04xx)
else if (m_ym_enabled && offset >= 0x60 && offset <= 0x61)
return m_ym->read(space, offset & 1);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
- return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
+ return m_xbslot->read_04xx(space, offset - 0x10); // access second POKEY
else
return 0xff;
}
@@ -227,7 +227,7 @@ WRITE8_MEMBER(a78_xm_device::write_04xx)
else if (m_ym_enabled && offset >= 0x60 && offset <= 0x61)
m_ym->write(space, offset & 1, data);
else if (BIT(m_reg, 4) && offset >= 0x60 && offset < 0x70)
- m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
+ m_xbslot->write_04xx(space, offset - 0x10, data); // access second POKEY
else if (offset >= 0x70 && offset < 0x80)
{
//printf("regs 0x%X\n", data);
diff --git a/src/emu/bus/a7800/xboard.h b/src/emu/bus/a7800/xboard.h
index 2eb63462b47..0e5e7f26cf0 100644
--- a/src/emu/bus/a7800/xboard.h
+++ b/src/emu/bus/a7800/xboard.h
@@ -17,12 +17,12 @@ public:
// construction/destruction
a78_xboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
a78_xboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual machine_config_constructor device_mconfig_additions() const;
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx);
virtual DECLARE_WRITE8_MEMBER(write_04xx);
@@ -43,19 +43,19 @@ class a78_xm_device : public a78_xboard_device
public:
// construction/destruction
a78_xm_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual machine_config_constructor device_mconfig_additions() const;
virtual void device_reset();
-
+
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx);
virtual DECLARE_WRITE8_MEMBER(write_04xx);
virtual DECLARE_READ8_MEMBER(read_10xx);
virtual DECLARE_WRITE8_MEMBER(write_10xx);
virtual DECLARE_READ8_MEMBER(read_30xx);
-
+
protected:
required_device<ym2151_device> m_ym;
int m_ym_enabled;
diff --git a/src/emu/bus/a800/a800_carts.h b/src/emu/bus/a800/a800_carts.h
index 8a67ef656a0..eb28c9c3b2c 100644
--- a/src/emu/bus/a800/a800_carts.h
+++ b/src/emu/bus/a800/a800_carts.h
@@ -14,7 +14,7 @@ static SLOT_INTERFACE_START(a800_left)
SLOT_INTERFACE_INTERNAL("a800_8k", A800_ROM)
SLOT_INTERFACE_INTERNAL("a800_8k_right", A800_ROM)
SLOT_INTERFACE_INTERNAL("a800_16k", A800_ROM)
- SLOT_INTERFACE_INTERNAL("a800_phoenix", A800_ROM) // not really emulated at this stage
+ SLOT_INTERFACE_INTERNAL("a800_phoenix", A800_ROM) // not really emulated at this stage
SLOT_INTERFACE_INTERNAL("a800_bbsb", A800_ROM_BBSB)
SLOT_INTERFACE_INTERNAL("a800_oss8k", A800_ROM_OSS8K)
SLOT_INTERFACE_INTERNAL("a800_oss034m", A800_ROM_OSS34)
@@ -23,13 +23,13 @@ static SLOT_INTERFACE_START(a800_left)
SLOT_INTERFACE_INTERNAL("a800_williams", A800_ROM_WILLIAMS)
SLOT_INTERFACE_INTERNAL("a800_diamond", A800_ROM_EXPRESS)
SLOT_INTERFACE_INTERNAL("a800_express", A800_ROM_EXPRESS)
- SLOT_INTERFACE_INTERNAL("a800_sparta", A800_ROM_SPARTADOS) // this is a passthru cart with unemulated (atm) subslot
+ SLOT_INTERFACE_INTERNAL("a800_sparta", A800_ROM_SPARTADOS) // this is a passthru cart with unemulated (atm) subslot
SLOT_INTERFACE_INTERNAL("a800_blizzard", A800_ROM)
SLOT_INTERFACE_INTERNAL("a800_turbo64", A800_ROM_TURBO)
SLOT_INTERFACE_INTERNAL("a800_turbo128", A800_ROM_TURBO)
SLOT_INTERFACE_INTERNAL("a800_tlink2", A800_ROM_TELELINK2)
SLOT_INTERFACE_INTERNAL("a800_sitsa", A800_ROM_MICROCALC)
- SLOT_INTERFACE_INTERNAL("a800_corina", A800_ROM) // NOT SUPPORTED YET!
+ SLOT_INTERFACE_INTERNAL("a800_corina", A800_ROM) // NOT SUPPORTED YET!
SLOT_INTERFACE_INTERNAL("xegs", XEGS_ROM)
SLOT_INTERFACE_END
diff --git a/src/emu/bus/a800/a800_slot.c b/src/emu/bus/a800/a800_slot.c
index 0a86342247f..e6d06c936e6 100644
--- a/src/emu/bus/a800/a800_slot.c
+++ b/src/emu/bus/a800/a800_slot.c
@@ -6,12 +6,12 @@
Atari 8 bit cart emulation
(through slot devices)
- Emulation of the cartslot(s) for Atari 8bit series of home computers
-
+ Emulation of the cartslot(s) for Atari 8bit series of home computers
+
Accessors to ROM are typically given in the area 0xa000-0xbfff, but some
carts (and the right slot in A800) maps ROM to 0x8000-0x9fff too
Bankswitch typically happens by accessing addresses in 0xd500-0xd5ff
-
+
Accordingly, this device offers the following handlers
- read_80xx/write_80xx
- read_d5xx/write_d5xx
@@ -67,9 +67,9 @@ void device_a800_cart_interface::rom_alloc(UINT32 size, const char *tag)
tempstring.cat(A800SLOT_ROM_REGION_TAG);
m_rom = device().machine().memory().region_alloc(tempstring, size, 1, ENDIANNESS_LITTLE)->base();
m_rom_size = size;
-
+
// setup other helpers
- m_bank_mask = (size / 0x2000) - 1; // code for XEGS carts makes use of this to simplify banking
+ m_bank_mask = (size / 0x2000) - 1; // code for XEGS carts makes use of this to simplify banking
}
}
@@ -243,15 +243,15 @@ bool a800_cart_slot_device::call_load()
if (m_cart)
{
UINT32 len;
-
+
if (software_entry() != NULL)
{
const char *pcb_name;
len = get_software_region_length("rom");
-
+
m_cart->rom_alloc(len, tag());
memcpy(m_cart->get_rom_base(), get_software_region("rom"), len);
-
+
if ((pcb_name = get_feature("slot")) != NULL)
m_type = a800_get_pcb_id(pcb_name);
else
@@ -267,9 +267,9 @@ bool a800_cart_slot_device::call_load()
UINT8 header[16];
fread(header, 0x10);
m_type = identify_cart_type(header);
- len -= 0x10; // in identify_cart_type the first 0x10 bytes are read, so we need to adjust here
+ len -= 0x10; // in identify_cart_type the first 0x10 bytes are read, so we need to adjust here
}
- else // otherwise try to guess based on size
+ else // otherwise try to guess based on size
{
if (len == 0x8000)
m_type = A5200_32K;
@@ -323,7 +323,7 @@ int a800_cart_slot_device::identify_cart_type(UINT8 *header)
// check CART format
if (strncmp((const char *)header, "CART", 4))
fatalerror("Invalid header detected!\n");
-
+
switch ((header[4] << 24) + (header[5] << 16) + (header[6] << 8) + (header[7] << 0))
{
case 1:
@@ -400,7 +400,7 @@ int a800_cart_slot_device::identify_cart_type(UINT8 *header)
osd_printf_info("Cart type \"%d\" is currently unsupported.\n", (header[4] << 24) + (header[5] << 16) + (header[6] << 8) + (header[7] << 0));
break;
}
-
+
return type;
}
@@ -420,10 +420,10 @@ void a800_cart_slot_device::get_default_card_software(astring &result)
// check whether there is an header, to identify the cart type
if ((len % 0x1000) == 0x10)
{
- core_fread(m_file, head, 0x10);
+ core_fread(m_file, head, 0x10);
type = identify_cart_type(head);
}
- else // otherwise try to guess based on size
+ else // otherwise try to guess based on size
{
if (len == 0x4000)
type = A800_16K;
@@ -435,9 +435,9 @@ void a800_cart_slot_device::get_default_card_software(astring &result)
osd_printf_info("This game is not designed for A800. You might want to run it in A5200.\n");
slot_string = a800_get_slot(type);
-
+
clear();
-
+
result.cpy(slot_string);
}
else
@@ -453,11 +453,11 @@ void a5200_cart_slot_device::get_default_card_software(astring &result)
dynamic_buffer head(0x10);
UINT32 len = core_fsize(m_file);
int type = A5200_8K;
-
+
// check whether there is an header, to identify the cart type
if ((len % 0x1000) == 0x10)
{
- core_fread(m_file, head, 0x10);
+ core_fread(m_file, head, 0x10);
type = identify_cart_type(head);
astring info;
@@ -466,11 +466,11 @@ void a5200_cart_slot_device::get_default_card_software(astring &result)
}
if (type < A5200_4K)
osd_printf_info("This game is not designed for A5200. You might want to run it in A800 or A800XL.\n");
-
+
slot_string = a800_get_slot(type);
-
+
clear();
-
+
result.cpy(slot_string);
}
else
@@ -486,11 +486,11 @@ void xegs_cart_slot_device::get_default_card_software(astring &result)
dynamic_buffer head(0x10);
UINT32 len = core_fsize(m_file);
int type = A800_8K;
-
+
// check whether there is an header, to identify the cart type
if ((len % 0x1000) == 0x10)
{
- core_fread(m_file, head, 0x10);
+ core_fread(m_file, head, 0x10);
type = identify_cart_type(head);
}
if (type != A800_XEGS)
@@ -501,11 +501,11 @@ void xegs_cart_slot_device::get_default_card_software(astring &result)
else
osd_printf_info("You might want to run it in A800 or A800XL.\n");
}
-
+
slot_string = a800_get_slot(type);
-
+
clear();
-
+
result.cpy(slot_string);
}
else
@@ -549,4 +549,3 @@ WRITE8_MEMBER(a800_cart_slot_device::write_d5xx)
if (m_cart)
m_cart->write_d5xx(space, offset, data, mem_mask);
}
-
diff --git a/src/emu/bus/a800/a800_slot.h b/src/emu/bus/a800/a800_slot.h
index 536ed38da3e..b9e4f491d73 100644
--- a/src/emu/bus/a800/a800_slot.h
+++ b/src/emu/bus/a800/a800_slot.h
@@ -20,11 +20,11 @@ enum
A800_OSSM091,
A800_OSS8K,
A800_PHOENIX,
- A800_XEGS,
- A800_BBSB,
+ A800_XEGS,
+ A800_BBSB,
A800_DIAMOND,
A800_WILLIAMS,
- A800_EXPRESS,
+ A800_EXPRESS,
A800_SPARTADOS,
A800_BLIZZARD,
A800_TURBO64,
@@ -71,7 +71,7 @@ protected:
UINT8 *m_rom;
UINT32 m_rom_size;
dynamic_buffer m_ram;
- dynamic_buffer m_nvram; // HiScore cart can save scores!
+ dynamic_buffer m_nvram; // HiScore cart can save scores!
// helpers
int m_bank_mask;
};
@@ -101,7 +101,7 @@ public:
int get_cart_type() { return m_type; };
int identify_cart_type(UINT8 *header);
bool has_cart() { return m_cart != NULL; }
-
+
virtual iodevice_t image_type() const { return IO_CARTSLOT; }
virtual bool is_readable() const { return 1; }
virtual bool is_writeable() const { return 0; }
@@ -120,7 +120,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_d5xx);
virtual DECLARE_WRITE8_MEMBER(write_80xx);
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
-
+
private:
device_a800_cart_interface* m_cart;
int m_type;
@@ -138,9 +138,9 @@ public:
// construction/destruction
a5200_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~a5200_cart_slot_device();
-
+
virtual const char *file_extensions() const { return "bin,rom,car,a52"; }
-
+
// slot interface overrides
virtual void get_default_card_software(astring &result);
};
@@ -155,7 +155,7 @@ public:
virtual ~xegs_cart_slot_device();
virtual const char *file_extensions() const { return "bin,rom,car"; }
-
+
// slot interface overrides
virtual void get_default_card_software(astring &result);
};
diff --git a/src/emu/bus/a800/oss.c b/src/emu/bus/a800/oss.c
index 1cf4d176d68..3df4f2b0ed4 100644
--- a/src/emu/bus/a800/oss.c
+++ b/src/emu/bus/a800/oss.c
@@ -95,11 +95,11 @@ void a800_rom_oss91_device::device_reset()
-------------------------------------------------*/
/*-------------------------------------------------
-
+
OSS 8K
-
+
This is used by The Writer's Tool only.
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_oss8k_device::read_80xx)
@@ -128,12 +128,12 @@ WRITE8_MEMBER(a800_rom_oss8k_device::write_d5xx)
/*-------------------------------------------------
-
+
OSS 034M
-
+
This apparently comes from a dump with the wrong bank order...
investigate whether we should remove it!
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_oss34_device::read_80xx)
@@ -156,7 +156,7 @@ WRITE8_MEMBER(a800_rom_oss34_device::write_d5xx)
break;
case 2:
case 6:
- m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
+ m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
break;
case 3:
case 7:
@@ -173,11 +173,11 @@ WRITE8_MEMBER(a800_rom_oss34_device::write_d5xx)
/*-------------------------------------------------
-
+
OSS 043M
-
+
Same as above but with correct bank order
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_oss43_device::read_80xx)
@@ -200,7 +200,7 @@ WRITE8_MEMBER(a800_rom_oss43_device::write_d5xx)
break;
case 2:
case 6:
- m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
+ m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
break;
case 3:
case 7:
@@ -217,12 +217,12 @@ WRITE8_MEMBER(a800_rom_oss43_device::write_d5xx)
/*-------------------------------------------------
-
+
OSS M091
-
- Simplified banking system which only uses two
+
+ Simplified banking system which only uses two
address lines (A0 & A3)
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_oss91_device::read_80xx)
@@ -250,4 +250,3 @@ WRITE8_MEMBER(a800_rom_oss91_device::write_d5xx)
break;
}
}
-
diff --git a/src/emu/bus/a800/oss.h b/src/emu/bus/a800/oss.h
index 5aef80526df..ad772689277 100644
--- a/src/emu/bus/a800/oss.h
+++ b/src/emu/bus/a800/oss.h
@@ -13,14 +13,14 @@ class a800_rom_oss8k_device : public a800_rom_device
public:
// construction/destruction
a800_rom_oss8k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
virtual DECLARE_READ8_MEMBER(read_80xx);
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
-
+
protected:
int m_bank;
};
@@ -53,14 +53,14 @@ class a800_rom_oss43_device : public a800_rom_device
public:
// construction/destruction
a800_rom_oss43_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
-
+
virtual DECLARE_READ8_MEMBER(read_80xx);
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
-
+
protected:
int m_bank;
};
@@ -73,14 +73,14 @@ class a800_rom_oss91_device : public a800_rom_device
public:
// construction/destruction
a800_rom_oss91_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
-
+
// device-level overrides
virtual void device_start();
virtual void device_reset();
virtual DECLARE_READ8_MEMBER(read_80xx);
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
-
+
protected:
int m_bank;
};
diff --git a/src/emu/bus/a800/rom.c b/src/emu/bus/a800/rom.c
index b527c3b228d..ed11faa7d7b 100644
--- a/src/emu/bus/a800/rom.c
+++ b/src/emu/bus/a800/rom.c
@@ -3,7 +3,7 @@
/***********************************************************************************************************
A800/A5200/XEGS ROM cart emulation
-
+
Basic carts work the same (in addition of being mostly compatible) for all these systems
and thus we deal with them in a single file
@@ -196,7 +196,7 @@ void a5200_rom_bbsb_device::device_reset()
/*-------------------------------------------------
Carts with no bankswitch (8K, 16K)
-
+
The cart accessors are mapped in the correct
range at driver start
@@ -210,14 +210,14 @@ READ8_MEMBER(a800_rom_device::read_80xx)
/*-------------------------------------------------
-
+
Bounty Bob Strikes Back! cart (40K)
-
+
Area 0xa000-0xbfff always point to last 8K bank
- Areas 0x8000-0x8fff and 0x9000-0x9fff are
+ Areas 0x8000-0x8fff and 0x9000-0x9fff are
separate banks of 4K mapped either in the first
16K chunk or in the second 16K chunk
- Bankswitch is controlled by data written in
+ Bankswitch is controlled by data written in
0x8000-0x8fff and 0x9000-0x9fff respectively
-------------------------------------------------*/
@@ -240,12 +240,12 @@ WRITE8_MEMBER(a800_rom_bbsb_device::write_80xx)
}
/*-------------------------------------------------
-
+
XEGS carts (32K, 64K or 128K)
-
- Bankswitch is controlled by data written in
+
+ Bankswitch is controlled by data written in
0xd500-0xd5ff
-
+
-------------------------------------------------*/
READ8_MEMBER(xegs_rom_device::read_80xx)
@@ -253,8 +253,8 @@ READ8_MEMBER(xegs_rom_device::read_80xx)
if (offset < 0x2000)
return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
else
- return m_rom[(offset & 0x1fff) + (m_bank_mask * 0x2000)]; // always last 8K bank
-
+ return m_rom[(offset & 0x1fff) + (m_bank_mask * 0x2000)]; // always last 8K bank
+
}
WRITE8_MEMBER(xegs_rom_device::write_d5xx)
@@ -264,16 +264,16 @@ WRITE8_MEMBER(xegs_rom_device::write_d5xx)
/*-------------------------------------------------
-
+
Williams 64K
-
+
The rom is accessed in 8K chunks at 0xa000-0xbfff
Bankswitch is controlled by writing to 7 diff
- offsets (their location varies with the cart type):
- offs 0 points to bank 0, offs 1 points to bank 1,
- and so on... the rom can be disabled by writing to
+ offsets (their location varies with the cart type):
+ offs 0 points to bank 0, offs 1 points to bank 1,
+ and so on... the rom can be disabled by writing to
the offsets 0x8-0xf of the same range as the bankswitch
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_williams_device::read_80xx)
@@ -287,16 +287,16 @@ WRITE8_MEMBER(a800_rom_williams_device::write_d5xx)
}
/*-------------------------------------------------
-
+
Express 64K / Diamond 64K carts
-
+
The rom is accessed in 8K chunks at 0xa000-0xbfff
- Bankswitch is the same as above, but writes trigger
- banks in reverse order: offs 7 points to bank 0, offs 6
+ Bankswitch is the same as above, but writes trigger
+ banks in reverse order: offs 7 points to bank 0, offs 6
points to bank 1, and so on... the rom can be disabled
by writing to the offsets 0x8-0xf of the same range
as the bankswitch
-
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_express_device::read_80xx)
@@ -311,10 +311,10 @@ WRITE8_MEMBER(a800_rom_express_device::write_d5xx)
/*-------------------------------------------------
-
+
Turbosoft 64K / 128K
-
-
+
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_turbo_device::read_80xx)
@@ -329,10 +329,10 @@ WRITE8_MEMBER(a800_rom_turbo_device::write_d5xx)
/*-------------------------------------------------
-
+
Telelink II
-
-
+
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_telelink2_device::read_80xx)
@@ -347,7 +347,7 @@ READ8_MEMBER(a800_rom_telelink2_device::read_80xx)
WRITE8_MEMBER(a800_rom_telelink2_device::write_80xx)
{
- m_nvram[offset & 0xff] = data | 0xf0; // low 4bits only
+ m_nvram[offset & 0xff] = data | 0xf0; // low 4bits only
}
READ8_MEMBER(a800_rom_telelink2_device::read_d5xx)
@@ -364,10 +364,10 @@ WRITE8_MEMBER(a800_rom_telelink2_device::write_d5xx)
/*-------------------------------------------------
-
+
SITSA Microcalc
-
-
+
+
-------------------------------------------------*/
READ8_MEMBER(a800_rom_microcalc_device::read_80xx)
@@ -386,21 +386,21 @@ WRITE8_MEMBER(a800_rom_microcalc_device::write_d5xx)
/*-------------------------------------------------
-
+
Carts with no bankswitch (4K, 8K, 16K, 32K)
-
+
Same as base carts above
-
+
-------------------------------------------------*/
/*-------------------------------------------------
-
+
Carts with 2x8K (16K) with A13 line not connected
-
+
Range 0x4000-0x7fff contains two copies of the low
8K, range 0x8000-0xbfff contains two copies of the
high 8K
-
+
-------------------------------------------------*/
READ8_MEMBER(a5200_rom_2chips_device::read_80xx)
@@ -413,18 +413,18 @@ READ8_MEMBER(a5200_rom_2chips_device::read_80xx)
/*-------------------------------------------------
-
+
Bounty Bob Strikes Back! cart (40K)
-
+
Similar to the A800 version, but:
Area 0x8000-0xbfff always point to last 8K bank
(repeated twice)
- Areas 0x4000-0x4fff and 0x5000-0x5fff are
+ Areas 0x4000-0x4fff and 0x5000-0x5fff are
separate banks of 4K mapped either in the first
16K chunk or in the second 16K chunk
- Bankswitch is controlled by data written in
+ Bankswitch is controlled by data written in
0x4000-0x4fff and 0x5000-0x5fff respectively
-
+
-------------------------------------------------*/
READ8_MEMBER(a5200_rom_bbsb_device::read_80xx)
@@ -445,4 +445,3 @@ WRITE8_MEMBER(a5200_rom_bbsb_device::write_80xx)
if (addr >= 0xff6 && addr <= 0xff9)
m_banks[BIT(offset, 12)] = (addr - 0xff6);
}
-
diff --git a/src/emu/bus/a800/rom.h b/src/emu/bus/a800/rom.h
index 55bb728a94f..4c4ea9b30c2 100644
--- a/src/emu/bus/a800/rom.h
+++ b/src/emu/bus/a800/rom.h