Commit Graph

56 Commits

Author SHA1 Message Date
hap
0fae49dc31 sm5*: added sm530 disasm (nw) 2018-05-12 17:37:41 +02:00
David Haywood
6627a9e480 start looking at the extra opcodes in the SSD 2000 type XaviX chip (s… (#3514)
* start looking at the extra opcodes in the SSD 2000 type XaviX chip (seems some undocumented 6502 opcodes are replaced with more custom ones)

* (nw)

* the xavix memory mapping gets stranger with each piece of new evidence (nw)
2018-05-04 12:22:18 -04:00
Vas Crabb
2c340f490e move some not-directly-emulation-related helpers to lib/util, further extricate emu.h from tools (nw) 2018-04-01 19:10:26 +10:00
Vas Crabb
010155a3c5 Reshuffle some stuff:
* Move around the debugger hooks to get a small but measurable performance increase
* Remove emucore from external tools
* Improve performance of DSP16 interpreter a little by generating six variants of execution loop
2018-03-28 05:25:15 +11:00
Vas Crabb
7c3c961fd7 unidasm, too (nw) 2018-03-25 14:40:15 +11:00
Vas Crabb
245f822e7d use more constexpr and literal classes in UML to give compiler more optimisation opportunities (nw) 2018-03-17 00:58:54 +11:00
Olivier Galibert
583f4158c8 unidasm: sharc fix (nw) 2018-03-04 10:33:10 +01:00
Olivier Galibert
9eecf67871 unidasm typo fix (nw) 2018-02-28 15:08:10 +01:00
AJR
bac8c7fa9b z8: Make address spaces big-endian 2018-02-21 19:39:33 -05:00
AJR
bb9f52b2ec unidasm: Correct endianness of m6800, m6805 and other Motorola-type CPUs 2018-02-20 19:31:36 -05:00
Olivier Galibert
109e2dadb8 NUON disassembler [O. Galibert] 2018-02-18 22:56:53 +01:00
hap
93d965a734 unidasm: fix f8 endianness (nw) 2018-02-17 15:49:40 +01:00
David Haywood
1e09ab0ceb create derived 6502 type for XaviX because it has at least one custom… (#3154)
* create derived 6502 type for XaviX because it has at least one custom 4-byte opcode that doesn't fit any other type.
treating that opcode as NOP for now.

have a feeling it might be something to do with the other integrated hardware, might be 'execute co-processor code chain at this address' or something similar
It isn't a standard JSL (Jump Subroutine Long)  like the SNES cpu opcode in the same place as this, it seems to point at some code-like structures tho)
could also be a secondary operation mode with different encoding like ARM's Thumb mode tho I guess.

We currently only have a single XaviX based dump (taitons1) but there are more on the way.  I'm going to see if the code flow makes any sense at all with these missing, or if any of it gives a clue as to what they should actually do.

* xavix - let's call these callf and retf then

after further investigation these are some kind of extra 'long jump' subroutine / task handlers, the 0x80 also being a custom opcode was throwing me off trying to identify them before.

looks like they might have been hacking 65816 features into the regular 6502 core?

* prepare for extra address bits (nw)

* better program flow (nw)
2018-02-02 14:34:12 -05:00
AJR
19d57d9419 mcs48: More specific emulation of Intel 8021
- Separate disassembler for i802x (including unemulated 8022 instructions)
- Provide separate (though mostly just more limited) 8021 opcode table
- Writes to 8021 P0 no longer go through memory space
2018-01-23 15:16:01 -05:00
AJR
f28093a3d6 mc68hc11: Fix dissassembly of instructions with 16-bit operands (immediate or direct) 2018-01-01 18:13:00 -05:00
Vas Crabb
25f84e3bf0 srcclean and manual cleanups (nw)
please people, remember to keep source UTF-8 and if you're committing on behalf of others, clean up indents to meet MAME conventions
anyone can run srcclean over a submission and see what will get hit
2017-12-24 15:03:04 +11:00
Firehawke
9ece34eb21 Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame""
This reverts commit 54155441e9.
2017-12-13 21:31:27 -07:00
Firehawke
54155441e9 Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a, reversing
changes made to 0d70d79810.
2017-12-13 21:01:10 -07:00
Olivier Galibert
cc3e1898b2 Hyperstone dasm fp/h support (nw) 2017-12-02 17:47:01 +01:00
smf-
c2e7f912c1 fix building with Visual Studio 2017 & clang 5.0.0 (also tested with gcc 7.2.0) (nw) 2017-11-28 09:10:05 +00:00
Olivier Galibert
6caef2579a dvdisasm: Overhaul [O. Galibert]
Disassemblers are now independant classes.  Not only the code is
cleaner, but unidasm has access to all the cpu cores again.  The
interface to the disassembly method has changed from byte buffers to
objects that give a result to read methods.  This also adds support
for lfsr and/or paged PCs.
2017-11-26 17:41:27 +01:00
Vas Crabb
d18aa3e097 never hurts to srcclean (nw) 2017-07-09 03:21:32 +10:00
fulivi
5201a7f6bf Begin of HP80 emulation (#2448)
What works:
* HP85A machine with 16K of RAM
* Capricorn CPU works
* Keyboard works (with minor issues)
* CRT text / graphics modes work (correct speed is not emulated yet so service ROM complaints)
* BASIC is usable

What is missing (and I'll have hopefully working soon):
* HW timers
* Beeper
* Integral printer
* DC100 cassette drive
* Extension ROMs
* I/O modules (especially the HPIB interface so that we can hook up floppy drives)
* Other models in the family (e.g. HP86)
2017-07-08 19:31:42 +10:00
Vas Crabb
c05cf76d0f Merge tag 'mame0187'
MAME 0.187

Conflicts:
	src/mame/drivers/socrates.cpp
2017-06-28 12:07:02 +10:00
Vas Crabb
5ada035d17 Rewrote 4004 core and disassembler:
* Renamed to MCS-40.
* Emulated 8-clock instruction cycle, interruptible at any point.
* Converted TEST input to an input line.
* Added SYNC and CM output lines.
* Added support for 4040 CY output, logical operations, extended registers, ROM banking and disassembly.
* Made I/O space mapping more flexible to support the variety of peripherals available.
* Notable missing features are 4040 interrupt and halt, and "program memory" space.
2017-06-27 04:25:18 +10:00
AJR
838c8c8c51 unidasm: Fix MC68HC11 disassembly 2017-06-25 13:46:59 -04:00
hap
bca24133da sm510: made KB1013VK12 device a clone of SM5A (nw) 2017-06-23 00:34:16 +02:00
Wilbert Pol
e997379300 hcd62121: Improve rotate and shift instructions. Identified COM and PORT registers. Fixed unidasm config. [Wilbert Pol] 2017-05-03 21:12:56 +02:00
Vas Crabb
06e22ce79d m6805: added skeleton CMOS devices
* Added m146805 and m68hc05 to unidasm
* Made opcode tables configurable in m6805_base_device, provided tables for HMOS, CMOS and HC families
* Implemented MUL instruction, made unimplemented STOP and WAIT raise fatal error
* Added skeleton MC68HC05C4 with RAM and ROM in correct locations in memory map
2017-01-30 23:10:51 +11:00
Patrick Mackinlay
875f3c9d12 initial pull request 2017-01-24 21:53:51 +07:00
Curt Coder
9d371eb5ba cop400: Properly separated COP444L from COP444C. [Curt Coder] 2017-01-16 22:06:11 +02:00
Nathan Woods
a29891d2e5 Changed disassembler infrastructure to not use char buffers internally 2016-11-20 08:49:30 -05:00
Nathan Woods
75ff4bbd70 Fixed the unidasm registration for upd7725 2016-11-18 08:51:13 -05:00
Nathan Woods
41cf1e52e0 Added PDP8 to unidasm 2016-11-16 18:26:56 -05:00
Vas Crabb
e61b392edf Merge pull request #1657 from npwoods/dasmstream_arcompact
Changed the arcompact disassembler to use 'std::ostream &' internally
2016-11-17 02:27:29 +11:00
Nathan Woods
4920af3c21 Changed the arcompact disassembler to use 'std::ostream &' internally
Also added arcompact to unidasm
2016-11-11 10:43:30 -05:00
Miodrag Milanovic
7c765ea147 No need for osd_malloc, osd_malloc_array and osd_free (nw)
MALLOC_DEBUG not applicable anymore since we use new to allocate in 99.9% of cases
2016-11-11 16:12:01 +01:00
fulivi
5f54097e53 nanoprocessor: initial support. Disassembler only is known to work at this point. 2016-11-03 14:52:41 +01:00
Miodrag Milanovic
864360160b TRUE/FALSE in tools section (nw) 2016-10-22 18:14:41 +02:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
fulivi
68509a3191 hp_hybrid: added hp_hybrid & hp_5061_3001 to unidasm 2016-09-10 15:52:05 +02:00
Miodrag Milanovic
f127621e13 made constexprs lower case and used constexpr for returning input value as well for rest of defines in osdcomm.h (nw) 2016-07-31 16:47:26 +02:00
Vas Crabb
d3b553728d Add support for showing will branch/will fall through comment on SPARC branches under the cursor
Disabled until we can get a hook to refress the instructions under PC when stepping
2016-06-27 16:59:42 +10:00
Vas Crabb
64f9a674d1 SPARC VIS 2+, VIS 3 and VIS 3B disassembler support [Vas Crabb]
* Note that this omits non-VIS OSA 2007/2011 features
* VIS 2+ ldtxa/ldtwa/sttwa still uses ldda/stda, using new mnemonics requires special-casing this instruction and checking ASI
2016-06-24 03:00:01 +10:00
Vas Crabb
32a75e7ae4 VIS I (UltraSPARC) and II (UltraSPARC III) for SPARC disassembler [Vas Crabb]
* Supports %gsr, all ops with exception of SIAM, and all ASI constants
* Use -arch sparcv9vis1 or -arch sparcv9vis2 with unidasm
2016-06-23 01:13:52 +10:00
Vas Crabb
af406e316a Add SPARC to unidasm [Vas Crabb] 2016-06-22 13:35:20 +10:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02:00
hap
bac87f62fa sm510: added KB1013VK1-2 disasm 2016-04-11 21:45:26 +02:00
hap
80300e5cc6 sm500: added disasm 2016-04-07 20:45:57 +02:00
hap
f5caa4a869 tms1k: make disasm tables human-readable and added initial TP0320 2016-03-15 11:07:52 +01:00