summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mips
Commit message (Collapse)AuthorAgeFilesLines
* Fixed things C++20 doesn't allow: Vas Crabb2026-03-292-46/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui/info.cpp, imagedev/cassette.cpp: Deal with UTF-8 strings as a distint type. ui/inputmap.cpp, debugger/qt/dasmwindow.cpp, debugger/qt/mainwindow.cpp, sound/coreaudio_sound.cpp, cpu/drcbec.cpp, mit/tx0_v.cpp, konami/3dom2.cpp: machine/mc68328.cpp, cpu/mips/mips1.cpp, cpu/mips/r4000.cpp, cpu/romp, machine/cammu.cpp, machine/ns32081.cpp: Avoid arithmetic between different enum types. dec/pdp1.cpp, konami/firebeat.cpp, mit/tx0.cpp, sound/lc7535.cpp, sound/spkrdev.cpp: Avoid arithmetic between enum and floating point. gaelco/gaelco3d_m.cpp: Fixed deprecated uses of volatile variables. sound/discrete.h: Avoid comparing enum to floatint point. ui/toolbar.ipp: Don't use UTF-8 qualifier on pure ASCII strings, just assume char is ASCII-like. cpu/unsp: Use default constructor for compiler_state. sgi/pm2_mmu.cpp: Avoid conflict between file static access and identically named function in unistd.h. osd/interface/audio.h: Provide an explicit constructor. util/server_http_impl.hpp: Fixed uninitialised class member warning.
* Some prep work for extending offs_t to 64 bits. [Vas Crabb, Ryan Holtz] Vas Crabb2026-03-182-7/+10
| | | | | | | | | | | 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.
* Allow recompiling CPU cores to define their own opcode descriptions. Vas Crabb2026-03-025-293/+439
| | | | | | | | | | | | | | The base opcode description now only has the parts that are used by the base recompiler front-end. CPU cores are free to define their own extensions as they see fit without being limited to pre-defined fields. The base recompiler front-end is now a template, eliminating the virtual member functions. It no longer has any dependencies on libemu, which paves the way to decoupling the recompiler front-ends and allowing the instruction analysis to be tested without the rest of the emulator. Also added a compile-time option to disable ASTAT flag update elision in the SHARC recompiler, and fixed some recompiler front-end bugs.
* cpu/mips/mips3com.cpp: Added missing header that was being #included indirectly. Vas Crabb2026-02-031-0/+2
|
* cpu/drccache.cpp: Defer allocating to start, allow forcing W^X mode. (#14760) Vas Crabb2026-01-044-97/+100
| | | | | | | | | | | | | | | | | | cpu/drccache.cpp: Added helpers for allocating structures/objects in the cache. cpu/drccache.cpp: Supply desired alignment when allocating cache memory (not fully implemented). cpu/drccache.cpp: Log some statistics on destruction. emu/emuopts.cpp: Added -[no]drc_rwx option to allow forcing W^X mode when writable executable pages are permitted. cpu/mips, cpu/powerpc: Allow DRC cache size to be set externally at configuration time, so systems can override the default. cpu/dspp, cpu/e132xs, cpu/unsp: Don't allocate DRC resources if recompiler is disabled.
* MIPS disassembler refinements (mips1, mips3, psx, rsp) AJR2025-04-172-150/+210
| | | | | | | | * Change hexadecimal prefix from $ to 0x ($ means something else in MIPS assembler syntax) and omit for small numbers * mips1, mips3, psx: Use shorthand mnemonics bal, beqz(l), bnez(l), li, move, neg, negu, not where applicable * mips1, mips3, psx: Add delay slot to jr ra for stepping out * mips1, mips3: Remove invalid instructions from other MIPS cores and use .word syntax for invalid instructions * mips3: Fix field spacing for some instructions
* misc cpu: no need to check debug enabled flag manually hap2025-04-112-3/+3
|
* mips/mips1: remove embedded syscall logging Patrick Mackinlay2025-03-202-233/+4
|
* -cpu/drcbex64.cpp: Align HANDLE entry point to 16-byte boundary. Vas Crabb2025-03-122-122/+96
| | | | -cpu/mips/mips3drc.cpp: Don't start a new block for every callable helper.
* Cleanup: Vas Crabb2025-02-032-101/+106
| | | | | | | | | | | | | | | | | cpu/drcbex86.cpp: Don't use static address space accessors. This gives a big performance improvement. cpu/drcbeut.cpp: Made failure to resolve address space accessors fatal. cpu/drcbearm64.cpp: Removed fallback to static address space accessors. cpu/mips3/mibs3.cpp: Removed static address space accessors. All they were doing was hurting performance. cpu/drcbex64.cpp: Don't use goofy X64_WINDOWS_ABI macro, just check _WIN32. The only other environment that uses the Windows calling convention is (U)EFI, and we can move feature detection to util/abi.h if we ever need to care about it.
* Revert "wip" Patrick Mackinlay2025-01-101-1/+1
| | | | This reverts commit d731222aac57049354191bed35917206a25460db.
* wip Patrick Mackinlay2025-01-101-1/+1
|
* cpu/drcbec.cpp, cpu/mips/mips3.cpp: Use 32x32=64-bit multiply inlines AJR2024-11-101-6/+6
|
* mips3: Fixes for IDT-specific instructions. [Ryan Holtz] (#12958) MooglyGuy2024-11-102-2/+22
| | | Co-authored-by: Ryan Holtz <TheMogMiner>
* igs/igs_m027.cpp, igs/igs_m027xa.cpp: Miscellaneous improvements: Vas Crabb2024-10-101-2/+5
| | | | | | | | | | | | * igs/igs_m027.cpp: Added memory clear switch to clear memory contents when power is removed (hard reset with the switch on to clear NVRAM). * igs/igs_m027xa.cpp: Got rid of hopper from Crazy Bugs (V103JP) since there appears to be no way to use it and exposed hopper switch as a user input so it can still be tested. * igs/igs_m027xa.cpp: Got rid of third bank of DIP switches from Crazy Bugs (V103JP) as comments indicate it isn't physically present (although it is displayed in the input test). * Use mnemonic short names for clones.
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-275-26/+26
| | | | (#12822)
* diexec: remove vestigal execute_input_lines() hap2024-09-184-4/+0
|
* mips1: avoid sgi 4d1-3b panic Patrick Mackinlay2024-04-051-1/+1
| | | | * bump r2000 processor revision to avoid emulating a tlb bug
* mips3: Reduce amount of code hidden behind preprocessor #ifs AJR2024-01-092-12/+5
|
* mips/o2dprintf.hxx, pinball/wpc_pic.cpp, shared/isbc_215g.cpp, ↵ AJR2024-01-091-20/+12
| | | | sound/asc.cpp: Use multibyte.h helpers
* mips1: cache diagnostic fixes Patrick Mackinlay2023-09-221-4/+23
| | | | * implement cvt.w.fmt infinity/NaN exception
* r4000: intention is no longer a mask Patrick Mackinlay2023-08-081-6/+6
|
* mips1: improved cache logic for partial word store Patrick Mackinlay2023-08-082-21/+38
|
* sgi/ip20: enable memory configuration Patrick Mackinlay2023-07-252-3/+3
| | | | * add a minimal nvram dump to set eaddr and netaddr
* mips1: fix swl/swr cache logic Patrick Mackinlay2023-07-211-3/+2
|
* mips1: emulate instruction and data caches Patrick Mackinlay2023-07-182-252/+416
|
* mips3: revert mistaken change, fix MT#8694 Patrick Mackinlay2023-07-101-1/+1
|
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-4/+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.
* mips3: fix tlb modify exception registers Patrick Mackinlay2023-06-072-3/+3
|
* mips3: remove stray printf hap2023-06-031-3/+0
|
* emu/device.h: Removed device (READ|WRITE)_LINE_MEMBER in favor of explicit ↵ MooglyGuy2023-06-011-0/+3
| | | | function signatures. (#11283) [Ryan Holtz]
* mips1: fix build Patrick Mackinlay2023-05-272-8/+9
|
* mips1: fix address translation Patrick Mackinlay2023-05-272-22/+12
|
* Cleaned up logging across the codebase (GitHub #10183). (#11250) [Ryan Holtz] MooglyGuy2023-05-232-4/+1
| | | | | * Converted various logging patterns to use logmacro.h consistently. * Removed redefinitions of LOG_GENERAL. * Use LOGMASKED in more places.
* cpu/mips, sgi/sgi.cpp: Fixed MIPS3 PRID and memory controller RPSS issues: ↵ Jiaxun Yang2023-04-303-2/+15
| | | | | | | | | (#11128) * cpu/mips3: Report proper fcr0 PRID (same as CPU PRID in most cases). * cpu/mips3: Bumped major rev of R4600 PRID to 2 (original R4600 was too problematic so almost all systems are shipped with R4600 rev 2.0). * sgi/indigo.cpp, sgi/indy_indigo2.cpp: Supply clock frequency for memory controller. * sgi/indigo.cpp, sgi/indy_indigo2.cpp: Corrected CPU clock frequencies. * sgi/sgi.cpp: Reimplemented memory controller RPSS taking clock frequency into account and without using a timer.
* kpython: Change CPU to PS/2 Emotion Engine AJR2023-04-292-51/+149
|
* bus/gio64/newport.cpp, cpu/mips/mips3.cpp: Fixed issues affecting IRIX. (#11117) Jiaxun Yang2023-04-181-9/+10
| | | | | * cpu/mips/mips3.cpp: Sign-extend result of COP0 LL instruction. * cpu/mips/mips3.cpp: Ported COP0 Random implementation from new R4000 interpreter. * bus/gio64/newport.cpp: Use octant encoding used by hardware, and fixed Scr2Scr.
* cpu/mips: Fixed memory access handling in the IDT MIPS R4650 core. (#11065) ↵ MooglyGuy2023-04-034-74/+369
| | | | | [Ryan Holtz] Correctly support the R4650's lack of TLB.
* cpu/nec: Fixed build; also, srcclean Vas Crabb2023-03-261-1/+1
|
* -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-189-104/+127
| | | | divtlb: Wrap the constants
* Interrupt callback rationalization AJR2023-03-112-7/+10
| | | | | | | | | | | - Make CPUs pass interrupt return PC as a second argument to standard_irq_callback - Add interrupt return PC to "Stopped at interrupt" message produced by debugger 'gint' command - Add messages to trace logs whenever interrupts are accepted - Attempt to step over interrupt routines for applicable debugger commands - Eliminate standard_irq_callback_member wrapper method - Update many CPU cores to invoke standard_irq_callback at the start of or during interrupt processing, rather than at the end or when the input line changes - Remove IRQ callbacks for some input lines that never cause interrupts - mb88xx, mcs48: Add IRQ callbacks for internal interrupts
* r4000.cpp: partially implement secondary cache tag manipulation (#9923) Brice Onken2022-06-132-73/+196
|
* Revert "stupid_git" AJR2022-06-041-5/+5
| | | | This reverts commit c2b6d57e5c966c1d5b986507e599d9919c0e2de7.
* Merge remote-tracking branch 'upstream/master' AJR2022-06-042-2/+2
|\
| * - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | stupid_git AJR2022-06-041-5/+5
|/
* cpu/mips/r4000.cpp: Added TimerIntDis mux to IPEX5. (#9718) Brice Onken2022-05-132-11/+37
|
* mips3: Fixed error flagged by GCC 12 [Ryan Holtz, R. Belmont] arbee2022-05-111-4/+4
|
* Addressed performance loss from recent z80scc changes (#9629) [Ryan Holtz] MooglyGuy2022-04-261-12/+13
| | | | | | | z80scc: Removed unused Z80SCC_USE_LOCAL_BRG and simplified WR15_ZEROCOUNT usage to reduce the likelihood of needless timer activation. mips3drc: Additional micro-optimizations to generate_checksum_block.