Commit graph

282 commits

Author SHA1 Message Date
devinacker
35da523790 fix mode7 v-splits in accuracy PPU (hello pan/atx)
see also:
http://forums.nesdev.com/viewtopic.php?f=12&t=11404&start=45#p131834
2015-11-13 18:46:46 -05:00
devinacker
6e2e3b82d5 v073+2. the future is now, or something 2015-11-09 19:40:10 -05:00
devinacker
e60ce2f6dd limit SuperFX bus viewing to 00-7F 2015-10-26 20:41:38 -04:00
devinacker
632ef42b58 replace original hexeditor with QHexEdit 2015-09-13 21:57:22 -04:00
devinacker
c800e901bf don't use cycle-timed reads in debugger 2015-08-12 22:43:04 -04:00
devinacker
28af6527db add debugger dep. to makefile for SA-1/SFX 2015-08-11 21:48:45 -04:00
Michael Bazzinotti
3fd4be45e0 Add debugger source dependencies to Makefile
Without this addition, "make" will not rebuild bsnes properly when the debugger source files are modified.
2015-08-11 21:38:21 -04:00
devinacker
e84a26f1fd use new CLSR register struct in SFX properties 2015-07-06 10:15:18 -04:00
devinacker
d243e732b4 superfx: swap blt/bge in disasm 2015-07-05 06:49:05 -04:00
Alex W. Jackson
1f21df71df superfx: more multiply timing fixes; de-template-ify opcodes to greatly reduce compiled code size 2015-07-05 06:47:56 -04:00
Alex W. Jackson
f3a1d819ea superfx: make multiply timing match hardware tests 2015-06-25 22:26:41 -04:00
Alex W. Jackson
7be2a02453 ui: replace most '#if defined(PROFILE...' with specific PPU/DSP feature checks; allows PPU and DSP components to be mixed and matched 2015-06-01 12:26:45 -04:00
devinacker
cc6cfefae9 some SA-1 bus read changes
(read from SA-1 bus instead of CPU bus from the disassembler, and stop
reading from a different bus than the main SA-1 since it isn't necessary
anymore)
2015-05-30 00:39:38 -04:00
Alex W. Jackson
4b2e61baad dsp: add macros to allow compiling as an non-cothreaded state machine for speed (not enabled yet; plan is to add channel_enable() support, do a few more optimizations, and then nuke alt/dsp) 2015-05-29 23:35:23 -04:00
Alex W. Jackson
5a64f078d5 Use bus_access for disassembler too; remove some dead code 2015-05-29 23:35:12 -04:00
devinacker
5d16bcc629 ppu: non-ambiguous function name for frame counter 2015-05-25 03:03:10 -04:00
devinacker
6f300e6889 keep a proper frame count from the PPU
that updates when the V-count rolls around instead of whenever the
frontend tells it to (unlike the other PPU counter values, this isn't
serialized since it has no effect on actual system state)
2015-05-25 01:06:43 -04:00
devinacker
5c4cfe8110 more of the above (inc. for additional debuggers) 2015-05-24 20:04:44 -04:00
Alex W. Jackson
6877c5efa0 Merge alt/cpu/debugger with cpu/debugger by renaming a few member variables; also remove some unused variables 2015-05-24 19:57:21 -04:00
Alex W. Jackson
dbb4043084 sa1: fix MMIO mapping on SA1 bus 2015-05-19 22:54:56 -04:00
devinacker
8aa0e356da Revert "go back to masking MMI/O addresses"
This reverts commit b85fd3a9bb.
2015-05-19 22:54:11 -04:00
devinacker
b85fd3a9bb go back to masking MMI/O addresses
this was causing a segfault when starting or loading a game in
"Marvelous: Mouhitotsu no Takara-jima", wherein the SA-1 would write to
$2250 with DB == $06, making MMIOAccess::write read far out of bounds
2015-05-19 20:46:37 -04:00
devinacker
31aeb3ba24 use consistent spc700 syntax with xkas-plus 2015-05-16 13:01:13 -04:00
devinacker
95a5f25a29 more of the same for sfx/sa1 debug 2015-05-16 11:11:00 -04:00
Alex.W.Jackson@gmail.com
3eec88bf82 debugger: add a flag indicating that the debugger is accessing the bus; this is used to suppress unwanted side effects of reads (e.g. cothread switches, latch-on-read registers) and to allow ROM to be modified (in place of MappedRAM::write_protect(), which is going away soon)
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@61 fe182637-1eec-a322-cce2-af8e45122353
2015-05-16 10:52:07 -04:00
Alex.W.Jackson@gmail.com
8450956758 ppu/counter: enable two-way time travel; use it to simplify VRAM access timing tests
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@60 fe182637-1eec-a322-cce2-af8e45122353
2015-05-10 13:21:56 -04:00
Alex.W.Jackson@gmail.com
4c356646eb Fixed bugs in previous commit: fieldlines() returned wrong result if called before line 128 in interlace mode, serialize() was missing a variable
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@58 fe182637-1eec-a322-cce2-af8e45122353
2015-05-03 13:04:08 -04:00
Alex.W.Jackson@gmail.com
7f118bd484 Emulate long scanline in PAL interlace mode; fix bug in performance CPU affecting Tetris Attack
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@57 fe182637-1eec-a322-cce2-af8e45122353
2015-05-02 20:41:33 -04:00
Alex.W.Jackson@gmail.com
fb4b769e7c Nonexistent MappedRAM's size() is now 0 and not a magic number
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@56 fe182637-1eec-a322-cce2-af8e45122353
2015-05-01 09:34:33 -04:00
devinacker
565d30fdc1 re-add write protect check to mappedram 2015-05-01 09:34:16 -04:00
devinacker
92a8f28535 get rid of unnecessary memory bounds checks 2015-04-30 21:42:06 -04:00
Alex.W.Jackson@gmail.com
96638715fd alt/dsp: don't let blargg disable asserts throughout the whole application
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@54 fe182637-1eec-a322-cce2-af8e45122353
2015-04-30 21:18:20 -04:00
devinacker
2dc14910db remove an outdated TODO 2015-04-26 19:50:26 -04:00
Alex.W.Jackson@gmail.com
88da612d6a Various fixes for Clang, some of which were genuine bugs as well
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@45 fe182637-1eec-a322-cce2-af8e45122353
2015-04-26 13:36:11 -04:00
devinacker
dc9ebc4bb0 this is a release, maybe 2015-04-25 15:59:51 -04:00
Alex.W.Jackson@gmail.com
0f2f6eaa7b sa1: fix obvious typo, confirmed by byuu
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@43 fe182637-1eec-a322-cce2-af8e45122353
2015-04-24 23:14:43 -04:00
Devin Acker
fc9de55586 Merge pull request #7 from mrehkopf/master
Backport most recent MSU1 behaviour
2015-04-21 13:03:40 -04:00
ikari_01
74c080cee7 Backport most recent MSU1 behaviour
v073 has some shortcomings in MSU1 behaviour, most notably it ignores
the DSP mute flag (which will cut off external audio on a real SNES).
Hack authors stumble upon those when running on real hardware for the
first time after testing on less recent bsnes versions.

