Commit Graph

1380 Commits

Author SHA1 Message Date
goyuken c41d7f2388 oops 2012-11-16 22:05:59 +00:00
goyuken 276b00fb35 snes: unify color generation for debugger and core. include 3 alternate implications: r3809, r3808, and hypothetical snes9x. nothing ui hooked up yet 2012-11-16 21:29:23 +00:00
goyuken b51cfbaa45 snes: don't round early in color conversions. affects some RGB24 values slightly 2012-11-16 18:43:47 +00:00
goyuken 1d3de04364 nes: PAL mode functions properly with audio throttle. a proper SyncSoundProvider for NES is still todo 2012-11-16 17:15:55 +00:00
saxxonpike fff3b623e8 commodore64: more timer functionality added to VIA, memory domains added for VIA chips in 1541 drive 2012-11-16 09:23:34 +00:00
saxxonpike 5b701a58e9 commodore64: VIA timer chip registers added. Also, writes to mirrored registers now work correctly on all chips 2012-11-16 06:14:32 +00:00
saxxonpike 8196caf731 commodore64: add serial cable interface for CIA/VIA communication, also DriveLED 2012-11-15 21:40:01 +00:00
saxxonpike bd3912939a commodore64: implement serial shift register in CIA chip to prepare for disk drive I/O 2012-11-15 20:49:54 +00:00
saxxonpike 46ff936d41 commodore64: 1541 disk drive CPU emulated when a D64 or G64 is loaded, not attached to serial bus and no mechanical emulation yet 2012-11-15 15:58:26 +00:00
saxxonpike 020dedb1a0 commodore64: updated directional dataport, keyboard input now works fully- commands can be executed in BASIC 2012-11-15 08:36:06 +00:00
zeromus 2ff12a9e3a add homemade cd-rom ECC/EDC code 2012-11-15 08:03:23 +00:00
saxxonpike c5d6fad0e1 commodore64: CIA timer underflow interrupts implemented (BASIC now works) 2012-11-15 07:41:59 +00:00
saxxonpike 94beebdbde commodore64: SID waveform data is now in a lookup table, increases performance and startup time 2012-11-15 06:56:19 +00:00
saxxonpike b4ed1fa822 commodore64: remove DCfilter until crashes can be isolated, functional changes to SID implementation for speed 2012-11-15 03:34:28 +00:00
saxxonpike 0223225388 commodore64: rewrote SID emulation, should be a lot more accurate 2012-11-15 00:22:57 +00:00
saxxonpike 5926918f8b commodore64: implement some of the waveform calculation algorithms documented in libsidplayfp 2012-11-14 18:15:52 +00:00
goyuken 631212ca4f nes: implement mapper249: mmc3 plus "security features"
San Shi Liu Ji,
Shui Hu Zhuan,
Myth Struggle,
Duo Bao Xiao Ying Hao - Guang Ming yu An Hei Chuan Shuo
2012-11-14 16:41:33 +00:00
saxxonpike b84ec59bb4 commodore64: replaced directional data port class with a more efficient one 2012-11-14 07:12:04 +00:00
saxxonpike a8957f1916 commodore64: D64 loading fills gap bits to meet MNIB standard track lengths 2012-11-14 04:58:39 +00:00
saxxonpike a3db998a0d commodore64: Implemented conversion of D64 into GCR bitcode (both major disk formats can be loaded now) 2012-11-14 04:48:21 +00:00
saxxonpike d29eecb4f6 commodore64: G64 disk format support 2012-11-14 01:50:17 +00:00
saxxonpike 7bd469d514 commodore64: add SyncSoundProvider for SID, placeholder for 1541 disk drive and VIA I/O chip 2012-11-13 22:40:54 +00:00
saxxonpike 98902b1a4a commodore64: fix input for some keys 2012-11-13 20:54:51 +00:00
zeromus 05420cf6ec add SID and PSF extensions to frontend 2012-11-13 20:10:06 +00:00
saxxonpike b7334679c6 commodore64: envelope generator added, sound should be somewhat decent now 2012-11-13 18:59:16 +00:00
saxxonpike 30d18601ba commodore64: VIC sprite renderer fixed (shows line 21), SID noise shift register fixed (proper output frequency) 2012-11-13 16:11:31 +00:00
saxxonpike e07919476c commodore64: basic sound support, still no envelope generator so sounds will sometimes carry 2012-11-12 23:54:46 +00:00
saxxonpike 52bb5e34e5 commodore64: oscillator mixing implemented. Fixed triangle waveform. 2012-11-12 20:58:07 +00:00
saxxonpike 2a4a4bbc57 commodore64: time of day counter implemented in CIA timer 2012-11-12 19:06:09 +00:00
saxxonpike 25edebfb80 commodore64: fix CIA timer bug, writes weren't always getting through to the registers 2012-11-12 17:23:15 +00:00
saxxonpike 2a5be0d42c commodore64: rewrote cycle processing code, VIC should be 100% cycle accurate now. Also added preparation for PAL support 2012-11-12 16:37:11 +00:00
saxxonpike 2c5f179da2 commodore64: VIC, SID, CIA0, CIA1, RAM have their own domains now, Memory is what is visible to the CPU 2012-11-12 15:52:31 +00:00
goyuken 86baf94dd4 nes: fix board hard reset. oops! 2012-11-11 17:23:05 +00:00
beirich 8cebe897cb PCE: fix dumb error in display-off background color calculation, fixes soldier blade flashing wrong color 2012-11-11 05:04:29 +00:00
adelikat 5574e335bb C64 - wire up remaining keyboard key controls 2012-11-11 02:36:29 +00:00
saxxonpike c1f3ec2a41 commodore64: directional data port improved 2012-11-10 10:10:48 +00:00
saxxonpike 7cf1a5cfae commodore64: writes to IO area and ROM space still write through to RAM underneath 2012-11-10 09:36:04 +00:00
saxxonpike a096b3f224 commodore64: properly emulate CPU lag when VIC is accessing sprite data 2012-11-10 08:48:36 +00:00
saxxonpike ae721eef5d commodore64: double-wide multicolor sprites are actually 4x wide 2012-11-10 08:31:04 +00:00
saxxonpike b28ab42e18 commodore64: VIC now only sees character rom at $1000 and $9000 2012-11-10 07:42:05 +00:00
saxxonpike 33f97f7fee commodore64: fix cartridge map 101X (LHGE) 2012-11-10 07:25:58 +00:00
saxxonpike 76f3c08225 commodore64: multicolor bitmap mode plotter color fix 2012-11-10 06:59:58 +00:00
saxxonpike a54df87b02 commodore64: simplification and performance increase: VIC implements IVideoProvider, SID implements ISoundProvider 2012-11-10 05:57:46 +00:00
saxxonpike c3644d8387 commodore64: restore key added, connected to NMI signal 2012-11-10 02:49:21 +00:00
goyuken 35e0b61ac3 NES: VRC6: support ines roms without hash id 2012-11-10 01:59:13 +00:00
saxxonpike e0f9abd1ee commodore64: full keyboard controller implemented 2012-11-09 23:37:32 +00:00
saxxonpike d1576a5efc commodore64: invalid text modes always output black pixels 2012-11-09 21:49:46 +00:00
saxxonpike f1dbf23bce commodore64: implement keyboard matrix (input is not connected, planned) 2012-11-09 18:44:05 +00:00
saxxonpike c0d4c9ec3a commodore64: fix sprite-data collision 2012-11-09 16:44:15 +00:00
saxxonpike cd7ab3b6f0 commodore64: sprite priority fixed and collision detection added 2012-11-09 15:50:16 +00:00
saxxonpike 66c1fc68f6 commodore64- preliminary hardware sprite support 2012-11-09 06:43:08 +00:00
saxxonpike 89344449a2 commodore64: implemented 12 pixel VIC delay when rendering display window 2012-11-08 23:16:46 +00:00
saxxonpike 4d1ae5cb30 commodore64: remove duplicate C and G fetch routines 2012-11-08 21:39:31 +00:00
saxxonpike f3e27b7677 commodore64: add support for joystick ports 1 and 2 2012-11-08 21:12:33 +00:00
saxxonpike 6097111bad commodore64: cartridge mapper function adapter added, should make adding new mappers very easy 2012-11-08 19:57:22 +00:00
saxxonpike ee27ce7828 commodore64: added SID waveform generators (no sound output yet) 2012-11-08 00:09:20 +00:00
goyuken 119d6e8c1c z80gb: remove old disassembler due to license issues 2012-11-07 22:13:57 +00:00
saxxonpike 4e7a7226cd commodore64: fix VIC color bleeding on screen memory access 2012-11-07 19:22:53 +00:00
saxxonpike f94a1ba798 commodore64: PRG loading more permissive (fixes some crack intros in PRG format- anything reasonable should boot) 2012-11-07 19:13:44 +00:00
saxxonpike bae5c32915 commodore64: autoload PRG images when the basic stub consists of only a SYS command 2012-11-07 18:59:00 +00:00
saxxonpike 483ef0d7e0 commodore64: separate VIC memory fetches into separate functions per display mode 2012-11-07 18:53:55 +00:00
saxxonpike f682734c39 commodore64: PRG files now autoload after Kernal is ready- hardcoded to load at 2064 for now 2012-11-07 17:52:16 +00:00
saxxonpike 82cae558d5 commodore64: implement SID sound registers and I/O (no output yet) 2012-11-07 06:19:35 +00:00
saxxonpike 267f5705f9 c64- VIC code cleanup, XSCROLL partially implemented 2012-11-07 05:14:19 +00:00
saxxonpike 30c0564bda c64- rewrote video code, more accurate scanline behavior 2012-11-07 03:23:40 +00:00
saxxonpike 6be1c071f9 c64- restructured VIC interrupt and vblank handling (will break a couple graphics modes for now) 2012-11-06 21:11:30 +00:00
saxxonpike 75ef0cc20d c64- MCM and ECM text modes now show proper colors 2012-11-06 18:42:56 +00:00
saxxonpike 4c371d9cbe c64- implement extra color text mode 2012-11-06 18:36:37 +00:00
saxxonpike 7d68c5b518 commodore64- fix VIC character memory addressing 2012-11-06 18:13:48 +00:00
goyuken ad3e1bff21 gb gpu view: beautify and add scanline callback control 2012-11-06 17:54:04 +00:00
saxxonpike 4fa7112fab commodore64- only load mapper 0 cartridges (for now) 2012-11-06 15:46:15 +00:00
saxxonpike 13b6498ca9 commodore64- fixed VIC interrupts not being cleared 2012-11-06 15:32:14 +00:00
saxxonpike 47a556b326 commodore64 - second timer chip triggers NMI instead of IRQ on 6510 2012-11-06 15:15:37 +00:00
goyuken c217768871 nes: mapper 028: fix 32k modes (they don't behave like MMC1). of course, there are still no mapper028 games or carts at all 2012-11-06 14:46:36 +00:00
saxxonpike c9c6cc4e9c c64- better VIC screen mode documentation 2012-11-06 06:42:22 +00:00
zeromus 877b95e3d5 c64-hook up firmwares configuration. expected to be by default in C64/Firmwares output directory, named basic,chargen,kernal 2012-11-06 06:19:27 +00:00
saxxonpike 899efca9d3 c64- implement multicolor text mode rendering 2012-11-06 06:01:45 +00:00
saxxonpike 4af6b10971 VIC- character generator implemented 2012-11-06 05:49:42 +00:00
goyuken ec82f11884 nes: reset board state with hard reset 2012-11-06 03:05:43 +00:00
goyuken 089379711a nes: fix missing sound after hard reset 2012-11-06 02:13:16 +00:00
goyuken e06a9218b8 nes hard reset no longer crashes. instead, certain sound channels stop playing (?) 2012-11-06 01:41:22 +00:00
saxxonpike 7110cf928b commodore64: fix badline calculation 2012-11-06 00:43:53 +00:00
adelikat 5764b222ab NES Core - implement Hard Reset, currently crashes though 2012-11-06 00:40:51 +00:00
saxxonpike f1b4861d87 c64- VIC per-cycle behavior 2012-11-05 20:47:20 +00:00
goyuken ac1f9a90a1 libgambatte: switch the system bus read to use a much safer (100%?) deterministic peek. also implement core side stuff for scanline-based callback 2012-11-05 20:15:53 +00:00
saxxonpike 788591ba77 c64- VIC functions and interrupt triggers 2012-11-05 19:05:25 +00:00
saxxonpike 4f2cd1263c c64- CIA register class, data port class 2012-11-05 16:56:58 +00:00
goyuken ef4bb14d59 gb gpu view: oam 2012-11-05 15:58:51 +00:00
saxxonpike 821553cda8 c64- VIC register class 2012-11-05 14:24:01 +00:00
zeromus 69d2a99a2c nes-fix memory map bug, affecting robocop 3 scroll glitches 2012-11-05 06:26:52 +00:00
goyuken 32a3d9db80 gbhawk gpu viewer: work correctly with palettes and CGB extended BG data 2012-11-05 04:09:04 +00:00
goyuken 271d4102e8 GB: add "GPU Viewer", similar to other gpu debugging tools. doesn't do much yet. 2012-11-05 01:34:11 +00:00
zeromus 9ff8b450f4 add the crudest possible psx disc detector. now other people can watch somewhat garbled psx game intros 2012-11-05 00:11:41 +00:00
zeromus b4b2657965 some libmednahawk work. it can't possibly be used by anyone else yet, but i gotta do a checkin. 2012-11-04 23:29:06 +00:00
goyuken 807b86f8b3 nes mapper28: correct power on behavior. it seems to work well enough 2012-11-04 00:28:46 +00:00
goyuken a7b2be48e2 nes: implement mapper028, a hypothetical multicart. untested 2012-11-03 23:56:35 +00:00
goyuken 50f65452b5 nes: add identifier for TENGEN-800030. fixes bootgod identified dumps of various tengen (U) games 2012-11-03 21:45:48 +00:00
goyuken 3575eb849b z80gb: add new disassembler 2012-11-03 18:17:55 +00:00
saxxonpike 97bdd9be9c c64- clean tabs, document some regs, VIC screen memory fetch added 2012-11-03 17:57:14 +00:00
goyuken 747c3db7cb nes: vrc2: fix Contra (J), Ganbare Goemon 2 (J) 2012-11-03 17:03:38 +00:00
saxxonpike 8182da2fcd c64- VIC bank switching via CIA2 2012-11-03 16:15:16 +00:00
saxxonpike 5955976216 c64- VIC memory read function 2012-11-03 15:57:32 +00:00
saxxonpike 1e2ee5f0b5 c64- rename MemoryBus to Memory since it is emulating the whole controller now 2012-11-03 14:26:43 +00:00
saxxonpike bb2fafec63 c64- connect CIA2 port A and B to MemBus 2012-11-03 14:23:44 +00:00
adelikat d783e439bb C64 - rename controller definition 2012-11-03 13:55:22 +00:00
saxxonpike 59bb49ae20 c64 - more CIA timer regs, VIC border and background rendering 2012-11-03 10:15:44 +00:00
saxxonpike 81f33754e0 Commodore64- CIA instantiation in Core 2012-11-03 07:07:29 +00:00
saxxonpike dbba216ec7 Commodore64 CIA - registers implemented 2012-11-03 07:05:07 +00:00
saxxonpike 2c25ae5701 correction in VIC sprite X reg write 2012-11-03 06:10:20 +00:00
saxxonpike 73f625dee4 2012-11-03 06:03:58 +00:00
goyuken d89e9e5da5 nes: pxrom, fxrom: implement peekppu; fixes nametable debugger view in some games 2012-11-03 01:26:13 +00:00
goyuken f8f4fa6967 Mapper165: implement peekppu. fixes some visual glitching when using nametable viewer. Fire Emblem (Ch) 2012-11-02 23:51:38 +00:00
goyuken 48bb76820e nes: fds: implement peekcart (sorta) 2012-11-02 23:32:32 +00:00
goyuken 944c8e412f gbhawk: tracelogger shows disassembly now 2012-11-02 23:19:16 +00:00
goyuken 6ffd71973a 6502: improve tracelog to only disassemble actual opcodes, and also enable it on 2600 2012-11-02 22:27:22 +00:00
goyuken 323caaaff7 nes: sxrom: decrease speed by 1%, also fix overflow possibility 2012-11-02 19:52:02 +00:00
goyuken 3eda4a90a6 gbhawk: tracelogger 2012-11-02 19:44:31 +00:00
zeromus 24d3bb76e2 fix 2600 Peek support, as best I can tell how. 2012-11-02 19:35:13 +00:00
zeromus aa161d8910 proper Peek support in NES and 6502X 2012-11-02 19:28:00 +00:00
goyuken 5bf33b54a6 SxROM: 1% speedup 2012-11-02 17:51:07 +00:00
adelikat c0c3c36e87 C64 - Pass in extension to the core 2012-11-01 17:56:48 +00:00
adelikat 3858ff9b95 start a skeleton C64 project, mapped .prg, .d64, .g64, .crt to C64, rom loading should work (gets the bytes to the core), haven't tested 2012-11-01 16:48:32 +00:00
adelikat 6e214a6059 Atari 2600 - fix mapper E7 2012-11-01 03:26:24 +00:00
adelikat ae7bb1b590 Atari - progress on DPC mapper, still doesn't work 2012-11-01 01:54:33 +00:00
pjgat09 2d2e0c7e31 A2600: Resetting players before hsyncCnt 76 has apparently has strange results. I borrowed these changes from EMU7800. This seems to fix glitches with Frostbite. 2012-10-31 23:42:18 +00:00
goyuken 967a60dcf7 ack! 2012-10-31 21:16:50 +00:00
goyuken 5cbd11c850 NES: add some vs system stuff. not done yet 2012-10-31 21:15:44 +00:00
pjgat09 a5d4cd155d A2600: Fixed problem with missile-to-player reset. Reset should only occur on the first drawing of the player. 2012-10-31 20:09:14 +00:00
goyuken 5cff02b74d nes: vrc4, vrc6, vrc7: change to use CPU cycle counting 2012-10-31 19:40:18 +00:00
goyuken e487e39c9e nes: clean up region detect code a bits 2012-10-31 18:48:06 +00:00
goyuken bc22049a19 NES Multiregion: sound frequencies supported 2012-10-31 18:35:34 +00:00
goyuken 7dc5808771 NES: preliminary support for PAL, Dendy, and RGB (part 1). at the moment, it's all determined from gamedb, and not at all saved to movies or savestates 2012-10-31 18:25:46 +00:00
goyuken 8af6cac4ec NES: BANDAI-FCG-1: cleanup and fix some stuff (broke savestates). FIXES: Dragon Ball - Dai Maou Jukkatsu, Rokudenashi Blues, Dragon Ball Z - Kyoushuu! Saiya Jin, SD Gundam Gaiden, Magical Taruruuto Kun 1, 2 2012-10-31 16:29:26 +00:00
goyuken 56e4a84f14 make the MOS6502XDouble debug core fully savestate compatible with the other two. if it's desired for debugging, they could be swapped out on the fly now... 2012-10-31 15:08:30 +00:00
goyuken 0d515dafdf nes: add ClockCPU() to INESBoard, for boards that count M2 cycles, and changed some mappers to use it. Mappers that need more inspection: Mapper027, SxROM, VRC2_4, VRC6, VRC7 2012-10-31 14:36:43 +00:00
zeromus 59664959f1 speed up c# 6502 and enable it instead of cpp one 2012-10-31 01:55:26 +00:00
adelikat 4ed68e0c9a oops 2012-10-30 23:42:42 +00:00
adelikat 1d4a8fd3ba Atari 2600 - add a Playfield toggle 2012-10-30 23:38:53 +00:00
goyuken 137ffd8081 bleh 2012-10-30 23:23:56 +00:00
goyuken 4272e0ffed MOS6502XDouble: fix loading savestates 2012-10-30 23:20:22 +00:00
adelikat a4a53342d1 Atari - Checkin DPC Mapper file 2012-10-30 23:13:49 +00:00
pjgat09 c1c85dba56 A2600: Implemented atari graphics toggles except for playfield 2012-10-30 23:12:09 +00:00
goyuken cd2ff4ed63 Add unmanaged version of 6502X core. The core it self is nearly exactly a copy+paste job from the C# one; most things map over exactly. A strange and abusive p/invoke setup is required to realize a performance gain; see code for details. Seems to be worth a bit more than 20% overall speed for me. Core is savestate compatible with managed 6502X. slight modifications to existing API has been made to support the new cpu. also included is a test module that runs both cores together, savestating every cycle to check for sameness. Core should fit in Atari, although that hasn't been done yet. For the moment, tracelog and disassemble are broken, but they'll be back soon. 2012-10-30 23:01:54 +00:00
goyuken 27bcfcff55 oops 2012-10-30 22:41:56 +00:00
goyuken acc9806d55 2600: add fake mDPC.cs to fix compile. 2012-10-30 22:14:31 +00:00
goyuken 8313c103f6 Namco163 Audio 2012-10-30 12:07:33 +00:00
adelikat ca86a8dff3 Atari - start DPC mapper (Pitfall 2) - only does the basic bankswitching right now, still needs the 2k display bank and DPC sound chip 2012-10-30 01:33:56 +00:00
adelikat f9c027ddad Add front end and corecomm values for Atari graphics object display toggling 2012-10-30 00:18:56 +00:00
goyuken aa292b678e shorten some of the FDS mechanical timings based on nesdev feedback. bizhawk now seems to be about 6 seconds slower than fceux in initial loading of FDS titles. This makes sense, as fceux isn't timing at all the BIOS's first pass over the disk, worth about 6 seconds. 2012-10-29 19:26:52 +00:00
goyuken 8a67af227e NES: MMC5: add "ExRAM" as memory domain, for debugging purposes 2012-10-29 17:11:19 +00:00