summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/arm7
Commit message (Collapse)AuthorAgeFilesLines
* Some prep work for extending offs_t to 64 bits. [Vas Crabb, Ryan Holtz] Vas Crabb2026-03-182-24/+24
| | | | | | | | | | | This covers some of stuff highlighted in #14689 where the approach to apply is reasonably obvious and the changes are harmless when offs_t doesn't change size. Most of this is being more strict with offs_t vs uint32_t and switching to type-safe formatting functions. Also renamed gaelco/gaelcof3.cpp to gaelco/futbol3.cpp since the company name is in the project name anyway.
* Various small improvements: Vas Crabb2025-09-057-4104/+4
| | | | | | | | | | | | | | | | | | | | misc/crystal.cpp: Added lamp outputs used by Office Yeoin Cheonha and Urachacha Mudaeri, and fixed button order/names for Urachacha Mudaeri. cpu/uml.cpp: Added a couple of simplification rules. ADDC's inputs are commutative, and TEST with an immediate zero operand effectively ignores the other operand. namco/namcos23.cpp: Treat spinny things as a dial rather than half a mouse. cpu/arm7: Removed the recompiler that had never been completed. cpu/drcumlsh.h: Removed helpers for generating the unimplemented JMPH instrcution. Trying to use it would cause a compile error. docs: Documented the most common DRC UML integer arithmetic and logical instructions.
* misc cpu: no need to check debug enabled flag manually hap2025-04-112-3/+3
|
* cpu/arm7: Added Intel StrongARM SA-1100 variant. Nigel Barnes2025-02-183-5/+32
|
* misc: remove "all rights reserved" copyright comment, hap2025-01-228-13/+13
| | | | mcs51: remove old changelog from comments, remove copypasted comment block
* -tools/imgtool/modules: Fixed remaining calss memory access warnings. Vas Crabb2024-11-261-3/+3
| | | | | | | | -tools/imgtool/modules/vzdos.cpp: Fixed function returning floperr_t value as imgtoolerr_t. -devices: Fixed a bunch more #include guards that don't match file paths.
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-273-14/+14
| | | | (#12822)
* sega/megadriv_acbl.cpp, skeleton/zorbakbd.cpp: Sorted DIP switch options. Vas Crabb2024-09-261-6/+2
| | | | | Order coinage options from least to most generous, put off to the left of on.
* New systems marked not working hap2024-09-211-4/+1
| | | | | ------------------------------ Sensory Backgammon [hap, Sean Riddle]
* -cpu/arm7: Added interrupt helpers, hid details from most clients. Vas Crabb2024-09-2210-120/+148
| | | | | | | | | | | | | | * cpu/arm7: Moved input line and state item numbers into class declaration so most users don't need the internal header. * cpu/arm7: Added callbacks so run to next interrupt works in the debugger. * cpu/arm7: Added helpers for SoCs that generate effective FIQ/IRQ signals with and onboard interrupt controller. * igs/igs027a.cpp: Moved presumed onboard RAM and possible FIQ enable into the device. -igs/igs_m027.cpp: Cleaned up installation of varying numbers of PPIs, got rid of the chessc2 and gonefsh2 PPIs that don't really exist.
* diexec: remove vestigal execute_input_lines() hap2024-09-181-1/+0
|
* -igs/igs027a.cpp: Started encapsulating IGS 027A onboard peripherals. Vas Crabb2024-09-132-3/+25
| | | | | | | | | | | | | -igs/igs_m027.cpp: Improved I/O: * Hooked up inputs, hopper and counters for mgcs3. * Hooked up mahjong keyboard for lhzb4. * Added more RAM for extradrw. -Bumped GitHub CI to three simuataneous jobs for Windows and Linux - this should be OK with 16GB RAM. -Added out-of-line destructors to various device classes that aren't templates and aren't in anonymous namespaces.
* arm, arm7: Use util::sext in execution of branch instructions AJR2023-11-081-13/+3
|
* arm7: another disassembly fix Olivier Galibert2023-11-091-1/+1
|
* arm7: correct dasm of register shift op2 Olivier Galibert2023-11-081-1/+1
|
* sega/sega_beena.cpp: Emulated Advanced Pico BEENA and TV Ocha-Ken. (#11213) qufb2023-10-282-0/+79
| | | | | | | | | | | | | | | | | | | | | | | Basic functionality is supported, making most games playable. StoryWare display is not yet implemented. Game-specific peripherals are not emulated. There are still some issues with graphics. emu/ioport.h: Fixed rarely-used PORT_CROSSHAIR_MAPPER and PORT_CROSSHAIR_MAPPER_MEMBER macros. cpu/arm7: Added AP2010 CPU device. sound/ap2010pcm.cpp: Added basic AP2010 PCM audio output device. Systems promoted to working ------------------------ Sega Advanced Pico BEENA New working systems ------------------------ Sega TV Ocha-Ken
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-7/+1
| | | | | | | | | | | | Read callbacks now need a default return value supplied at construction. Replaced isnull() with isunset() which tells you if the callback wasn't configured rather than whether it isn't safe to call. Enabled validation of device callbacks (it seems it was disabled at some point, probably accidentally). Device callbacks and object finders now implement the same interface for resolution.
* Cleaned up logging across the codebase (GitHub #10183). (#11250) [Ryan Holtz] MooglyGuy2023-05-232-10/+10
| | | | | * Converted various logging patterns to use logmacro.h consistently. * Removed redefinitions of LOG_GENERAL. * Use LOGMASKED in more places.
* -Lua engine: run everything in coroutines. (#11019) Vas Crabb2023-03-251-2/+1
| | | | | | | | | * This lets you use emu.wait(...) directly without mucking around creating coroutines. * Allow emu.wait to accept an attotime argument. * Added a couple more wait helper functions. -emu/profiler.h: Actually use scope-based profiling helpers. * This makes the comment at the top of emu/profile.h less dishonest, and makes it easier to write exception-safe code. * Got rid of some do { ... } while (0) loops that only existed so break could be used like a goto.
* dimemory: Add the target address space to translate, wrap the constants Olivier Galibert2023-03-182-10/+10
| | | | divtlb: Wrap the constants
* arm7: Clean up various code using util::sext and multiply inlines AJR2023-02-203-118/+40
| | | | * mb86235: One more use of util::sext
* Move debugger command parameter validation helpers into debugger_console AJR2022-10-291-2/+1
|
* eminline.h: Additions AJR2022-09-255-24/+14
| | | | | | - Add mul_16x16 inline function to perform a signed 16x16-bit multiplication with 32-bit result. This was moved from cpu/e132xs to unite it with the analogous 32x32 operations. - Add rotl_32, rotr_32, rotl_64 and rotr_64 inline functions to perform 32-bit and 64-bit circular shifts in either direction by the specified number of places, modulo 32 or 64. It is anticipated that these will eventually be replaced by standard functions in C++20's <bit> header, and so they have been given similar signatures and semantics (which are also validity-checked). - Remove LSL, LSR, ROL and ROR macros from cpu/arm and cpu/arm7 to ameliorate unnecessary obfuscation.
* Change debugger command handler parameter vector element type from ↵ AJR2022-08-022-6/+6
| | | | std::string to std::string_view
* - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | members. (#9788) Primarily, this removes device_t::device_timer, device_t::timer_set, device_t::synchronize, device_t::timer_expired, and device_timer_id. Use of device_timer often resulted in unnecessary trampolining in addition to switch/case overhead on a driver/device level, and additional logic to manage delegated vs. ID-based timers on a core level. In the worst cases, devices were performing a switch/case with only one valid case. device_scheduler::timer_set is marked deprecated as the only remaining direct uses are via the Lua engine and a few drivers that need refactoring anyway. The remaining uses occur via device_scheduler::synchronize. As a middle ground between the extremely short timer_alloc() and the extremely long machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(widget_device::contoso_tick), this)), a helper function in device_t has been added which can be invoked with the following syntax: timer_alloc(FUNC(widget_device::contoso_tick), this) - Additional changes/cleanups performed along the way: - Converted to use logmacro: * src/devices/bus/ieee488/hp9895.cpp * src/devices/bus/ieee488/remote488.cpp * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/isa/sc499.cpp * src/devices/bus/vip/vp550.cpp * src/devices/cpu/i86/i186.cpp * src/devices/cpu/lc8670/lc8670.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/corvushd.cpp * src/devices/machine/ds1994.cpp * src/devices/machine/ticket.cpp * src/mame/audio/pinsnd88.cpp * src/mame/drivers/notetaker.cpp * src/mame/machine/asic65.cpp * src/mame/machine/rmnimbus.cpp * src/mame/machine/victor9k_fdc.cpp * src/mame/video/uv201.cpp - Made usage of m_member prefix consistent: * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/machine/ds1386.cpp * src/devices/machine/i7220.cpp - Spacing consistency pass: * src/devices/bus/isa/hdc.cpp * src/devices/bus/isa/omti8621.cpp * src/devices/bus/thomson/nanoresau.cpp * src/devices/bus/ti99/internal/992board.cpp * src/devices/bus/ti99/internal/genkbd.cpp * src/devices/bus/ti99/internal/joyport/handset.cpp * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/cpu/i86/i186.cpp * src/devices/cpu/lc8670/lc8670.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/cop452.cpp * src/devices/machine/corvushd.cpp * src/devices/machine/hp_dc100_tape.cpp * src/devices/machine/hp_taco.cpp * src/devices/machine/meters.cpp * src/devices/machine/microtch.cpp * src/devices/machine/phi.cpp * src/devices/video/ef9365.cpp * src/devices/video/v9938.cpp * src/mame/drivers/alphaskop41xx.cpp * src/mame/drivers/myb3k.cpp * src/mame/drivers/notetaker.cpp * src/mame/drivers/wpc_an.cpp * src/mame/machine/midikbd.cpp * src/mame/machine/rmnimbus.cpp * src/mame/machine/wpc_lamp.cpp * src/mame/machine/wpc_out.cpp - Removed string-based ioport lookups: * src/devices/bus/ti99/internal/joyport/handset.cpp * src/devices/bus/ti99/internal/joyport/mecmouse.cpp * src/devices/bus/vme/vme_hcpu30.cpp * src/mame/machine/k7659kb.cpp * src/mame/machine/ti85.cpp - Adjustments to grammar/wording in comments * src/devices/bus/sms_ctrl/lphaser.cpp * src/devices/bus/sms_ctrl/sports.cpp * src/devices/bus/snes/event.cpp * src/devices/bus/snes/sa1.cpp * src/devices/bus/thomson/nanoresau.cpp * src/devices/bus/z88/z88.cpp * src/devices/machine/ds1386.cpp * src/devices/machine/vic_pl192.cpp - Favored BIT() macro for single-bit checks * src/devices/bus/ti99/internal/992board.cpp * src/devices/bus/ti99/joyport/handset.cpp * src/mame/drivers/notetaker.cpp * src/mame/machine/wpc_lamp.cpp * src/mame/machine/wpc_out.cpp - Removed C89-style variable declarations when noticed * src/devices/bus/isa/hdc.cpp * src/devices/bus/sms_ctrl/lphaser.cpp * src/devices/bus/ti99/joyport/mecmouse.cpp * src/devices/machine/acorn_vidc.cpp * src/devices/sound/ymz280b.cpp * src/devices/video/vic4567.cpp - Removed FUNCNAME to avoid compiler-specific #define checks in devices * src/devices/bus/vme/vme_fccpu20.cpp * src/devices/bus/vme/vme_hcpu30.cpp * src/devices/machine/68230pit.cpp * src/devices/machine/mc14411.cpp * src/mame/drivers/myb3k.cpp - Removed unecessary member prefixes/suffixes * src/devices/video/ef9340_1.cpp * src/mame/drivers/fuukifg2.cpp * src/mame/drivers/fuukifg3.cpp * src/mame/drivers/intv.cpp * src/mame/drivers/simpsons.cpp * src/mame/drivers/socrates.cpp * src/mame/drivers/special_gambl.cpp * src/mame/drivers/sprint4.cpp * src/mame/drivers/ti990_10.cpp * src/mame/drivers/tubep.cpp * src/mame/drivers/vectrex.cpp * src/mame/drivers/wpc_an.cpp * src/mame/drivers/wpc_dot.cpp * src/mame/drivers/wpc_flip1.cpp * src/mame/drivers/wpc_flip2.cpp * src/mame/machine/z80ne.cpp * src/mame/video/rollerg.cpp - Switched to lower-case hex constants * src/devices/video/ef9365.cpp * src/mame/machine/rmnimbus.cpp - Re-ordered driver overrides and function members * src/mame/drivers/boxer.cpp * src/mame/drivers/eurocom2.cpp * src/mame/drivers/exidy.cpp * src/mame/drivers/gpworld.cpp * src/mame/drivers/h19.cpp * src/mame/drivers/ibmpcjr.cpp * src/mame/drivers/mekd5.cpp * src/mame/drivers/mgolf.cpp * src/mame/drivers/myb3k.cpp * src/mame/drivers/nightmare.cpp * src/mame/drivers/notetaker.cpp * src/mame/drivers/ptcsol.cpp * src/mame/drivers/pwrview.cpp * src/mame/drivers/rabbit.cpp * src/mame/drivers/sitcom.cpp * src/mame/drivers/socrates.cpp * src/mame/drivers/sprint4.cpp * src/mame/drivers/techno.cpp * src/mame/drivers/thayers.cpp * src/mame/drivers/ti990_10.cpp * src/mame/drivers/ti990_4.cpp * src/mame/drivers/tv912.cpp * src/mame/drivers/tv990.cpp * src/mame/drivers/uchroma68.cpp * src/mame/drivers/vk100.cpp * src/mame/drivers/votrhv.cpp * src/mame/drivers/wicat.cpp * src/mame/drivers/wpc_an.cpp * src/mame/includes/abc80.h * src/mame/includes/asterix.h * src/mame/includes/fuukifg2.h * src/mame/includes/fuukifg3.h * src/mame/includes/gunbustr.h * src/mame/includes/intv.h * src/mame/includes/namcona1.h * src/mame/includes/newbrain.h * src/mame/includes/poly.h * src/mame/includes/prof80.h * src/mame/includes/rollerg.h * src/mame/includes/s11.h * src/mame/includes/segahang.h * src/mame/includes/simpsons.h * src/mame/includes/spacefb.h * src/mame/includes/tandy2k.h * src/mame/includes/trucocl.h * src/mame/includes/tubebp.h * src/mame/includes/vidbrain.h * src/mame/includes/wolfpack.h * src/mame/includes/wpc_dot.h - Made capitalization consistent on class members * src/devices/machine/meters.cpp * src/mame/drivers/namcona1.cpp * src/mame/drivers/notetaker.cpp -src/devices/bus/isa/hdc.cpp: * Removed fixed-size std::vector in favor of std::unique_ptr -src/devices/bus/isa/s3virge.cpp: * Moved unusually large (for a header) functions into .cpp from header -src/devices/bus/vip/vp550.cpp * Switched to required_device_array to simplify code paths -src/devices/machine/arm_iomd.cpp * Added initializers to constructor * Favored std::size over fixed static sizes -src/devices/machine/ds1386.cpp * Moved register #defines into header enums -src/devices/machine/mc68901.cpp * Removed unnecessary parameters and emu_timer::enable calls -src/devices/machine/mccs1850.cpp * Removed inline overuse -src/devices/machine/meters.cpp * Removed unused members -src/devices/machine/mos6526.cpp * Removed inline overuse -src/devices/machine/nsc810.cpp * Converted to arrays rather than individually-numbered members -src/devices/machine/pxa255.cpp * Simplified DMA transfer code -src/devices/machine/saa1043.cpp * Removed extraneous members in favor of resolve_all_safe -src/devices/machine/vic_pl192.cpp * Shifted constructors, start-up, and maps to be at the top of the source file -src/devices/machine/z8536.cpp * Removed stray uses of device_timer_id -src/devices/sound/cdp1869.cpp * Removed inline overuse -src/devices/sound/mos7360.cpp * Converted to arrays rather than individually-numbered members -src/emu/device.cpp * Removed ID-based timer_alloc * Removed timer_set * Removed synchronize * Removed timer_expired * Added shorthand timer_alloc to avoid lengthy machine().scheduler().timer_alloc() calls -src/emu/schedule.cpp * Removed now-unused m_id and m_device members -src/mame/audio/alesis.cpp * Added initializers to constructor -src/mame/drivers/alto2.cpp * Removed custom-named driver init in favor of driver_init override * Removed octal constant in favor of more standard hex -src/mame/drivers/astinvad.cpp * Fixed 'kamizake' typo -src/mame/drivers/tm990189.cpp * Removed unnecessary machine reset override -src/mame/drivers/unichamp.cpp * Removed custom-named driver init in favor of driver_init override -src/mame/drivers/votrhv.cpp * Fixed ROM_LOAD macros and region() usage in memory maps -src/mame/machine/victor9k_fdc.cpp * Made bracing style consistent across the file -src/mame/video/gime.cpp * Removed unnecessary void specifiers in function prototypes
* Debugger feature improvements AJR2022-03-271-8/+28
| | | | | | | | - Add 'gbt' and 'gbf' debugger commands to step until a true or false conditional branch has been detected. - Update over 100 of the disassemblers in MAME to output a new STEP_COND flag for all conditional branches. Besides being used for execution of the new 'gbt' and 'gbf' commands, this flag also now helps the debugger 'out' command to properly handle conditional return instructions. - Remove STEP_OVER from many instructions that aren't actually subroutine calls (e.g. DJNZ on Z80). A 'gni' debugger command (go next instruction) has been added to accommodate some of the misuse. - Add instruction flag support to several more disassemblers that lacked them entirely (e.g. st62xx) - Don't pass over delay slots for debugging in ASAP core
* srcclean and manual tidying up in preparation for 0.242 release Vas Crabb2022-03-271-2/+2
|
* arm7: Disassembly improvements AJR2022-03-132-825/+876
| | | | | | | | | | | | | | | | | - Correct formatting of LDR and STR pre-indexed writeback modes - Correct opcode suffixes for LDM and STM in ARM mode - Correct LDRSH mnemonic in Thumb mode - Omit destination register for data processing instructions when Rd = Rs - Recognize RRX shift mode - Disassemble immediate ADD or SUB from R15 as ADR in both ARM and Thumb modes - Use ARM-preferred LSL, LSR, ASR, ROR and RRX mnemonics for shifted MOV operations - Fully disassemble flag field for MSR [CS]PSR - Use 0x as hexadecimal prefix except for small constants - Make output in Thumb mode prettier - Recognize a few more ARMv5/v5TE instructions - Add STEP_OUT debugging flag to a few more instructions commonly used for exits - Regularize a lot of sloppy formatting - Somewhat reduce code duplication in Thumb disassembler
* arm7: Add debugger privilege callback for 26/32, A/T and user mode changes AJR2022-03-132-2/+10
|
* Remove void *ptr parameter from emu_timer, timer_device and all related ↵ AJR2022-01-262-2/+2
| | | | callbacks
* -arm7: Fixed TLB Flush behavior. Fixes Github issue #8856. [Ryan Holtz] (#8876) MooglyGuy2021-11-241-10/+65
| | | Co-authored-by: MooglyGuy <mog@home>
* srcclean in preparation for release of MAME 0.238. Vas Crabb2021-11-212-5/+5
| | | | | | | Patched up positron.cpp input ports - you shouldn’t use PORT_NAME when the key cap label is just the characters it produces anyway, and you’re supposed to use the actual character a key produces for PORT_CHAR or "natural" keyboard mode/paste will be unnatural.
* new NOT_WORKING machine (Casio CTK-2100) (#8757) Devin Acker2021-10-274-28/+363
| | | | | | | | | | | | | | | | | | | | | | | * ctk2100: preliminary work * ctk2100: possible keyboard hookup * ctk2100: hook up rudimentary timers * ctk2100: add ports and hook up the LCD * ctk2100: timer tweaks, input tweaks * ctk2100: fix I/O port reads (stops constant LCD resets) * gt913: increase key polling rate (fixes ctk2100 test mode) * ctk2100: add ADCs, clean up and comment some other stuff * lpc210x: add the PL190 VIC here too while i'm at it * vic_pl192: fix clang build * unidasm: add gt913
* debugger: Extended target address syntax to include device/address space. ↵ Vas Crabb2021-10-012-10/+10
| | | | | | | | | | | | | | | | | | | (#8630) Added a validity check to ensure address space names are tag-like and unique, since they're now used as identifiers in debugger commands. Extended the syntax for target addresses to allow them to be qualified with a colon followed by an optional device tag and/or address space name. If only the device needs to be specified, a debugger CPU number may also be used. This makes commands like bpset and wpset more flexible, as they can operate on CPUs other than the currently visible CPU. Commands like find, fill, dump and load are more flexible as they can access any space of any device. Removed now-redundant CPU parameters from many commands, and renamed pcatmemp to pcatmem for consistency with other commands. Extended region syntax for saver/loadr to support tags relative to the visible CPU (e.g. you can use "." for the region with the same name as the visible CPU, or "^sibling" syntax). Added an optional root device parameter to memdump. Changed interpretation of Boolean values to support numeric expressions as well as true/false strings and literal 1/0. Added checks that the specified device is CPU-like to various commands that require a CPU (e.g. focus). Previously these commands would crash or trigger an assertion failure if a tag for a non-CPU devices was specified. Fixed the cpunum symbol so it uses the same rules for determining what is or isn't a CPU as parameter parsing. Made device_t sanitise subtags better. Previously you could cause an assertion failure or crash MAME by giving it unexpected relative tags via Lua or the debugger. Added help topic alias support, and reworked the data structures to improve the performance of looking up debugger commands and help topics. Removed the "ref" parameter from debugger command functions (std::bind can hold extra argument values for you if you need them). Also added an error message if duplicate debugger commands are registered. Updated help for commands that changed syntax, and also updated summaries for some commands that had changed in the past without corresponding help updates.
* Added helpers for 64-bit count leading zeroes/ones. Vas Crabb2021-06-131-1/+1
|
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-142-19/+35
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* srcclean in preparation for branching release Vas Crabb2021-01-242-2/+2
|
* -arm7: Moved WinCE call logging into a separate .hxx file. [Ryan Holtz] Ryan Holtz2021-01-012-1055/+1067
|
* -arm7: Added optional logging for Windows CE calls. [Ryan Holtz] Ryan Holtz2020-12-313-53/+1186
| | | | | | -uda1344: Added skeleton audio device for Philips UDA13444 Codec. [Ryan Holtz] -sa1111: Hooked up basic L3 audio transceiver support. [Ryan Holtz]
* srcclean for 0.227 Vas Crabb2020-12-272-17/+17
|
* -arm7: Fixed the build. [Ryan Holtz] Ryan Holtz2020-12-261-8/+8
|
* -arm7: Added rudimentary TLB support. Allows HP Jornada 720 to boot further. ↵ Ryan Holtz2020-12-263-117/+500
| | | | [Ryan Holtz]
* New machines marked as NOT_WORKING Ryan Holtz2020-12-243-131/+86
| | | | | | | | | | | | | ------------------ Hewlett-Packard Jornada 720 [Ryan Holtz] * arm7: Fixed interaction between instruction prefetching with the MMU enabled. [Ryan Holtz] * sa111: Added skeleton device for Intel SA-1111 Microprocessor Companion Chip. [Ryan Holtz] * sed1356: Added skeleton device for Epson/Seiko SED1356 video controller. [Ryan Holtz] * sa1110: Various cleanups. Added rudimentary SSP module support. [Ryan Holtz]
* More Lua engine clean-up and documentation, resulting in core cleanup. Vas Crabb2020-12-182-79/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More Lua interface cleanup, additional properties and methods, and documentation migration/expansion. Emulated switch inputs can have "not" codes applied to host input axis directions. It works the same way as host switch inputs - push twice for a "not" prefix. Input polling helpers no longer need to store state in the input device items. There’s less leakage, and less chance of things interfering with each other. Allow snapshot view options to be configured through the internal UI via the video options menu. Made video options menus place initial focus on the currently selected view item. Removed some crud from the menu base class. Fixed the description of the "snapview" option. The value to get raw screen pixels was changed to "native" a long time ago but the description was never updated. Re-arranged the Golden Poker button lamps so that the 6-button layouts for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold buttons double as bonus game and bet buttons, but the lamp outputs don't change. The simplest way to deal with this without requiring the user to switch views or using layout scripting is to place the dedicated buttons directly below the hold buttons that correspond to them. Removed some software list data that was redundantly copied into device_image_interface (m_supported was never even set, so it didn't even work), and made crc() work better (previously it wasn't recalculuated after unloading and loading another image). Made strformat.h and devcb.h play nicer with C++17 and pre-standard C++20. Format precision now correctly limits the length of string views. Confirmed that strformat.{h,cpp} works with pre-standard C++20 support in GCC 9. Removed an auto_alloc from cpu/arm7.
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-0/+1
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* arm7thmb.cpp this should be more accurate ROR fix MetalliC2020-08-051-3/+3
|
* -arm7thmb: Fixed THUMB ROR behavior for shift values of 0 or >= 32. All ↵ Ryan Holtz2020-08-051-12/+16
| | | | tests in FuzzARM now pass. [Ryan Holtz]
* -arm7: Added placeholder devices for PXA250 and PXA270, and corrected PXA255 ↵ MooglyGuy2020-06-222-3/+39
| | | | | | | | CPU ID. [Ryan Holtz] -pxa255: Added preliminary support for RTC, clock, and power management registers. [Ryan Holtz] -zaurus: Added correct dumps for SL-5500 model. Renamed existing SL-5500 model to suspected model (SL-C500). [Ryan Holtz]
* finally retired the READ8/16/32/64 and WRITE8/16/32/64 macros (nw) Ivan Vangelista2020-06-185-59/+59
|
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-252-6/+8
| | | | | | | | | | | | | | | | not pointers anymore [O. Galibert] The last(?) two changes are: - Add a template parameter to everything (theoretically the address space width, in practice a level derived from it to keep as much compatibility between widths as possible) so that the shift size becomes a constant. - Change the syntax of declaring and initializing the caches and specifics so that they're embedded in the owner device. Solves lifetime issues and also removes one indirection (looking up the base dispatch pointer through the cache/specific pointer).