| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* toaplan/mjsister.cpp: Use memory share creator for VRAM, put banked
ROM in its own region so the fixed ROM region can be sized correctly.
* cpu/s2650: Use util::sext rather than goofy lookup table.
* Fixed a lot more #include guards that didn't match header paths.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
You now use FUNC or NAME to configure port field callbacks, like you
would when configuring other kinds of callbacks. This has a number of
benefits:
* No need to remember different syntax for port field callbacks, and
more approachable for new contributors.
* May use function templates with multiple arugments using NAME((&...))
syntax without resorting to another layer of macros.
* May use non-member functions on the odd chance it's useful.
* More natural syntax for referring to member functions.
|
| |
|
|
| |
(#12822)
|
| | |
|
| | |
|
| |
|
|
| |
couple of coverity warnings.
|
| | |
|
| |
|
|
|
|
|
| |
* bus/nes_ctrl: Minor fixes for Famicom Keyboard and Data Recorder.
- Allows Lode Runner to successfully detect keyboard, enabling save/load menu options.
* Also fix Arkanoid 2 saving to tape.
|
| |
|
|
|
| |
Clones promoted to working
--------------------------
Sharp My Computer Terebi C1 [kmg]
|
| |
|
|
|
| |
(#10165)
For all controllers, added %p player specifier, made device_input_ports() protected, and moved initializations from headers to constructors.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
* MMC1: Made mirroring bits overridable for derivative boards. Also removed code for rumored MMC1C variant.
* Moved various boards' hardwired mirroring from pcb_reset() to the software list.
* Removed redundant banking of VRAM for non-banking boards and redundant variable setting.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
* nes: Various minor fixes, more cleanups with bit functions.
bus/nes/benshieng.cpp: Streamline banking; no need to store variables in this device.
bus/nes/hes.cpp: Only support multicarts. Related singleton carts reassigned to relevant board types.
bus/nes_ctrl/hori.cpp: Amend some minutiae involving strobing and excessive controller reading.
hash/nes.xml: Removed a few more baddump flags.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* nes.h: Removed ancient unused defines and variables.
* playch10.cpp: Removed unused shared pointer.
* vsnes.cpp: Changed BaseBall in titles to Baseball.
* bus/nes: Cleaned up various device_type comparisons and set some consts const.
* sound/nes_defs.h: Fixed a DPCM table entry that was off by one.
|
| |
|
|
| |
- Removes the pixel-perfect sensor by averaging pixel brightness over circular area around gun position.
- Treat RGB values equally and don't use lib/util/palette.h's weighted brightness function.
|
| |
|
|
|
|
|
|
|
| |
* famibox.cpp: Added NES controller slots.
- Added r/w of zapper enable bit through appropriate ports. Controllers and zapper now pass the internal self-test.
- Shrunk nametable RAM down to correct 2K (mirroring still not correctly implemented).
* New working clones
------------------
FamicomStation [Patnukem]
|
| |
|
|
|
|
|
|
| |
- Limited light detection to scanlines recently drawn by CRT.
- Lowered light detection threshold to better reflect how real zapper behaves; color doesn't need to be white.
- Bugs fixed:
* not detecting hits on certain white objects
* misdetecting hits on objects far away from the pointer
* not being able to track where zapper is pointed in demo/test software
|
| |
|
|
|
|
|
|
| |
- Generalized the read/write pattern for joypads a bit more and placed it in the base NES joypad class.
- Using that, added Virtual Boy controller and simplified Pachinko controller some more.
New working software list additions (nes.xml)
-----------------------------------
Candelabra - Estoscerro [SlyDogStudios]
|
| |
|
|
| |
callbacks
|
| |
|
| |
-nes.xml: Corrected Metroid release year.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* bus/nes_ctrl: Updated mahjong controller base on hardware info.
- Fixed reversed Start and Select buttons.
- Added more labels to the multi-use buttons.
* emu/inpttype.ipp: Added player 3 and player 4 mahjong input types.
|
| |
|
| |
* bus/nes_ctrl: Updated Partytap controller. Project Q now detects the controller and inputs work.
|
| |
|
|
|
|
| |
* bus/nes_ctrl: Revised Bandai Hyper Shot to only use exp port calls.
- Also corrected Space Shadow mirroring. Now game properly blanks background every other frame.
- Use %p player specifier for B button.
- Use helper function for writing strobe bit
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bus/nes_ctrl: Work on Famicom joypads + more separation of EXP port.
- Enforced proper strobe behavior on joypads. Added helper function to controller interface for common pattern.
- Added proper expansion port version of joypad.
- Streamlined pachinko controller by making it an expansion joypad subclass. Moreover, ball launch lever now works correctly!
- Added missing battery-backed WRAM to Pachio-kun 5, game runs now.
- Simplified arcade stick a bit, now also a subclass of the expansion joypad.
- Rewrote Hori Twin and 4 Players adapters. The latter's 4P mode protocol now works. In theory this supports six players simultaneously, though all known games using it have duplicate controls for P1 and P2.
machine/nes.cpp: Removed hack that shifted bit 0 reads to support controller port joypads on expansion port. There shouldn't be any expansion port devices left that write to bit 0.
* Fix missing battery-backed WRAM for Royal Blood and Vegas Connection, while we're at it.
|
| |
|
|
|
|
|
| |
- Removed read_exp call from fcpad2. The FC expansion port is not tied to the relevant line at all.
- Replaced with read_bit2 in the control port interface for the same purpose.
- Separated JOYPAD inputs from MIC. The microphone shouldn't be mixed with button inputs' shift register.
machine/nes.cpp: Also removed read_exp calls on FC control ports. Other than the microphone on fcpad2 nothing used these (nor should they as the only line in common is $4017 bit 0, which in general is never used by the expansion port).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added pseudo format specifiers to controller port names: %p for player
and %% for literal percent symbol. This lets you get the localised
player identifier in overridden input names (see NES and Neo-Geo for
examples), and reduces the number of messages to translate.
For translators, the new messages are mostly previously existing
messages with wording adjusted for clarity (e.g. referring to "media"
rather than "ROMs" in several places, as things like disk and tape
images are included). It's also possible to localise the "???"
dipslayed for an input without a valid name, but that should never
actually appear in practice.
|
| |
|
|
| |
- Added daisy chain expansion port to Famicom paddle for Arkanoid II's versus mode.
- Also expanded range of paddle value reads to ensure full range of motion within all games' play fields.
|
| |
|
|
|
| |
Software list items promoted to working (nes.xml)
---------------------------------------
Exciting Boxing (Japan)
|
| | |
|
| |
|
|
|
|
| |
* Changed KEYPAD inputs to BUTTON with numbering following the pattern used in Family Trainer.
* Removed device_reset().
* Added proper strobe bit behavior and reading 1s on excess reads.
* Made Running Stadium and Stadium Events games clones of World Class Track Meet, the last released variant of the same game.
|
| |
|
|
|
| |
Software list items promoted to working (nes.xml)
---------------------------------------
Space Shadow (Japan)
|
| | |
|
| |
|
|
|
|
|
| |
* Refactored Family Trainer and Tap-tap Mat into common base class.
Software list items promoted to working (nes.xml)
---------------------------------------
Super Mogura Tataki!! Pokkun Moguraa (Japan)
|
| |
|
|
|
|
| |
* Column input reads now are now shifted to correct bit, fixing reads for top two rows.
* Button presses are correctly 0 bits.
* Multiple rows can be scanned per read.
* Flipped key bindings on mat side A - now left/right correspond to left/right on mat.
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-----
Disney Game It! Classic Pals [Sean Riddle, David Haywood]
Champiyon Pinball (Japan) [Sean Riddle, Peter Wilhelmsen, ShouTime, David Haywood]
new WORKING clone
-----
Master Boy (1987, Z80 hardware, Ichi-Funtel) [Juan Romero, ClawGrip]
new NOT WORKING software list entry
-----
buzztime_cart.xml: Series 1 - Everything [Sean Riddle, David Haywood]
- start refactoring some nes_vt stuff (don't force non-nes controllers through the nes controller bus, and thus untangle nes_vt from nes.cpp, the controllers don't comform to the standard anyway)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
|
| | |
|
| |
|
|
| |
(nw)
|
| | |
|
| | |
|