summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/rs232
Commit message (Collapse)AuthorAgeFilesLines
* New working systems hap2026-04-071-1/+1
| | | | | ------------------- Chess Teacher [hap, Berger]
* tigeroad: jim measured video timing and mcu freq, hap2026-04-061-6/+5
| | | | bionicc: assume same video timing as tigeroad
* nss_tvinterface: add pal/ntsc config hap2026-04-051-7/+15
|
* misc: remove ROM_LOAD_OPTIONAL hap2026-04-041-0/+2
|
* nss_tvinterface: disable outgoing serial data by default hap2026-04-041-6/+13
|
* nss_tvinterface: add french language rom [Berger] hap2026-04-031-1/+7
|
* -emu/dislot.cpp: Cleaned up interface. Vas Crabb2026-03-221-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added a helper for the common operation of replacing all options, setting default, and setting whether the slot is fixed (reduced boilerplate in slot devices a bit). * Fixed a bug where slot options copied the supplied name but also required the string to remain valid for their lifetime. * Use std::string_view for strings that should never be null. * Reduced some duplication. -dynax/ddenlovr.cpp: Allow a mahjong panel to be connected for all hanafuda games with slotted control panels. This is how the games were operated most of the time, and all mahjong controls are displayed in input tests. Also cleaned up some DIP switch settings. -emu/inpttype.h: Got rid of IPT_GAMBLE_SERVICE. -bus/bk/parallel.h: Fixed a bug where the supplied options and default weren't actually used. -emu/debug/debugcmd.cpp: Use C++ file stream for dumping address maps. -frontend/mame/clifront.cpp: Use osd_printf_info output for interactive verbs. -jaleco/ms32.cpp: Simplified mahjong panel column permutation. -capcom/cps1bl_5205.cpp, mattel/juicebox.cpp, sun/sun2.cpp, sun/sun3.cpp: Cleaned up logging. -emu/xtal.cpp: Reduced temporary objects and duplicated code.
* bus/rs232/null_modem.cpp: Improved text transmission options AJR2025-11-132-15/+71
| | | | | - Add configuration switch to translate CR/LF characters from the bitbanger input prior to transmission. Multiple translation modes are provided. - Add configuration switch to delay further transmission for a number of milliseconds after each CR is sent.
* rs232.cpp: Add option for Heath H19 terminal (#14196) Mark Garlanger2025-09-263-0/+79
| | | | | * rs232.cpp: Add option for Heath H19 terminal * Change to the option function to a static method
* vsystem: hook up rs232 to f1gp, gstriker and tail2nos. (#14045) Ariane Fugmann2025-09-041-1/+7
|
* votrax/votrtnt.cpp: Converted Votrax TNT to a device, and added to bus/rs232 ↵ Nigel Barnes2025-07-193-0/+66
| | | | devices.
* -emu/device.cpp: Allow flagging devices as not working or not supporting ↵ Vas Crabb2025-05-011-0/+2
| | | | | | | | | | | | | | | | | saved states. * emu/device.cpp: Removed device_sound_interface from mixins that require device to register members for saved states. * emu/machine.cpp: Finalise saved state registrations before loading configuration - network devices no longer leak timers. * emu/validity.cpp: Added check for systems marked as supporting saved states that use devices lacking saved state support (besides slot cards). * machine/mc6852.cpp: First device marked as not supporting saved states. * osd/interface/audio.h: Avoid unnecessary float/double conversions. -igs/igs_m027.cpp: Added I/O for ccly.
* New sound infrastructure. Olivier Galibert2025-04-271-4/+3
| | | | | | | | | | | | | | | | | Should be added soon: - mute - speaker/microphone resampling To be added a little later: - compression - reverb Needs to be added by someone else: - coreaudio - direct - portaudio - xaudio2 - js
* srcclean and cleanup Vas Crabb2024-12-221-2/+2
|
* bus/rs232/teletex800: Add front panel layout. [Curt Coder] Curt Coder2024-12-201-19/+77
|
* New software list items marked not working Curt Coder2024-12-191-1/+1
| | | | | | | ------------------------------------------ abc832_flop: Teletex 800 [robcfg] luxor/abc80x: Rename tags to match BASIC device names. [Curt Coder]
* Added a new modular JVS framework smf-2024-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | New devices added: Namco Cyber Lead I/O LED(I/O) PCB 8699014200 Namco Cyber Lead I/O LED(I/O) PCB 8699014200 (compatibility patch) Namco Cyber Lead I/O LED(LED) PCB 8699014500 Namco AMC PCB (Extra I/O,JPN,Ver1.10) Namco ASCA-1 (Multipurpose I/O,JPN,Ver2.00) Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.04) Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.02) Namco ASCA-5 (Multipurpose,JPN,Ver2.09) Namco CSZ1 MIU-I/O (GUN-EXTENTION,JPN,Ver2.05) Namco EM I/O1-02 (Techno-Drive I/O,JPN&EXP,Ver2.00) Namco TSS-I/O (GUN-EXTENTION,JPN,Ver2.02) Namco XMIU1 TSS-I/O (GUN-EXTENTION,JPN,Ver2.11,Ver2.12) Note: the Cyber Lead compatibility patch is required because later versions aren't Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.00) Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.01) Namco FCB (TouchPanel&Multipurpose,JPN,Ver1.02) Note: These use ASCA3 patched to return the correct ID string as the full ROM is yet to be extracted Namco EM Pri1-01 Note: The printer for Techno Drive is HLE'd only enough to make the game happy
* emu/ioport.h: Made syntax for configuring callbacks more consistent. Vas Crabb2024-10-185-20/+20
| | | | | | | | | | | | 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.
* addrmap: Allow ioport finders in portr/w/rw Olivier Galibert2024-10-131-3/+5
| | | | | | | | | Convert a number of drivers to use ioport finders in the memory map. This is not entirely gratuitous. The idea is to ensure all the ports are in the class, so that eventually ioport finders become ioport creators. The ultimate aim is to C++-ify port descriptions which would be made way nicer by getting rid of the need for PORT_START.
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-2717-68/+68
| | | | (#12822)
* bus/rs232: Added Mouse Systems serial mouse to default RS-232 devices. (#12588) Brian Johnson2024-07-251-0/+2
|
* srcclean and cleanup Vas Crabb2024-05-261-43/+43
|
* luxor/abc80x: Added skeleton for Luxor Teletex 800. [robcfg, Curt Coder] Curt Coder2024-05-152-0/+116
|
* ti1000/lilprof: small correction to input matrix hap2024-03-301-0/+3
|
* added novag tv interface peripheral [hap, Achim] hap2024-03-233-0/+266
|
* misc: small cleanups hap2024-03-234-5/+5
|
* bus/rs232: Added the Micro-Robotics Scorpion Intelligent Controller device. Nigel Barnes2024-02-173-0/+214
|
* rs232/pty: remove unused constexpr hap2023-12-193-12/+11
|
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-171-9/+0
| | | | | | | | | | | | 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.
* emu/device.h: Removed device (READ|WRITE)_LINE_MEMBER in favor of explicit ↵ MooglyGuy2023-06-0126-101/+101
| | | | function signatures. (#11283) [Ryan Holtz]
* Cleaned up logging across the codebase (GitHub #10183). (#11250) [Ryan Holtz] MooglyGuy2023-05-231-1/+1
| | | | | * Converted various logging patterns to use logmacro.h consistently. * Removed redefinitions of LOG_GENERAL. * Use LOGMASKED in more places.
* sinclair/sprinter.cpp: Added Sprinter Sp2000 enhanced Spectrum clone. (#11018) holub2023-05-121-1/+1
| | | | | | | cpu/z80: Added support for variants with address translation and implemented Z84C015 chip selects. New working clones ------------------- Peters Plus, Ivan Mak Sprinter Sp2000
* Trivial cleanup. Vas Crabb2023-04-292-14/+9
|
* bus/rs232/pty.cpp: Copied flow control code from null_modem.cpp (#11158) Carl Drougge2023-04-292-9/+52
|
* misc/nabupc.cpp, bus/nabupc: Added support for NABU PC and simulated host. ↵ Brian Johnson2023-01-241-1/+4
| | | | | | | (#10676) New working systems ------------------- NABU PC
* - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-048-117/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't forget the current state of dsr & rts when changing serial settings in ↵ smf-2022-05-192-2/+2
| | | | null modem device. [smf]
* xvd701, twinkle: Implemented commands required for Twinkle DVD player. (#9114) 9871238791132022-04-102-35/+235
|
* Revert initialisation of device members in headers. Vas Crabb2022-04-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This is problematic in several ways: * Initialising things at construction that aren't needed until after start slows down -romident, -validate, -listxml, etc. Slot cards can be a particular drain on -listxml and -validate as they're instantiated for every compatible slot. It's more pronounced for array members, too. * Splitting member initialisation between declaration in headers and constructors in source files means you have to look at two places to check for the initial value, and you always need to check the constructor even if an initialiser is present in the header because the constructor initaliser list takes precedence. (This isn't as much of an issue for driver classes because the constructor is most often inlined at declaration, so it isn't far from the member declarations.) * Initialisers in headers for frequently-used devices increases the frequency of recompiling dependent devices/drivers as they're exposed to any changes in initialisers. * Initialisers in frequently-used headers increase build times because there's more for the compiler to parse/cache. (This affects makedep.py as well for single-driver builds, but that's a single pass.) It's not a lot individually, but it adds up given the size of MAME, which keeps increasing. We've already had one contributor banned from GitHub actions for resource usage, we don't want to waste compiler time unnecessarily.
* init vars for coverity (bus/l-w) Robbbert2022-04-021-2/+2
|
* Remove void *ptr parameter from emu_timer, timer_device and all related ↵ AJR2022-01-268-8/+8
| | | | callbacks
* More low-effort cleanup. Vas Crabb2021-10-053-33/+40
| | | | | | | | * Got more slot card classes out of headers. * Changed most of the Apple II cards still looking up ROM regions manually to use required_region_ptr. * Removed an unreferenced function leftover from copy-pasting another device from the Videx Uniprint device.
* bus/a2bus, bus/a2gameio: Moved many class declarations out of headers. Vas Crabb2021-10-041-16/+20
| | | | | | | | This reduces how frequently the Apple II drivers need to be recompiled when a random device changes. Also, this turned up three things that are apparently not hooked up in the PC Transported card.
* rs232/patchbox.cpp: GCC may allow this syntax, but clang doesn't AJR2021-10-021-8/+8
|
* bus/rs232: Added patchbox device source. Vas Crabb2021-10-032-0/+223
|
* bus/rs232: Added a configurable patch box device, and various cleanups. Vas Crabb2021-10-038-169/+160
| | | | | | | | | | Added comments with V.24 interchange circuit numbers and names to rs232.h to make the meanings of the abbreviated signal names clearer. Moved a few slot card classes out of headers and into anonymous namespaces to reduce compile depedencies and exported symbols. Transliterated a Korean NES game title.
* -Reworked device type definition macros a little and added more Doxygen. Vas Crabb2021-09-071-6/+6
| | | | | | | | | | | | | | | * Reworked device type definition macros to eliminate one level of indirection when using device types by name. * Fixed a potential initialisation order issue that could affect device parent ROMs. * Eliminated the need for DEFINE_DEVICE_TYPE_NS - just use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_PRIVATE with fully-qualified names. * Changed device type aliases to static auto references in the headers. * Added Doxygen comments for system/device definition macros and system flags. -Added ROM parents for m68705u3 and a2diskiing.
* srcclean for release Vas Crabb2021-05-231-9/+9
|
* bus/rs232: Preliminary emulation of the Mockingboard D "sound card" for the ↵ arbee2021-04-253-0/+152
| | | | Apple IIc. [R. Belmont, Apple II Documentation Project]
* HP9845: added synchronous I/O for RS232 port and HP98046 module (#7695) fulivi2021-03-073-0/+276
| | | | | | | * rs232: added device for synchronous I/O * hp9845: implemented external clocking in hp98046 serial module Co-authored-by: ajrhacker <ajrhacker@users.noreply.github.com>