diff options
29 files changed, 110 insertions, 120 deletions
diff --git a/android-project/app/src/main/AndroidManifest.xml b/android-project/app/src/main/AndroidManifest.xml index 542b3ddec0b..1feb29a11d8 100644 --- a/android-project/app/src/main/AndroidManifest.xml +++ b/android-project/app/src/main/AndroidManifest.xml @@ -4,8 +4,8 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.mamedev.mame" - android:versionCode="177" - android:versionName="0.177" + android:versionCode="178" + android:versionName="0.178" android:installLocation="auto"> <!-- Android 4.0 --> diff --git a/hash/a5200.xml b/hash/a5200.xml index a70f6fdbd7f..4b792819817 100644 --- a/hash/a5200.xml +++ b/hash/a5200.xml @@ -176,20 +176,20 @@ Possible Undumped protos: - </software> <!-- Barroom Baseball. This prototype is for an standup arcade environment involving coins/timer and is based on Real Sports - Baseball. While this functions in an Atari 5200 as a cartridge image, it is not a home cartridge. Therefore, it is commented. --> + Baseball. While this functions in an Atari 5200 as a cartridge image, it is not a home cartridge. Therefore, it is commented. --> <!-- - <software name="barbball"> - <description>Barroom Baseball (Prototype)</description> - <year>1983</year> - <publisher>Atari</publisher> - <part name="cart" interface="a8bit_cart"> - <feature name="slot" value="a5200" /> - <dataarea name="rom" size="32768"> - <rom name="barbball.bin" size="32768" crc="21d19c8f" sha1="510ccb20df2ecdbe7f8373de6a9fc11493e8c3f2" offset="0" /> - </dataarea> - </part> - </software> + <software name="barbball"> + <description>Barroom Baseball (Prototype)</description> + <year>1983</year> + <publisher>Atari</publisher> + <part name="cart" interface="a8bit_cart"> + <feature name="slot" value="a5200" /> + <dataarea name="rom" size="32768"> + <rom name="barbball.bin" size="32768" crc="21d19c8f" sha1="510ccb20df2ecdbe7f8373de6a9fc11493e8c3f2" offset="0" /> + </dataarea> + </part> + </software> --> <software name="bzone"> diff --git a/hash/chessmstdm.xml b/hash/chessmstdm.xml index 35a0a8afd80..1c1c29f526e 100644 --- a/hash/chessmstdm.xml +++ b/hash/chessmstdm.xml @@ -12,7 +12,7 @@ </dataarea> </part> </software> - + <software name="pm11"> <description>PM11 Endings</description> <year>1987</year> diff --git a/hash/coleco.xml b/hash/coleco.xml index 7ec36872a16..7a33495733e 100644 --- a/hash/coleco.xml +++ b/hash/coleco.xml @@ -2937,24 +2937,24 @@ <!-- Utilities --> -<!-- CBS Colecovision Monitor Test (1982)(CBS).bin - This image may not have been on a real cartridge so until proof of this being something that was actually on a physical chip - or any dump history can be discovered (research has produced nothing) it will remain commented. The "cbsmon.2" image is a 100% - dupe of the normal Colecovision BIOS image. The program itself doesn't have the telltale AA55/55AA header which is present on - ALL Colecovision cartridges. --> +<!-- CBS Colecovision Monitor Test (1982)(CBS).bin + This image may not have been on a real cartridge so until proof of this being something that was actually on a physical chip + or any dump history can be discovered (research has produced nothing) it will remain commented. The "cbsmon.2" image is a 100% + dupe of the normal Colecovision BIOS image. The program itself doesn't have the telltale AA55/55AA header which is present on + ALL Colecovision cartridges. --> <!-- - <software name="cbsmon"> - <description>CBS Colecovision Monitor Test</description> - <year>1982</year> - <publisher>CBS</publisher> - <part name="cart" interface="coleco_cart"> - <dataarea name="rom" size="16384"> - <rom name="cbsmon.1" size="8192" crc="1cc13594" sha1="33a2b0ed67feb1193116badbf6b8c7d9a99fa63a" offset="0x0000" /> - <rom name="cbsmon.2" size="8192" crc="3aa93ef3" sha1="45bedc4cbdeac66c7df59e9e599195c778d86a92" offset="0x2000" /> - </dataarea> - </part> - </software> + <software name="cbsmon"> + <description>CBS Colecovision Monitor Test</description> + <year>1982</year> + <publisher>CBS</publisher> + <part name="cart" interface="coleco_cart"> + <dataarea name="rom" size="16384"> + <rom name="cbsmon.1" size="8192" crc="1cc13594" sha1="33a2b0ed67feb1193116badbf6b8c7d9a99fa63a" offset="0x0000" /> + <rom name="cbsmon.2" size="8192" crc="3aa93ef3" sha1="45bedc4cbdeac66c7df59e9e599195c778d86a92" offset="0x2000" /> + </dataarea> + </part> + </software> --> <software name="finaltst"> diff --git a/hash/psx.xml b/hash/psx.xml index a28eed57d7c..a7a999fe59f 100755..100644 --- a/hash/psx.xml +++ b/hash/psx.xml @@ -35746,7 +35746,7 @@ The entries in this section are intended to replace the existing "low-grade" Jap <!-- Non-redump Interactive CD Sampler discs -'Interactive CD Sampler Disc - Volume 01 (USA, M Rated)' and 'Interactive CD Sampler Disc - Volume 11 (USA)' have not been dumped for redump.org yet. +'Interactive CD Sampler Disc - Volume 01 (USA, M Rated)' and 'Interactive CD Sampler Disc - Volume 11 (USA)' have not been dumped for redump.org yet. 'Interactive CD Sampler Disc - Volume 06 (USA, EDC)' has EDC while the redump.org version does not; no other obvious differences. --> diff --git a/hash/sms.xml b/hash/sms.xml index 6a1243200fb..9a7546d7b35 100644 --- a/hash/sms.xml +++ b/hash/sms.xml @@ -119,7 +119,7 @@ </dataarea> </part> </software> - + <software name="actionfg0" cloneof="actionfg"> <description>Action Fighter (v0, prototype)</description> <year>1986</year> @@ -130,7 +130,7 @@ <rom name="action fighter [v0] [proto].bin" size="131072" crc="e2d765ad" sha1="88fe2ee194981c82b5db2a9166dd97a8edb6d852" offset="000000" /> </dataarea> </part> - </software> + </software> <software name="actionfgtw" cloneof="actionfg"> <description>Action Fighter / Mo zhan che (Taiwan)</description> @@ -1311,7 +1311,7 @@ </dataarea> </part> </software> - + <!-- Notes: FM support --> <software name="captsilvp" cloneof="captsilv"> <description>Captain Silver (prototype)</description> @@ -1322,7 +1322,7 @@ <rom name="captain silver [proto].bin" size="131072" crc="2532a7cd" sha1="e128c74fd5f0f1ad2f34d408feedff2bfe1adc71" offset="000000" /> </dataarea> </part> - </software> + </software> <!-- Notes: FM support --> <software name="casino"> @@ -6810,7 +6810,7 @@ </dataarea> </part> </software> - + <software name="transbot"> <description>TransBot (Euro, USA, Bra)</description> <year>1985</year> diff --git a/hash/vector06_flop.xml b/hash/vector06_flop.xml index 469f8565527..b90868384d4 100644 --- a/hash/vector06_flop.xml +++ b/hash/vector06_flop.xml @@ -12,7 +12,7 @@ </dataarea> </part> </software> - + <software name="ost72"> <description>MicroDOS v3.1M BIOS T-72</description> <year>19??</year> @@ -39,19 +39,19 @@ <description>CD-Pacman</description> <year>1995</year> <publisher><unknown></publisher> - <!--- title music plays too fast because of unemulated RAM access latency --> + <!--- title music plays too fast because of unemulated RAM access latency --> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="839680"> <rom name="cdpacman.fdd" size="839680" crc="c429fa01" sha1="4513907202e22e795eb6c6af7eb9a4795795275e" offset="0" /> </dataarea> </part> </software> - + <software name="game15"> <description>Game 15 Part 1</description> <year>19??</year> <publisher><unknown></publisher> - <!--- hold Ctrl while booting --> + <!--- hold Ctrl while booting --> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="839680"> <rom name="game-15.fdd" size="839680" crc="259fcb8e" sha1="4cec8e06d147b74a43784c7389ed86ba02bdf952" offset="0" /> @@ -136,10 +136,10 @@ GENIEOS := linux PLATFORM := unknown ifneq ($(filter x86_64,$(UNAME_P)),) PLATFORM := x86 -endif +endif ifneq ($(filter %86,$(UNAME_P)),) PLATFORM := x86 -endif +endif ifneq ($(filter alpha,$(UNAME_M)),) PLATFORM := alpha endif @@ -148,19 +148,19 @@ PLATFORM := alpha endif ifneq ($(filter arm%,$(UNAME_M)),) PLATFORM := arm -endif +endif ifneq ($(filter arm%,$(UNAME_P)),) PLATFORM := arm -endif +endif ifneq ($(filter aarch64%,$(UNAME_M)),) PLATFORM := arm64 -endif +endif ifneq ($(filter aarch64%,$(UNAME_P)),) PLATFORM := arm64 -endif +endif ifneq ($(filter powerpc,$(UNAME_P)),) PLATFORM := powerpc -endif +endif ifneq ($(filter mips64%,$(UNAME_M)),) ifeq ($(shell getconf LONG_BIT),64) PLATFORM := mips64 @@ -958,7 +958,7 @@ ifndef MINGW64 $(error MINGW64 is not set) endif $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) precompile - $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) + $(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-mingw64-gcc config=$(CONFIG)64 WINDRES=$(WINDRES) #------------------------------------------------- # gmake-mingw32-gcc @@ -1335,7 +1335,7 @@ endif ifndef MARVELL_ROOTFS $(error MARVELL_ROOTFS is not set) endif - $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=steamlink --gcc_version=$(GCC_VERSION) --NO_OPENGL=1 --NO_USE_MIDI=1 --NO_X11=1 --NOASM=1 --SDL_INSTALL_ROOT=$(MARVELL_ROOTFS)/usr $(MAKETYPE) + $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=steamlink --gcc_version=$(GCC_VERSION) --NO_OPENGL=1 --NO_USE_MIDI=1 --NO_X11=1 --NOASM=1 --SDL_INSTALL_ROOT=$(MARVELL_ROOTFS)/usr $(MAKETYPE) .PHONY: steamlink steamlink: generate $(PROJECTDIR)/$(MAKETYPE)-steamlink/Makefile @@ -1359,7 +1359,7 @@ endif ifndef RASPBERRY_SYSROOT $(error RASPBERRY_SYSROOT is not set) endif - $(SILENT) $(GENIE) $(PARAMS) --gcc=rpi --gcc_version=4.9.2 --osd=sdl --targetos=rpi --targetos=rpi --NO_USE_MIDI=1 --PLATFORM=arm --NOASM=1 --USE_QTDEBUG=0 --SDL_INSTALL_ROOT=$(RASPBERRY_SYSROOT)/usr $(MAKETYPE) + $(SILENT) $(GENIE) $(PARAMS) --gcc=rpi --gcc_version=4.9.2 --osd=sdl --targetos=rpi --targetos=rpi --NO_USE_MIDI=1 --PLATFORM=arm --NOASM=1 --USE_QTDEBUG=0 --SDL_INSTALL_ROOT=$(RASPBERRY_SYSROOT)/usr $(MAKETYPE) .PHONY: rpi rpi: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-rpi/Makefile @@ -1383,7 +1383,7 @@ endif ifndef CI20_SYSROOT $(error CI20_SYSROOT is not set) endif - $(SILENT) $(GENIE) $(PARAMS) --gcc=ci20 --gcc_version=4.9.2 --osd=sdl --targetos=ci20 --targetos=ci20 --NO_USE_MIDI=1 --PLATFORM=arm --NOASM=1 --USE_QTDEBUG=0 --SDL_INSTALL_ROOT=$(RASPBERRY_SYSROOT)/usr $(MAKETYPE) + $(SILENT) $(GENIE) $(PARAMS) --gcc=ci20 --gcc_version=4.9.2 --osd=sdl --targetos=ci20 --targetos=ci20 --NO_USE_MIDI=1 --PLATFORM=arm --NOASM=1 --USE_QTDEBUG=0 --SDL_INSTALL_ROOT=$(RASPBERRY_SYSROOT)/usr $(MAKETYPE) .PHONY: ci20 ci20: generate $(PROJECTDIR_SDL)/$(MAKETYPE)-ci20/Makefile @@ -1474,14 +1474,14 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.177"' > $@ + @echo '#define BARE_BUILD_VERSION "0.178"' > $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char build_version[];' >> $@ @echo 'const char bare_build_version[] = BARE_BUILD_VERSION;' >> $@ @echo 'const char build_version[] = BARE_BUILD_VERSION " ($(NEW_GIT_VERSION))";' >> $@ else $(GENDIR)/version.cpp: $(GENDIR)/git_desc - @echo #define BARE_BUILD_VERSION "0.177" > $@ + @echo #define BARE_BUILD_VERSION "0.178" > $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char build_version[]; >> $@ @echo const char bare_build_version[] = BARE_BUILD_VERSION; >> $@ @@ -1608,7 +1608,7 @@ cppcheck: #------------------------------------------------- # BGFX shaders # -# to build all just use : make shaders +# to build all just use : make shaders # # to build specific chain use for example : make shaders CHAIN=eagle # data for chain is taken from src/osd/modules/render/bgfx/shaders/chains/ @@ -1627,9 +1627,9 @@ shaders: bgfx-tools -$(call MKDIR,build/shaders/dx9) -$(call MKDIR,build/shaders/gles) -$(call MKDIR,build/shaders/glsl) - -$(call MKDIR,build/shaders/metal) + -$(call MKDIR,build/shaders/metal) $(SILENT) $(MAKE) -C $(SRC)/osd/modules/render/bgfx/shaders rebuild CHAIN="$(CHAIN)" - + #------------------------------------------------- # Translation #------------------------------------------------- @@ -1639,6 +1639,6 @@ shaders: bgfx-tools translation: $(SILENT) echo Generating mame.pot $(SILENT) find src -iname "*.cpp" | xargs xgettext --from-code=UTF-8 -k_ -k__ -o mame.pot - $(SILENT) find language -iname "*.po" | xargs -n 1 -I %% msgmerge -U -N %% mame.pot + $(SILENT) find language -iname "*.po" | xargs -n 1 -I %% msgmerge -U -N %% mame.pot $(SILENT) find language -iname "*.po" | xargs -n 1 -I %% msgattrib --clear-fuzzy --empty %% -o %% diff --git a/src/devices/cpu/adsp2100/adsp2100.cpp b/src/devices/cpu/adsp2100/adsp2100.cpp index a83614b04c3..42627c3d5e2 100644 --- a/src/devices/cpu/adsp2100/adsp2100.cpp +++ b/src/devices/cpu/adsp2100/adsp2100.cpp @@ -606,7 +606,7 @@ void adsp21xx_device::device_reset() // reset PC and loops m_pc = (m_chip_type >= CHIP_TYPE_ADSP2101) ? 0 : 4; - m_ppc = -1; + m_ppc = m_pc; m_loop = 0xffff; m_loop_condition = 0; diff --git a/src/devices/cpu/dsp32/dsp32ops.hxx b/src/devices/cpu/dsp32/dsp32ops.hxx index e89aa74fed7..696e4f14885 100644 --- a/src/devices/cpu/dsp32/dsp32ops.hxx +++ b/src/devices/cpu/dsp32/dsp32ops.hxx @@ -125,6 +125,7 @@ inline void dsp32c_device::execute_one() UINT32 op; PROCESS_DEFERRED_MEMORY(); + m_ppc = PC; debugger_instruction_hook(this, PC); op = ROPCODE(PC); m_icount -= 4; // 4 clocks per cycle diff --git a/src/devices/cpu/hd61700/hd61700.cpp b/src/devices/cpu/hd61700/hd61700.cpp index ce96d03c699..e48b83a576f 100644 --- a/src/devices/cpu/hd61700/hd61700.cpp +++ b/src/devices/cpu/hd61700/hd61700.cpp @@ -201,8 +201,6 @@ void hd61700_cpu_device::device_start() void hd61700_cpu_device::device_reset() { - m_ppc = 0x0000; - m_curpc = 0x0000; set_pc(0x0000); m_flags = FLAG_SW; m_state = 0; @@ -335,6 +333,8 @@ void hd61700_cpu_device::execute_run() { do { + m_ppc = m_curpc; + debugger_instruction_hook(this, m_curpc); // verify that CPU is not in sleep @@ -348,8 +348,6 @@ void hd61700_cpu_device::execute_run() check_irqs(); - m_ppc = m_curpc; - // instruction fetch op = read_op(); @@ -2739,6 +2737,7 @@ inline void hd61700_cpu_device::set_pc(INT32 new_pc) { m_curpc = (m_curpc & 0x30000) | new_pc; m_pc = new_pc & 0xffff; + m_ppc = m_curpc; m_fetch_addr = new_pc<<1; } diff --git a/src/devices/cpu/lc8670/lc8670.cpp b/src/devices/cpu/lc8670/lc8670.cpp index 026cb1c8756..9ea32374479 100644 --- a/src/devices/cpu/lc8670/lc8670.cpp +++ b/src/devices/cpu/lc8670/lc8670.cpp @@ -417,10 +417,10 @@ void lc8670_cpu_device::execute_run() { check_irqs(); + m_ppc = m_pc; debugger_instruction_hook(this, m_pc); int cycles; - m_ppc = m_pc; if (REG_PCON & HALT_MODE) { diff --git a/src/devices/cpu/m68000/m68kcpu.cpp b/src/devices/cpu/m68000/m68kcpu.cpp index 053ab3d6976..573673f800b 100644 --- a/src/devices/cpu/m68000/m68kcpu.cpp +++ b/src/devices/cpu/m68000/m68kcpu.cpp @@ -797,6 +797,9 @@ inline void m68000_base_device::cpu_execute(void) /* Set tracing accodring to T1. (T0 is done inside instruction) */ m68ki_trace_t1(this); /* auto-disable (see m68kcpu.h) */ + /* Record previous program counter */ + REG_PPC(this) = REG_PC(this); + /* Call external hook to peek at CPU */ debugger_instruction_hook(this, REG_PC(this)); @@ -804,9 +807,6 @@ inline void m68000_base_device::cpu_execute(void) if (!instruction_hook.isnull()) instruction_hook(*program, REG_PC(this), 0xffffffff); - /* Record previous program counter */ - REG_PPC(this) = REG_PC(this); - try { if (!pmmu_enabled) diff --git a/src/devices/cpu/mcs96/mcs96ops.lst b/src/devices/cpu/mcs96/mcs96ops.lst index 372acb44218..3c2516ae54a 100644 --- a/src/devices/cpu/mcs96/mcs96ops.lst +++ b/src/devices/cpu/mcs96/mcs96ops.lst @@ -15,9 +15,9 @@ fetch standard_irq_callback(OP1); check_irq(); } + PPC = PC; if(machine().debug_flags & DEBUG_FLAG_ENABLED) debugger_instruction_hook(this, PC); - PPC = PC; OP1 = read_pc(); if(OP1 == 0xfe) { OP1 = read_pc(); @@ -26,9 +26,9 @@ fetch inst_state = OP1; fetch_noirq + PPC = PC; if(machine().debug_flags & DEBUG_FLAG_ENABLED) debugger_instruction_hook(this, PC); - PPC = PC; OP1 = read_pc(); if(OP1 == 0xfe) { OP1 = read_pc(); diff --git a/src/devices/cpu/pic16c5x/pic16c5x.cpp b/src/devices/cpu/pic16c5x/pic16c5x.cpp index 2844fc04a58..3a4193db730 100644 --- a/src/devices/cpu/pic16c5x/pic16c5x.cpp +++ b/src/devices/cpu/pic16c5x/pic16c5x.cpp @@ -863,9 +863,8 @@ void pic16c5x_device::device_start() state_add( PIC16C5x_PSCL, "PSCL", m_debugger_temp).callimport().formatstr("%3s"); state_add( STATE_GENPC, "GENPC", m_PC).noshow(); - state_add( STATE_GENPCBASE, "CURPC", m_PC).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_PREVPC).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_OPTION).formatstr("%13s").noshow(); - state_add( STATE_GENPCBASE, "PREVPC", m_PREVPC).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/pic16c62x/pic16c62x.cpp b/src/devices/cpu/pic16c62x/pic16c62x.cpp index 1d990c23794..baf29483185 100644 --- a/src/devices/cpu/pic16c62x/pic16c62x.cpp +++ b/src/devices/cpu/pic16c62x/pic16c62x.cpp @@ -937,9 +937,8 @@ void pic16c62x_device::device_start() state_add( PIC16C62x_PSCL, "PSCL", m_debugger_temp).callimport().formatstr("%3s"); state_add( STATE_GENPC, "GENPC", m_PC).noshow(); - state_add( STATE_GENPCBASE, "CURPC", m_PC).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_PREVPC).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_OPTION).formatstr("%13s").noshow(); - state_add( STATE_GENPCBASE, "PREVPC", m_PREVPC).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/score/score.cpp b/src/devices/cpu/score/score.cpp index bb5f9cd5255..f9ae1e5d291 100644 --- a/src/devices/cpu/score/score.cpp +++ b/src/devices/cpu/score/score.cpp @@ -94,7 +94,7 @@ void score7_cpu_device::device_start() state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%08X").noshow(); state_add(STATE_GENPCBASE, "CURPC", m_ppc).formatstr("%8X").noshow(); - state_add(STATE_GENFLAGS, "GENFLAGS", m_ppc).formatstr("%5s").noshow(); + state_add(STATE_GENFLAGS, "GENFLAGS", REG_CR).callexport().formatstr("%5s").noshow(); // save state save_item(NAME(m_pc)); @@ -168,9 +168,8 @@ void score7_cpu_device::execute_run() { do { - debugger_instruction_hook(this, m_pc); - m_ppc = m_pc; + debugger_instruction_hook(this, m_pc); check_irq(); diff --git a/src/devices/cpu/se3208/se3208.cpp b/src/devices/cpu/se3208/se3208.cpp index ec8ddaf0649..8889d1def61 100644 --- a/src/devices/cpu/se3208/se3208.cpp +++ b/src/devices/cpu/se3208/se3208.cpp @@ -1752,10 +1752,10 @@ void se3208_device::execute_run() { UINT16 Opcode=m_direct->read_word(m_PC, WORD_XOR_LE(0)); + m_PPC = m_PC; debugger_instruction_hook(this, m_PC); (this->*OpTable[Opcode])(Opcode); - m_PPC=m_PC; m_PC+=2; //Check interrupts if(m_NMI==ASSERT_LINE) diff --git a/src/devices/cpu/tms34010/tms34010.cpp b/src/devices/cpu/tms34010/tms34010.cpp index dd45a91a848..c2e67ccee7c 100644 --- a/src/devices/cpu/tms34010/tms34010.cpp +++ b/src/devices/cpu/tms34010/tms34010.cpp @@ -742,8 +742,8 @@ void tms340x0_device::execute_run() do { UINT16 op; - debugger_instruction_hook(this, m_pc); m_ppc = m_pc; + debugger_instruction_hook(this, m_pc); op = ROPCODE(); (this->*s_opcode_table[op >> 4])(op); } while (m_icount > 0); diff --git a/src/devices/cpu/z180/z180.cpp b/src/devices/cpu/z180/z180.cpp index c904ea33eec..26fee676f7e 100644 --- a/src/devices/cpu/z180/z180.cpp +++ b/src/devices/cpu/z180/z180.cpp @@ -2346,7 +2346,6 @@ void z180_device::execute_run() if (m_nmi_pending) { LOG(("Z180 '%s' take NMI\n", tag())); - _PPC = -1; /* there isn't a valid previous program counter */ LEAVE_HALT(); /* Check if processor was halted */ /* disable DMA transfers!! */ diff --git a/src/devices/cpu/z180/z180op.hxx b/src/devices/cpu/z180/z180op.hxx index c00515ee9a5..2479479344a 100644 --- a/src/devices/cpu/z180/z180op.hxx +++ b/src/devices/cpu/z180/z180op.hxx @@ -298,9 +298,6 @@ int z180_device::take_interrupt(int irq) int irq_vector; int cycles = 0; - /* there isn't a valid previous program counter */ - _PPC = -1; - /* Check if processor was halted */ LEAVE_HALT(); diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp index e0a3bbb8863..ffbb57fd723 100644 --- a/src/devices/cpu/z80/z80.cpp +++ b/src/devices/cpu/z80/z80.cpp @@ -3126,9 +3126,6 @@ OP(op,ff) { rst(0x38); void z80_device::take_nmi() { - /* there isn't a valid previous program counter */ - PRVPC = -1; - /* Check if processor was halted */ leave_halt(); @@ -3149,9 +3146,6 @@ void z80_device::take_interrupt() { int irq_vector; - /* there isn't a valid previous program counter */ - PRVPC = -1; - /* Check if processor was halted */ leave_halt(); @@ -3236,9 +3230,6 @@ void z80_device::take_interrupt() void nsc800_device::take_interrupt_nsc800() { - /* there isn't a valid previous program counter */ - PRVPC = -1; - /* Check if processor was halted */ leave_halt(); diff --git a/src/devices/cpu/z8000/z8000.cpp b/src/devices/cpu/z8000/z8000.cpp index 114faab7441..2b8b874bceb 100644 --- a/src/devices/cpu/z8000/z8000.cpp +++ b/src/devices/cpu/z8000/z8000.cpp @@ -584,7 +584,6 @@ void z8002_device::clear_internal_state() void z8002_device::register_debug_state() { - state_add( Z8000_PPC, "prev PC", m_ppc ).formatstr("%08X"); state_add( Z8000_PC, "PC", m_pc ).formatstr("%08X"); state_add( Z8000_NSPOFF, "NSPOFF", m_nspoff ).formatstr("%04X"); state_add( Z8000_NSPSEG, "NSPSEG", m_nspseg ).formatstr("%04X"); @@ -783,6 +782,7 @@ void z8002_device::execute_run() if (z8k_segm_mode == Z8K_SEGM_MODE_AUTO) z8k_segm = (m_fcw & F_SEG_Z8001()) ? 1 : 0; + m_ppc = m_pc; debugger_instruction_hook(this, m_pc); if (m_irq_req & Z8000_HALT) @@ -793,7 +793,6 @@ void z8002_device::execute_run() { Z8000_exec *exec; - m_ppc = m_pc; m_op[0] = RDOP(); m_op_valid = 1; exec = &z8000_exec[m_op[0]]; diff --git a/src/devices/cpu/z8000/z8000.h b/src/devices/cpu/z8000/z8000.h index 2a0f00c3266..577b82a0935 100644 --- a/src/devices/cpu/z8000/z8000.h +++ b/src/devices/cpu/z8000/z8000.h @@ -11,7 +11,7 @@ enum { Z8000_PC=1, - Z8000_PPC, Z8000_NSPSEG, Z8000_NSPOFF, Z8000_FCW, + Z8000_NSPSEG, Z8000_NSPOFF, Z8000_FCW, Z8000_PSAPSEG, Z8000_PSAPOFF, Z8000_REFRESH, Z8000_IRQ_REQ, Z8000_IRQ_SRV, Z8000_IRQ_VEC, Z8000_R0, Z8000_R1, Z8000_R2, Z8000_R3, diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index 074e7e69b6c..abb8503393d 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -419,7 +419,7 @@ public: DECLARE_READ8_MEMBER(fexcelv_speech_r); DECLARE_WRITE8_MEMBER(fexcel_ttl_w); DECLARE_READ8_MEMBER(fexcel_ttl_r); - + // Chesster DECLARE_WRITE8_MEMBER(chesster_control_w); DECLARE_DRIVER_INIT(chesster); diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp index 5af2fb70d28..92ee07f4edb 100644 --- a/src/mame/drivers/fidel68k.cpp +++ b/src/mame/drivers/fidel68k.cpp @@ -9,6 +9,8 @@ - how does dual-CPU work? - IRQ level/timing is unknown - USART is not emulated + - V9(68030 @ 32MHz) is faster than V10(68040 @ 25MHz) but it should be the other + way around, culprit is unemulated cache? - V11 CPU should be M68EC060, not yet emulated. Now using M68EC040 in its place at twice the frequency due to lack of superscalar. - V11 beeper is too high pitched, obviously related to wrong CPU type too diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp index dace268cf51..2c10a769eef 100644 --- a/src/mame/drivers/mac.cpp +++ b/src/mame/drivers/mac.cpp @@ -2225,8 +2225,8 @@ ROM_END */ ROM_START( mac128k ) - ROM_REGION16_BE(0x20000, "bootrom", 0) - //ROM_LOAD16_WORD( "mac128k.rom", 0x00000, 0x10000, CRC(6d0c8a28) SHA1(9d86c883aa09f7ef5f086d9e32330ef85f1bc93b) ) + ROM_REGION16_BE(0x20000, "bootrom", 0) // 28ba61ce + //ROM_LOAD16_WORD( "28ba61ce - Macintosh-128k.rom", 0x00000, 0x10000, CRC(6d0c8a28) SHA1(9d86c883aa09f7ef5f086d9e32330ef85f1bc93b) ) ROMX_LOAD("vti__416_vh_2605__23256-1020__342-0220-a__(c)apple_83__korea-ae.rom-hi.27256.u6d", 0x00000, 0x08000, CRC(198210ad) SHA1(2590ff4af5ac0361babdf0dc5da18e2eecad454a), ROM_SKIP(1) ) // see below for alternate labels ROMX_LOAD("vti__416_vh_2826__23256-1023__342-0221-a__(c)apple_83__korea-ae.rom-lo.27256.u8d", 0x00001, 0x08000, CRC(fd2665c2) SHA1(8507932a854bd28196a17785c8b1851cb53eaf64), ROM_SKIP(1) ) // see below for alternate labels /* These two roms were manufactured by at least 3 manufacturers: @@ -2250,8 +2250,8 @@ ROM_START( mac128k ) ROM_END ROM_START( mac512k ) - ROM_REGION16_BE(0x20000, "bootrom", 0) - //ROM_LOAD16_WORD( "mac512k.rom", 0x00000, 0x10000, CRC(cf759e0d) SHA1(5b1ced181b74cecd3834c49c2a4aa1d7ffe944d7) ) + ROM_REGION16_BE(0x20000, "bootrom", 0) // + //ROM_LOAD16_WORD( "28ba4e50 - Macintosh-512k.rom", 0x00000, 0x10000, CRC(cf759e0d) SHA1(5b1ced181b74cecd3834c49c2a4aa1d7ffe944d7) ) ROMX_LOAD("vti__512_vh_6434__23256-1104__342-0220-b__(c)_apple_84__korea-a.rom-hi.27256.u6d", 0x00000, 0x08000, CRC(0dce9a3f) SHA1(101ca6570f5a273e400d1a8bc63e15ee0e94153e), ROM_SKIP(1) ) // "<VTi logo along side> 512 VH 6434 // 23256-1104 // 342-0220-B // (C) APPLE 84 // KOREA-A" ROMX_LOAD("vti__512_vh_6709__23256-1105__342-0221-b__(c)_apple_84__korea-a.rom-lo.27256.u8d", 0x00001, 0x08000, CRC(d51f376e) SHA1(575586109e876cffa4a4d472cb38771aa21b70cb), ROM_SKIP(1) ) // "<VTi logo along side> 512 VH 6709 // 23256-1105 // 342-0221-B // (C) APPLE 84 // KOREA-A" // reference: http://i.ebayimg.com/images/g/Uj8AAOSwvzRXy2tW/s-l1600.jpg @@ -2264,14 +2264,14 @@ ROM_END ROM_START( utrn1024 ) ROM_REGION16_BE(0x20000, "bootrom", 0) - // CRCs match the original "Lonely Hearts" version 1 Mac Plus ROM + // CRCs match the original "Lonely Hearts" version 1 Mac Plus ROM: 4d1eeee1 ROM_LOAD16_BYTE( "macplus_mem_h.e6", 0x000000, 0x010000, CRC(5095fe39) SHA1(be780580033d914b5035d60b5ebbd66bd1d28a9b) ) ROM_LOAD16_BYTE( "macplus_mem_l.e7", 0x000001, 0x010000, CRC(fb766270) SHA1(679f529fbfc05f9cc98924c53457d2996dfcb1a7) ) ROM_END - //ROMX_LOAD( "4d1f8172 - macplus v3.rom", 0x00000, 0x020000, CRC(b2102e8e) SHA1(7d2f808a045aa3a1b242764f0e2c7d13e288bf1f), ROM_GROUPWORD | ROM_BIOS(1) ) - //ROMX_LOAD( "4d1eeae1 - macplus v2.rom", 0x00000, 0x020000, CRC(7cacd18f) SHA1(73bf2eb215646e108daa0cdd874e6c843c8ce421), ROM_GROUPWORD | ROM_BIOS(2) ) - //ROMX_LOAD( "4d1eeee1 - macplus v1.rom", 0x00000, 0x020000, CRC(4fa5b399) SHA1(e0da7165b92dee90d8b1522429c033729fa73fd2), ROM_GROUPWORD | ROM_BIOS(3) ) + //ROMX_LOAD( "4d1f8172 - MacPlus v3.rom", 0x00000, 0x020000, CRC(b2102e8e) SHA1(7d2f808a045aa3a1b242764f0e2c7d13e288bf1f), ROM_GROUPWORD | ROM_BIOS(1) ) + //ROMX_LOAD( "4d1eeae1 - MacPlus v2.rom", 0x00000, 0x020000, CRC(7cacd18f) SHA1(73bf2eb215646e108daa0cdd874e6c843c8ce421), ROM_GROUPWORD | ROM_BIOS(2) ) + //ROMX_LOAD( "4d1eeee1 - MacPlus v1.rom", 0x00000, 0x020000, CRC(4fa5b399) SHA1(e0da7165b92dee90d8b1522429c033729fa73fd2), ROM_GROUPWORD | ROM_BIOS(3) ) ROM_START( mac512ke ) // 512ke has been observed with any of the v3, v2 or v1 macplus romsets installed, and v1 romsets are more common here than in the plus, since the 512ke lacks scsi, which is the cause of the major bug fixed between v1 and v2, hence 512ke is unaffected and was a good way for apple to use the buggy roms rather than destroying them. ROM_REGION16_BE(0x20000, "bootrom", 0) @@ -2313,8 +2313,9 @@ ROM_START( macsefd ) ROM_END ROM_START( macclasc ) - ROM_REGION16_BE(0x80000, "bootrom", 0) - ROM_LOAD( "a49f9914.rom", 0x000000, 0x080000, CRC(510d7d38) SHA1(ccd10904ddc0fb6a1d216b2e9effd5ec6cf5a83d) ) + ROM_REGION16_BE(0x80000, "bootrom", 0) // a49f9914, second half of chip dump is the 6.0.3 XO rom disk + // this dump is big endian + ROM_LOAD( "341-0813__(c)1983-90_apple__japan__910d_d.27c4096_be.ue1", 0x000000, 0x080000, CRC(510d7d38) SHA1(ccd10904ddc0fb6a1d216b2e9effd5ec6cf5a83d) ) ROM_END ROM_START( maclc ) @@ -2393,8 +2394,12 @@ ROM_START( maciivi ) ROM_END ROM_START( macclas2 ) - ROM_REGION32_BE(0x100000, "bootrom", 0) - ROM_LOAD( "3193670e.rom", 0x000000, 0x080000, CRC(96d2e1fd) SHA1(50df69c1b6e805e12a405dc610bc2a1471b2eac2) ) + ROM_REGION32_BE(0x100000, "bootrom", 0) // 3193670e + //ROM_LOAD( "3193670e.rom", 0x000000, 0x080000, CRC(96d2e1fd) SHA1(50df69c1b6e805e12a405dc610bc2a1471b2eac2) ) + ROM_LOAD32_BYTE( "341-0867__ba16__(c)apple_91.romhh.27c010.u25", 0x000000, 0x020000, CRC(88230887) SHA1(8f45f6d7eb6a8ec9242a46db4773af1d154409c6) ) + ROM_LOAD32_BYTE( "341-0866__5be9__(c)apple_91.rommh.27c010.u24", 0x000001, 0x020000, CRC(eae68c36) SHA1(e6ce79647dfe7e66590a012836d0b6e985ff672b) ) + ROM_LOAD32_BYTE( "341-0865__821e__(c)apple_91.romml.27c010.u23", 0x000002, 0x020000, CRC(cb306c01) SHA1(4d6e409995fd9a4aa9afda0fd790a5b09b1c2aca) ) + ROM_LOAD32_BYTE( "341-0864__6fc6__(c)apple_91.romll.27c010.u22", 0x000003, 0x020000, CRC(21a51e72) SHA1(bb513c1a5b8a41c7534d66aeacaeea47f58dae92) ) ROM_END ROM_START( maclc2 ) diff --git a/src/mame/machine/st0016.cpp b/src/mame/machine/st0016.cpp index 7b4c8368ec4..9c108ee1d59 100644 --- a/src/mame/machine/st0016.cpp +++ b/src/mame/machine/st0016.cpp @@ -269,10 +269,10 @@ WRITE8_MEMBER(st0016_cpu_device::st0016_vregs_w) I/O ports: $74 x--- ---- global flip screen - -xx- ---- individual flip screen x/y - i.e. Mayjinsen sets 0x80, other ST0016 games 0x60. - TODO: Might also be paired with $70 & $75 (setted up by Mayjinsen). - + -xx- ---- individual flip screen x/y + i.e. Mayjinsen sets 0x80, other ST0016 games 0x60. + TODO: Might also be paired with $70 & $75 (setted up by Mayjinsen). + $a0 \ $a1 - source address >> 1 $a2 / diff --git a/src/tools/srcclean.cpp b/src/tools/srcclean.cpp index 9aac6ee845a..55ee72444fd 100644 --- a/src/tools/srcclean.cpp +++ b/src/tools/srcclean.cpp @@ -1874,7 +1874,7 @@ int main(int argc, char *argv[]) try { // instantiate appropriate cleaner implementation - char const *const ext(std::strrchr(argv[1], '.')); + char const *const ext(std::strrchr(argv[i], '.')); bool const is_c_file(ext && is_c_source_extension(ext)); bool const is_lua_file(ext && is_lua_source_extension(ext)); bool const is_xml_file(ext && is_xml_extension(ext)); @@ -1922,31 +1922,31 @@ int main(int argc, char *argv[]) if (!dry_run) { using namespace std::string_literals; - std::string const backup(argv[1] + ".orig"s); + std::string const backup(argv[i] + ".orig"s); std::remove(backup.c_str()); - if (std::rename(argv[1], backup.c_str())) + if (std::rename(argv[i], backup.c_str())) { - util::stream_format(std::cerr, "Error moving %1$s to backup location\n", argv[1]); + util::stream_format(std::cerr, "Error moving %1$s to backup location\n", argv[i]); ++failures; } else { - std::ofstream outfile(argv[1], std::ios_base::binary | std::ios_base::out | std::ios_base::trunc); + std::ofstream outfile(argv[i], std::ios_base::binary | std::ios_base::out | std::ios_base::trunc); outfile.write(&output[0], output.size()); outfile.flush(); if (!outfile) { - util::stream_format(std::cerr, "Error writing output to %1$s\n", argv[1]); + util::stream_format(std::cerr, "Error writing output to %1$s\n", argv[i]); ++failures; outfile.close(); - if (std::rename(backup.c_str(), argv[1])) - util::stream_format(std::cerr, "Error restoring backup of %1$s\n", argv[1]); + if (std::rename(backup.c_str(), argv[i])) + util::stream_format(std::cerr, "Error restoring backup of %1$s\n", argv[i]); } else if (!keep_backup) { if (std::remove(backup.c_str())) { - util::stream_format(std::cerr, "Error removing backup of %1$s\n", argv[1]); + util::stream_format(std::cerr, "Error removing backup of %1$s\n", argv[i]); ++failures; } } |