summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502
Commit message (Collapse)AuthorAgeFilesLines
* m3745x: port arrays were the wrong size hap2026-04-244-15/+15
|
* m6502: route core fetch/data/write paths through interruptible accesses (#15121) Stuart Inglis2026-03-2015-110/+128
| | | | | | | * m6502: route core fetch/data/write paths through interruptible accesses * m6502: add interruptible access regression test * m6502: narrow interruptible access follow-up
* w65c02, w65c02s, etc.: De-virtualize SBC implementation AJR2026-03-187-31/+37
|
* m6502: small refactor to do_sbc_d to make it easier to see the difference ↵ hap2026-03-182-3/+7
| | | | between nmos/cmos
* cpu/m6502: Modify SBC decimal adjust algorithm for 65C02, which differs from ↵ AJR2026-03-183-1/+22
| | | | NMOS 6502 in edge cases. Allows 6502test.ssd (from mungre/beeb6502test repository) to pass test BCD-FC on bbcm.
* z80,6502,i86: no need for that m_reset_time local variable hap2026-03-152-5/+2
|
* z80,6502,i86: don't accept nmi at reset time hap2026-03-142-23/+28
|
* 6502: m_ify Olivier Galibert2026-03-0456-7398/+7398
|
* Current Plug and Play additions (7 sets + changes needed to improve support ↵ mamehaze2025-11-211-5/+15
| | | | | | | | | | | | | | | | | for them) (#14541) New systems marked not working ------------------------------ S5 Game Box (520-in-1) [Team Europe, David Haywood] 500-in-1 Handheld Game [Team Europe, David Haywood] Retro FC 620-in-1 [Team Europe, David Haywood] 20 SEGA Master System & Game Gear Classics - Plug & Play on TV [Team Europe, David Haywood] XaviX Golf (XaviXPORT) [Team Europe, David Haywood] New clones marked not working ----------------------------- Game Box 400 in 1 (2022 PCB) [Team Europe, David Haywood] XaviX Golf (XaviXPORT, Japan) [Team Europe, David Haywood]
* st2203u: Stub out another register to get toumapet slightly closer to booting AJR2025-10-103-1/+16
|
* machine/macseconds.cpp: mix-in to consolidate all of the copy-pastes of the ↵ arbee2025-07-121-6/+15
| | | | | | | | | | | Mac-style time generation. [R. Belmont] * Also restored the clocks syncing to the local time zone rather than GMT. m6502/m5074x.cpp: Make external IRQs edge-triggered as documented for the M5074x and M5075x. [R. Belmont] apple/macprtb.cpp: Properly ack the VBL interrupt to the microcontroller. Fixes the one-second IRQ. [R. Belmont] * This fixes the Alarm Clock desk accessory so it updates every second on the Portable and PowerBook 100.
* apple/apple2gs.cpp: Generate ADB IRQs for incoming mouse data, not just ↵ arbee2025-07-051-5/+5
| | | | | | | | keyboard and general ADB traffic. [R. Belmont, Peter Ferrie] * Greatly improves mouse tracking smoothness (Github #13670) * Fixes Chessmaster 2100 hanging when you try to drag a piece * Fixes Xenocide not accepting menu selections
* srcclean Vas Crabb2025-06-252-6/+6
|
* various VT3xx (mostly VT369) work + some other VT refactoring, many sets now ↵ mamehaze2025-05-236-0/+312
| | | | | | | | | | | | | | | | | | | | | | boot + games selectable (#13727) - added a derived 6502 core for the VT3xx Sound CPU (built into the SoC), it has some customized opcodes - added enough emulation of the Sound CPU to get denv150 to pass initial checks - added internal SoC ROM to a number of sets that copy the sound program from it, allowing those to pass startup checks too - added preliminary support for some of the extra VT3xx background video features, note even the way the hardware implements these is ugly, they really are hacked on top of the standard NES modes - added preliminary support for extra VT3xx sprite modes - the above also allow various Lexibook sets to show boot screens eg. lxcmcysw, lxcmcyfz, lxcmcydp, lxcmcysp, lxcmcycr, lxcmcypj, lxcmcyba, lxcmcypp - paired some scrambling/encryption to specific SoC classes, as it's likely these represent slightly customized models, added modes for nubsupmf, red5mam, dgun2593, gcs2mgp, 240in1ar which also now show something - started looking at the new DMA modes needed by 240in1ar etc. - denv150 basically now works, but leaving it marked as NOT WORKING until the rest of the sound CPU logic is hooked up - flagged a few sets as potentially bad dumps - verified / corrected metadata for a number of sets now that they boot and can be better identified - identified some cases where there seem to be additional protection devices present, supplying either code or data - replaced vt1682 ALU in vt3xx emulation with its own implementation as it isn't the same - added relative offset support (a kind of banking internal to the VT3xx) allowing the majority of games in the multi-game menus to go ingame - added external banking support to a number of the larger games (anything larger than 32Mbytes has to be externally banked) - corrected ROM loading for a number of sets - fixed additional opcodes on sound CPU, and added the remaining peripherals - misc other VT related tweaks
* deco16: turn off verbose log flag hap2025-05-141-1/+1
|
* New sound infrastructure. Olivier Galibert2025-04-275-18/+12
| | | | | | | | | | | | | | | | | 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
* misc cpu: no need to check debug enabled flag manually hap2025-04-112-2/+2
|
* m6502: like z80, around 10% performance gain by checking unset devcb on ↵ hap2025-03-291-3/+6
| | | | every opcode
* Dumped 11 systems (two working). (#13235) mamehaze2025-01-184-12/+51
| | | | | | | | | | | | | | | | | | | | | | | * machine/generalplus_gpl16250soc_video.cpp: Treat DMA destination 0 sprite RAM to work around issue in jak_spmm. * cpu/m6502: Use conventional call stack for SuperXaviX. * super_tv_pc_cart.xml: Verified dump of Double Mouse Party. * machine/spg_renderer.cpp: Fixed lower bit depth modes (added games use 6 bits per pixel modes). New working systems --------------------- Bandai Let's! TV Play Nou to Karada o Kitaeru Taikan Zunou Family Mattore (Japan) [David Haywood, Team Europe] Takara / SSD Company LTD Webdiver DX W-05 Gladion (Japan) [David Haywood, TeamEurope] New systems marked not working -------------------------------- Bandai Let's! TV Play Digital Monster Battle Junction (Japan) [David Haywood, Team Europe] Bandai / SSD Company LTD Let's! TV Play Narikiri Taikan Boukenger Hashire! Ute! Mission Start!! (Japan) [David Haywood, TeamEurope] Bandai / SSD Company LTD Let's! TV Play Taikan Cast Off - Kamen Rider Kabuto Clock Up & Rider Kick!! (Japan) [David Haywood, TeamEurope] Enter Tech Leadsinger II (LS-K2) [David Haywood, Sean Riddle] Epoch / SSD Company LTD Doraemon Taikan Take-copter! Sora Tobu Daibouken (Japan) [David Haywood, TeamEurope] Epoch / SSD Company LTD Ishikawa Ryou Excite Golf (Japan) [David Haywood, TeamEurope] JAKKS Pacific Inc / Santa Cruz Games The Amazing Spider-Man and The Masked Menace (JAKKS Pacific TV Game) [David Haywood, TeamEurope] Radica / FarSight Studios Connectv Real Swing Golf (set 2) [David Haywood, Sean Riddle] WinFun TV Art Design Center [David Haywood, TeamEurope]
* -nichibutsu/nbmj8688.cpp, nichibutsu/nbmj8891.cpp: Renames Mahjong Camera ↵ Vas Crabb2025-01-111-11/+11
| | | | | | Kozou games for clarity. -cpu/m6502/m6500_1.cpp: Cleaned up a comment a bit.
* tvgames/xavix*: Lots of XaviX, XaviX2, and SuperXaviX updates [David Haywood] mamehaze2024-12-282-15/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * superxavix: some research on the bitmap layer, slight visual improvement where it gets used * xavix - begin to move towards a cleaner bus implementation without the memory bypass (as some later SuperXaviX games will need it) * superxavix CRTC(?) logging * make bitmap writes kinda work in suprtvpchk demo mode * attempt to improve plotter behavior * some experiments for tak_chq * some extra logging for math unit * start moving some superxavix specifics to their own class * a few xavix2000 opcodes * note about loading screens on some super tv-pc sets * possible workaround for the super tv-pc issues, there's definitely something more funky with the superxavix address buses * added missing cmc_imp opcode for ban_ordj (sprites now appear in demo) * swap tilemap priorities in cases where priority is equal (for epo_golf) * document how noise effect is enabled, even if it isn't currently understood * some notes of things that need revisiting * implement tile addressing mode used by epo_stad * more closely match math unit behavior to some hardware tests * use more appropriate external bus sizes in some cases * added 2 more sets, one SuperXaviX, one XaviX2 * start trying to understand the extended mode anpanmdx uses * xavmusic research * some of the anpanman inputs are simple button responses at least * improve epo_doka sprites * assume bitmap layer has lower priority than tilemaps (several cases suggest as much) * mark supertvpc 'double mouse' cart as a bad dump because the code looks corrupt in places, add 2 workaround to boot other sets so that graphic features can be better tested * add some (not correct) mouse handling to supertvpc * update some notes * start trying to improve superxavix IO * add Piano PC New NOT WORKING machines ------------------------------ Anpanman Kazoku De Ikunou Mat DX (Japan) [TeamEurope, David Haywood] Let's TV Play Dragon Ball Z Battle Experience Kamehameha 2 Ossu Ome Goku Tenkaichi Budokai (Japan) [TeamEurope, David Haywood] Doraemon Moving! Oekaki (Japan) [TeamEurope, David Haywood] Anpanman Pyon-Pyon Ikunou Mat (Japan) [TeamEurope, David Haywood] Doraemon anywhere - Japan travel game DX experience! Where is the Dragon Grand Prix! (Japan) [TeamEurope, David Haywood] Let's! TV Play Futari wa PreCure MaxHeart Dance on the mat Let's go to MaxHeart (Japan) [TeamEurope, David Haywood] Let's! TV Play Disney Characters Oto! Iro! Ton-Ton! Miracle Parade [TeamEurope, David Haywood] Hello Kitty Piano PC (Japan) [TeamEurope, David Haywood]
* m7501: correct device name hap2024-12-202-2/+1
|
* g65sc02: Remove Rockwell bit opcodes (source comment appears to be mistaken) AJR2024-12-143-5/+13
| | | | * g65sc102, r65c102: Add internal clock divider
* g65sc02: correct constructor hap2024-12-142-7/+15
|
* m6502: rename m65c02 to w65c02 as well hap2024-12-1417-64/+64
|
* dec0,dec8: correct audiocpu type hap2024-12-141-0/+1
|
* m6502: add r65c02 subtypes hap2024-12-142-2/+29
|
* m6502: rename m65sc02.* to g65sc02.* hap2024-12-143-8/+8
|
* m6502: add g65sc02 subtypes hap2024-12-142-9/+49
|
* tvgames/xavix2.cpp, tvgames/xavix_2002.cpp: Added four TV games (not ↵ mamehaze2024-12-121-1/+1
| | | | | | | | | | | | | working). (#13058) * cpu/m6502/oxavix2000.lst: Don't treat unemulated instructions as fatal errors. * tvgames/xavix_v.cpp: Implemented more drawing modes. New systems marked not working ----------------------------- Epoch / SSD Company LTD TV de Asobou! Manabou! Chou Nouryoku AIUEO Zukan (Japan) [David Haywood, TeamEurope] Bandai / SSD Company LTD Let's! TV Play Ongeki Battle! Kamen Rider Hibiki: Kimero! Ikki Kasei no Kata (Japan) [David Haywood, TeamEurope] Bandai / SSD Company LTD Let's! TV Play Taikan Taitoku Kekkaishi: Houi! Jouso! Ketsu! Metsu! (Japan) [David Haywood, TeamEurope] Takara Tomy / Capcom / SSD Company LTD Ryuusei no Rockman: Denpa Henkan! On Air! (Japan) [David Haywood, TeamEurope]
* diexec: Add callback to allow debugger to break into the middle of wait-type ↵ AJR2024-11-171-0/+2
| | | | | | | | | | instructions whose execution time is normally indefinite. When this happens, a special message may be printed to the debug console stating the location of the last actual instruction executed before the wait (if there was one). Note that since the callback ignores the current value of the program counter, this special type of debugger break cannot be entered through breakpoints or instruction stepping commands. The callback also leaves no effect on PC history tracking or trace logs. * cpu/hd61700, cpu/tms32031: Add standard IRQ callback * cpu/m68000gen.py: Change name of invoked executable to bin/python3 * cpu/m6809: Eliminate PC "massaging" for SYNC and similar instructions
* Added ATTR_COLD to common lifecycle methods for many files in src/devices. ↵ holub2024-09-2721-65/+65
| | | | (#12822)
* diexec: remove vestigal execute_input_lines() hap2024-09-182-6/+0
|
* m6502/m6510.cpp: initialize CPU port to all output angelosa2024-08-212-6/+6
| | | | | | Software list items promoted to working --------------------------------------- c64_cart.xml: Pitfall II: The Lost Caverns [Angelo Salese]
* m6502/m4510.cpp: CPU I/O port support (backport from M6510 core) angelosa2024-08-172-7/+100
|
* m6502/om65ce02.lst: fix dew_zpg, phw_aba, phw_iw2 [smf] angelosa2024-08-081-4/+4
| | | | * allows commodore/c65 BASIC to be workable
* cpu/m6502/om65ce02.lst: fix stz_ce_aba and stz_ce_abx opcodes angelosa2024-08-011-2/+2
|
* m6502/m5074x.cpp: Modernized logging, fixed Timer X mixing up the prescale ↵ arbee2024-07-111-6/+27
| | | | | | and countdown values. [R. Belmont] * Fixes several PowerBooks that were auto-polling ADB at 5 Hz instead of 70 Hz.
* Start adding the m37640 Olivier Galibert2024-03-182-0/+69
|
* m6502: don't detect edge triggered inputs before the first clockcycle hap2023-07-251-2/+2
|
* m6502: don't clear input pins external state at device_reset hap2023-07-253-20/+9
|
* m6503/4/7: change logaddr width hap2023-07-244-0/+8
|
* m6502: add 6503 cpu hap2023-07-2423-29/+82
|
* mos6530n: replace convoluted timer implementation with one mostly copy ↵ hap2023-07-171-2/+2
| | | | pasted from Aaron's 6532riot
* srcclean in preparation for 0.256 release branch. Vas Crabb2023-06-251-1/+1
|
* m6502: Return to implicitly using read_arg to read operands at PC (fixes ↵ AJR2023-06-1713-1463/+1462
| | | | | | regression in all XaviX games) Side note: this changes the semantics of read_pc to what was formerly known as read_pc_noinc. Now that memory accesses themselves can be interrupted and restarted, updating PC as a side effect is obsolete anyway.
* emu/devcb.h: Eliminated the need to call resolve() on callbacks. (#11333) Vas Crabb2023-06-1714-74/+28
| | | | | | | | | | | | 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-014-4/+4
| | | | function signatures. (#11283) [Ryan Holtz]
* m6502: Make fully wait-states compatible Olivier Galibert2023-05-2715-1687/+2857
|
* srcclean in preparation for release Vas Crabb2023-04-232-12/+16
|