Backports from higan v094:
- audio error flag
- init behaviour (zero out MSU1 regs)
- initial volume
- DSP mute flag
2015-04-21 17:56:34 +02:00
devinacker
73573ec9ce add SPC dumping support 2015-04-19 01:54:02 -04:00
Alex.W.Jackson@gmail.com
d58a0f0fd5 memory: Make breakpoint mirroring work with MMIO (requiring some changes to BSXCart). While at it, remove some redundant masking and replace some magic numbers with enums
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@40 fe182637-1eec-a322-cce2-af8e45122353
2015-04-18 19:54:25 -04:00
Alex.W.Jackson@gmail.com
c32aab37ff Distinguish BS-X Flash Memory Packs from mask ROM data packs (Same Game/SD Gundam G-Next); distinguish slotted SA-1 carts from regular ones; fix SFA2 which the previous commit broke
git-svn-id: http://bsnes-classic.googlecode.com/svn/trunk@39 fe182637-1eec-a322-cce2-af8e45122353
2015-04-18 19:54:17 -04:00
ikari_01
218066c5c2 Debugger: fix duplicate DMA read
DMA source is read twice in CPUDebugger::dma_read which breaks sources
that change state on read (e.g. MSU1 data). Read only once before
checking breakpoints and return the buffered result.
2015-04-17 13:36:27 +02:00
devinacker
02c626a77e refactor breakpoint mirror check a bit
(similar to bsnes-classic r37 but without the change in how page offsets
are calculated)
2015-04-14 22:10:27 -04:00
Alex W. Jackson
835727b74b smp: move the SMP I/O ports into the SMP itself, instead of half in the CPU and half in the APU RAM. I don't care what byuu thinks blargg's hardware tests showed, it is literally impossible for hardware to work that way 2015-04-13 17:19:08 +02:00
Alex W. Jackson
dc23eb1d8b cartridge: reduce duplicated code in XML parsing 2015-04-13 17:19:08 +02:00
Alex W. Jackson
3dd6d2b155 Fix Sufami Turbo mapping and SRAM size; show more Game Boy and Sufami Turbo cartridge info in the file browser 2015-04-13 17:19:08 +02:00
devinacker
657e1dd1de check MMIO/DMA breakpoints against the correct bus 2015-04-13 02:06:33 -04:00
devinacker
c401f756ad show correct branch distances for cpu+smp
regardless of the actual current PC location, so that disassembling at
*other* locations shows the expected results
2015-04-11 17:51:40 -04:00
devinacker
b8bc79551d don't disassemble every single byte 2015-04-11 17:25:39 -04:00
devinacker
c42f1f430b add ranged breakpoints and combinable r/w/x flags 2015-04-09 23:58:54 -04:00