summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/apple2e.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rearrange source to match project structure (done using the script in ↵ Vas Crabb2022-06-271-6028/+0
| | | | src/tools).
* - Removed device_timer, device_timer_id, et al in favor of direct callback ↵ MooglyGuy2022-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* apple2e: Fix banking on CEC computers, corrects Pinyin input mode (GitHub ↵ arbee2022-05-271-2/+2
| | | | #9838) [R. Belmont]
* apple2.cpp,apple2e.cpp: fix uninitialized class members causing joystick ↵ arbee2022-05-051-0/+1
| | | | weirdness. [R. Belmont]
* apple2e.cpp: fix $C05F access regression (MT #9592) [R. Belmont, yoshisuga, ↵ arbee2022-04-211-0/+4
| | | | Peter Ferrie]
* apple2e: Fix Zip Chip emulation so it can't be reenabled while locked. ↵ arbee2022-04-051-0/+2
| | | | (GitHub #9503) [R. Belmont]
* Future-proofing by using correct #include for SOFTWARE_LIST device AJR2022-01-031-1/+1
|
* more consistent naming for franklin ace computers (#9025) ksherlock2021-12-211-2/+2
|
* a2bus: consolidate card lists to clean up the drivers. [R. Belmont] arbee2021-12-161-178/+41
|
* apple2e.cpp: More cleanup / fix GCC warning. [R. Belmont] arbee2021-12-061-18/+0
|
* apple2e: additional cleanup. [R. Belmont] arbee2021-12-051-3/+0
|
* apple2e: change most bankdev usage to memory views. [R. Belmont] arbee2021-12-051-188/+121
|
* apple2e.cpp: clean up/consolidate memory maps, fix ace500 LF switch causing ↵ arbee2021-12-051-73/+20
| | | | DVORAK mode. [R. Belmont]
* apple2e.cpp: gave the Franklin Ace machines their max RamWorks-compatible ↵ arbee2021-12-041-4/+43
| | | | RAM. [R. Belmont]
* apple2e: fix GCC compile. [R. Belmont] arbee2021-12-011-0/+1
|
* New machines added as WORKING arbee2021-12-011-6/+147
| | | | | ----------------------------- Franklin Ace 2200 [R. Belmont]
* apple2: updates and cleanups [R. Belmont] arbee2021-11-281-47/+80
| | | | | | | | | | | - Laser and Franklin key names now are correct: "Triangle"/"F" instead of "Apple". - Massive text drawing cleanup, removing a lot of copy/paste code and moving some runtime decisions to compile-time for better performance. - Ace 500 now uses a Franklin character set ROM so the "F" shows in MouseText. Machines promoted to WORKING ---------------------------- Franklin Ace 500 [R. Belmont]
* apple2e: fix text on Laser 128 EX and EX/2 also. [R. Belmont] arbee2021-11-261-0/+1
|
* apple2e.cpp updates: [R. Belmont] arbee2021-11-261-13/+279
| | | | | | | | | - All Laser 128 models now use the correct character set - Laser 128 now supports the serial/parallel printer switch and the parallel port Machines added as MACHINE NOT WORKING ------------------------------------- Franklin Ace 500 [R. Belmont]
* Apple softlist update for November 2021 (#8850) Firehawke2021-11-211-6/+6
| | | | | | | | | | | | | | | | | | | | | Apple II software list support adjustments: * change 'flop525' to 'flop_a2' where 3.5s also in same lists * Add apple2gs_flop_clcracked and make it default for IIgs. New working software list additions (apple2_flop_orig.xml) ---------------------------------------------------------- Wargle! [4am, Firehawke] A Question of Scruples [4am, Firehawke] J-Bird [4am, Firehawke] Star Dance [4am, Firehawke] Disk Organizer (Version 2.6) [4am, Firehawke] Super Disk Copy (Version 3.8) [4am, Firehawke] Nibbles Away ][ (Version C3) [4am, Firehawke] Essential Data Duplicator (Version 4.4) [4am, Firehawke] New working software list additions (apple2_flop_clcracked.xml) --------------------------------------------------------------- Numberball (cleanly cracked) [4am, Firehawke] PFS:File (Version A.00) (cleanly cracked) [4am, Firehawke]
* Still more user experience improvements: Vas Crabb2021-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the default mapping for UI select to not trigger on Alt+Enter fullscreen toggle. (Fullscreen toggle still doesn't work in menus - actually fixing that is complicated.) frontend: Made the about box wrap text properly, made the title and backtrack menu item always visible, and added a footer with the VCS revision. frontend: Don't highlight the favourites and info toolbar buttons if there's no selection (can happen if filters produce no results). Also made the info viewer appear even if no info is available - it's less confusing to see an empty menu than wonder why clicking the button does nothing. debugger: Added a register points view to the GUI debuggers, to go with the breakpoints and watchpoints views. debugger: Extended [brw]p(clear|(en|dis)able) commands to accept multiple arguments to perform the same action on multiple (break|watch|register)points at once. Also made rplist accept a CPU for showing a single CPU's register points ([bw]plist already support this). docs: Updated registerpoints debugger commands page, and updated other pages for latest extensions to syntax.
* bus/a2bus, bus/a2gameio: Moved many class declarations out of headers. Vas Crabb2021-10-041-4/+12
| | | | | | | | 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.
* Laser 128 updates: [R. Belmont, Tom Greene] arbee2021-09-261-12/+202
| | | | | | | | | | - Added all currently dumped ROM versions - Support both the original and later hardware versions - Support the built-in mouse interface New clones added as WORKING --------------------------- Laser 128 (original hardware) [R. Belmont, Tom Greene]
* apple2: support for the AppleIISD card [R. Belmont, Florian Reitz] arbee2021-09-071-4/+6
|
* -ui: Made zoom controls a bit more intuitive. Vas Crabb2021-09-061-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The UI controls are described as zoom in/out, but they had the opposite effect on the palette and tile viewers. That has been changed to make them consistent with the tilemap viewer. * Made the default zoom key not act as a toggle. People are familiar with the function of Ctrl+0/=/- in web browsers, so making them behave similarly in MAME should make it more approachable. Also added the default zoom key to the relevant documentation page. * Implemented the default zoom key for the palette and tile viewers. * In the tilemap viewer, if the view is in default expand to fit mode, zoom in/out starting from the actual zoom ratio. Once again, this behaves more like the zoom controls in a web browser displaying an image so it should be more intuitive. * Made more messages from the tilemap viewer localisable. -util/zippath.cpp: Fixed MT08074. * There were multiple issues at play here. After #8443 was applied, is_root was simply never returning true on Windows, as OSD_WINDOWS isn't actually defined outside libosd and libocore. This caused phantom parent items to appear in disk roots on Windows, but it meant that the check in zippath_resolve would always fail so the trailing backslash would be trimmed. Fixing the macro test in is_root meant the trailing backslash from C:\ would no longer be trimmed, which caused the stat in zippath_resolve to fail. -bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost. -Reduced tag map lookups in several drivers and devices. -util/coretmpl.h: Removed an overload of bitswap that can be avoided using if constexpr. -Added doxygen comments to some classes, and fixed several doxygen warnings. -util, osd: Test for _WIN32 rather than WIN32. * In C++17 mode, WIN32 is no longer a predefined macro, although various things in 3rdparty define it to maintain legacy support. We're better off moving forward anyway for when WIN32 disappears entirely. (WIN32 is not a reserved name, while _WIN32 is, starting with an underscore follwed by an uppercase letter.)
* fixed one-shot paddle timers in Apple II and clones (#8504) xotmatrix2021-08-301-4/+17
|
* apple2: Support for the Stellation Q-68 and Q-68 Plus 68008 coprocessor ↵ arbee2021-08-101-0/+3
| | | | cards. [Rob Justice, R. Belmont]
* at.cpp, apple2e.cpp - Fixing of size of commented ROM_LOAD entries to match ↵ Scott Stone2021-07-151-1/+1
| | | | actual images
* -bus/a2bus: Added //SHH SYSTEME LANceGS Card. (#8264) ksherlock2021-07-091-0/+2
| | | | | | | | | | | -machine/smc91c9x.cpp adjustments: * Reset should disable promiscuous mode. * RCR - handle promiscuous changes, adjust soft reset handling. * EPH_STATUS should be LINK_OK by default (previous code wouldn't set LINK_OK unless RX_EN is set but LANceGS won't set RX_EN unless LINK_OK is set). * B0_BANK bits 4-8 are unspecified in the documentation but LANceGS expects a 3 (used in Card detection logic). * MIR values depend on device type and resets when the mmu resets. * Reading/writing the data register needs to be aware of 8-bit I/O. * Calculate FCS. * Removed WMS OUI filtering hack.
* apple2e: match dot clock to CPU clock for PAL machines. [R. Belmont] arbee2021-06-191-2/+2
|
* apple2e: PAL/SECAM models now have the correct CPU speed. [R. Belmont] arbee2021-06-181-0/+7
|
* apple2e: Always allow writing to cards in slots 1-3, matches our previous ↵ arbee2021-06-171-4/+4
| | | | behavior for 4-7. [R. Belmont]
* apple2: proper behavior when nothing is connected to gameio. Fixes Total ↵ arbee2021-05-241-0/+4
| | | | Replay, Gauntlet IIgs, and many others from falsely detecting a joystick [R. Belmont, Peter Ferrie]
* apple2: Add support for the BOOTI card [R. Belmont] arbee2021-05-081-0/+2
|
* bus/a2bus: Added Orange Micro Grappler printer interface card. Vas Crabb2021-04-071-1/+2
|
* bus/a2bus: More improvements for Orange Micro buffered Grappler+: [Vas ↵ Vas Crabb2021-04-061-0/+1
| | | | | | | Crabb, Golden Child] * Fixed another bad bit in microcontroller ROM dump. * Added rev A variant with 6 MHz microcontroller clock.
* bus/a2bus updates: [Vas Crabb, Golden Child] Vas Crabb2021-04-041-1/+2
| | | | | * Added Orange Micro Buffered Grappler+ printer interface card. * Synchronise all I/O for Apple Parallel Interface Card.
* apple2e: turn off INTCXROM on Control-Reset (GitHub issue #7909) [R. Belmont] arbee2021-03-311-0/+11
|
* srcclean in preparation for release Vas Crabb2021-03-281-1/+1
|
* apple2cp: correct a misunderstanding of the built-in accelerator's registers ↵ arbee2021-03-231-27/+16
| | | | [R. Belmont]
* apple2cp: Initial new IWM / Sony hookup for IIc Plus [R. Belmont] arbee2021-02-131-3/+143
|
* apple2c: fix RdRAM2 ($C011) return value on IIc and IIc Plus. (Github issue ↵ arbee2021-01-041-1/+1
| | | | #7640). [R. Belmont]
* apple2, apple2e, apple2gs: Add emulation of Apricorn Super Serial Imager as ↵ AJR2020-12-301-0/+1
| | | | slot option [AJR, Apple II Documentation Project]
* a2bus: Add (corrected) ROM dumps and emulation of CCS Model 7710 ↵ AJR2020-12-241-0/+2
| | | | Asynchronous Serial Interface [AJR, Apple II Documentation Project]
* apple2: Support for the Videx Uniprint parallel card [R. Belmont, Golden Child] arbee2020-12-221-0/+2
|
* apple2 updates: [R. Belmont] arbee2020-11-071-183/+211
| | | | | | - Modernized types and some minor cleanup - Improved Zip Chip support for IIe and IIc - Added ZipGS support for IIgs
* -bus/a2bus: Added Apple II Parallel Printer Interface Card. Vas Crabb2020-11-011-2/+4
| | | | | | -frontend/mame/audit.cpp: Fixed another annoying edge case. -Cleaned up RawInput code slightly.
* bus/a2bus: Added Orange Micro Grappler+ Printer Interface. [Vas Crabb, ↵ Vas Crabb2020-10-231-31/+33
| | | | Golden Child, archive.org]
* apple2e.cpp: srcclean and reformat an if/else. arbee2020-10-101-5/+18
|
* Merge branch 'master' of https://github.com/mamedev/mame into master Robbbert2020-10-111-8/+19
|\