zeromus
f1401a16e1
snes-fix new bugs in audio
2012-12-21 16:13:11 +00:00
zeromus
8d7da30681
snes-refactor bsnes bindings to work via external process. should solve all stability problems. there is much sloppy transitionary code still in this commit; we need to smoke out any killer issues with this approach before committing too heavily. speed is close enough to last release, and can still be improved.
2012-12-21 07:23:55 +00:00
zeromus
eec37da5b4
nes-fix MMC1 to use less bizarre techniques (it was my first mapper, after all) and magically fix bases loaded II graphics at the same time. check other MMC1 games to see if I broke anything, but it is a pretty trivial mapper.
2012-12-21 07:12:01 +00:00
goyuken
79f5a344e1
nes: axrom: support "ACCLAIM-AOROM" wizards and warriors 3
2012-12-20 01:27:13 +00:00
goyuken
70cc20175c
NES: Test out some savestates, and get more crashes... the problem is that a number of mappers use some state variable names that are identical to APU variable names. Fixed by enclosing entire mapper in a section every time. This particular discovery though, suggests to me that 1.3.0 release NES savestates are possibly much more broken than originally suspected, if mapper IRQ information is being stomped out by APU IRQ information.
2012-12-19 15:46:37 +00:00
goyuken
3a9fa9abb1
nes: vrc7: support ines without crc. in case someone ever makes a vrc7 homebrew. which they won't.
2012-12-18 23:09:33 +00:00
goyuken
03f5b3ae96
serializer: add another duplicate check (this time on section names within a single section), and fix 2600 savestates
2012-12-18 20:37:31 +00:00
goyuken
ff6539d268
nes: related to the last commit, fix mapper 116, mmc5, vrc6
2012-12-18 03:17:10 +00:00
goyuken
d479e5661a
The robustness update to the Serializer caused a problem when multiple variables with the same string name are saved\loaded in text form. The old system would just read\write them in order; the new one would silently discard all but the last occurrence. The Serializer now throws an exception in these circumstances. To fix individual cores, duplicate usage of variables needs to be enclosed in separate sections. Fixed an occurrence of this in the NES APU, where the two Pulse channels were being confused; fixes sound bugs on loadstate in some games.
2012-12-18 03:03:11 +00:00
goyuken
26abfe4574
nes: apu: add some pulse channel variables to the savestate that weren't in it before. maybe this fixes something? maybe it doesn't. it certainly doesn't fix my problem in driar...
2012-12-18 02:22:40 +00:00
goyuken
0aa5e2a512
NES: try implementing SEEPROM for BANDAI-FGC boards. Seems to work reading, but I can't get far enough into any of the games for writing. Like the rest of the mapper, only works with crc id because I don't know how to positively identify any of this from ines headers. Affected games:
...
24C01 http://bootgod.dyndns.org:7777/search.php?keywords=BANDAI-LZ93D50%2B24C01&kwtype=pcb
24C02 http://bootgod.dyndns.org:7777/search.php?keywords=BANDAI-LZ93D50%2B24C02&kwtype=pcb
2012-12-17 19:54:45 +00:00
brandman211
0b7f68fcb7
-Fixed the calculation for the O Flag...not messing with that bit-math anymore.
...
-Set the pending cycles for setting Sr1 to 14934 - 3791 instead of adding it. This working makes NO sense in my opinion, and I'm sure it will break as the number of interrupts increases, but for now, it matches up.
The newest issue is reading PSG registers which have not been set. Cool, expecting this to work without doing anything would be silly, so I've gotten somewhere!
2012-12-17 07:17:18 +00:00
brandman211
7ad002d5ce
IntelliHawk:
...
-Cleanup.
-Added "Total Executed Cycles" to the log.
-By observing the aforementioned data, I realized that the docs probably meant to say 14934 instead of 14394.
--By adjusting this...TITLE SCREEN!
--Still, there are definitely discrepancies with the log that imply that I'm far from done.
-Enabled ANDR and XOR because they were executed during the title sequence, though it's hard to tell if it should at this point.
2012-12-17 04:23:59 +00:00
goyuken
461e6c6cea
yeah nah, forget that
2012-12-17 01:11:46 +00:00
goyuken
4db8ca7422
abusing public SVN as my own local store
2012-12-17 01:00:52 +00:00
goyuken
45660d0f23
7800: rearrange\cleanup Atari7800.cs, and delete TODO comments that are done.
2012-12-16 18:16:50 +00:00
goyuken
17d8e21c2d
7800: memory domains
2012-12-16 18:02:39 +00:00
goyuken
17f0f66ed7
7800: remove BufferElement because it annoys me. (Also gains a small speed increase, ~4%?). Remove "Copyright © Microsoft 2012" from the default AssemblyInfo.cs
2012-12-16 16:57:16 +00:00
goyuken
f8c9bd98f9
7800: implemented hard reset to simulate pushing the power button on the console. HSC ram is preserved, ROM is preserved, just about everything else is flushed. added "Power" button to connect to this. changed recording mnemonics
2012-12-16 15:15:54 +00:00
goyuken
c9c3821632
7800: add lag flag. breaks savestates. this marks our first change to EMU7800.Core
2012-12-16 01:34:02 +00:00
goyuken
042855acac
atari 7800: for the two 7800 controller definitions (proline and lightgun), remove the two difficulty switches, and change the name of the "BW" switch to "Pause", to reflect what's actually on the console. other controller definitions not changed because they're used for emu7800 in 2600 mode, which DOES have those buttons
2012-12-15 18:11:54 +00:00
goyuken
0fb5be2420
NES: FDS: audit and clean up audio module. in the process, fix a few bugs; opening to Metroid sounds correct now
2012-12-15 16:51:04 +00:00
goyuken
3cfc57f8a1
7800: ignore 128 byte header, if present
2012-12-15 16:06:35 +00:00
goyuken
0e0359613d
mmc5 audio: oops
2012-12-15 15:17:23 +00:00
goyuken
2983c23920
atari7800: control hooked up, more or less
2012-12-15 02:36:38 +00:00
goyuken
1895103a9c
atari 7800: did controller stuff until i got annoyed
2012-12-15 00:58:55 +00:00
goyuken
a9bf3cf58a
nes: apu: implement "better" mixing scheme (as recommended by nesdev) in the hope of passing some apu_mixer tests. no change in any of the tests, so change backed out (committed as comments only). from what i understand, it's just as likely that the tests are failing to small channel timing problems as mixer problems.
2012-12-14 22:29:27 +00:00
goyuken
bab873fa13
mmc5: fix bug in pcm audio that i didn't even know about because nothing ever uses it at all. sunsoft 5b: implement audio. affects Gimmick(J). note that the audio emulation is rather incomplete.
2012-12-14 21:06:58 +00:00
goyuken
c90d2dcd56
nes: MMC5: change prg ram behavior to mask out of range banks. seems to fix Shin 4 Nin Uchi Mahjong: Yakuman Tengoku (新4人打ちマージャン 役満天国). i have no idea what's actually going on
2012-12-14 19:46:01 +00:00
goyuken
a4f3c2a7de
NES: ExROM: Support "HVC-EKROM". Fixes good dumps of:
...
Just Breed (ジャストブリード)
Royal Blood (ロイヤルブラッド)
Shin 4 Nin Uchi Mahjong: Yakuman Tengoku (新4人打ちマージャン 役満天国)
2012-12-14 19:35:43 +00:00
goyuken
6ca1886933
MMC5: audio. PCM is untested because i don't know of anything at all that actually uses it.
2012-12-14 18:41:16 +00:00
goyuken
37e2dfbc9a
nes: namco 163: make audio somewhat louder, based on listening to a few cart recordings. still softer than fceux
2012-12-14 18:38:13 +00:00
goyuken
5986d779e7
SMS: increase size of buffer for public byte[] SaveStateBinary() by 1 byte. also throw an exception if the savestate is smaller than expected.
2012-12-14 16:59:23 +00:00
goyuken
4e0796814d
VRC6 audio: restructure to send deltas directly to the NES apu, simplifying some things. This would be pointless masturbation by itself, but this method will also lead to easier emulation of MMC5 audio.
2012-12-14 15:17:14 +00:00
goyuken
3bcb00f9b9
vrc6 audio: fix off-by-one in frequency counts
2012-12-14 14:38:39 +00:00
adelikat
d34368e98d
Atari 7800 - hook up input on client side, implement joystick button 2 in controller definition
2012-12-14 02:17:47 +00:00
goyuken
e31f4380e2
nes: vrc7: change patchset to one recommended by nesdev. i dunno... sounds better? maybe?
2012-12-14 01:36:01 +00:00
goyuken
77b1d2e207
delete old 7800 stuff
2012-12-12 19:40:42 +00:00
goyuken
1e40bc9082
move 7800 into separate cootie-solution
2012-12-12 19:39:17 +00:00
goyuken
ecfc3da19a
baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2012-12-12 18:37:40 +00:00
goyuken
d205d68b95
move our 7800 code into Bizhawk.Emulation namespace (oops)
2012-12-12 18:17:30 +00:00
goyuken
faceb7e18d
7800: clean up some sound-related stuff
2012-12-12 16:24:14 +00:00
goyuken
0636bda89d
7800: savestates
2012-12-12 15:36:17 +00:00
goyuken
7bb1baf2ab
the hsc in a 7800 is supposed to be a saverammy thing, so hook it up as such. dunno if it actually works
2012-12-12 03:47:05 +00:00
goyuken
f32fc83d96
7800: integrate the existing emu7800 gamedb as a core-private gamedb (not unlike bootgod), and use that to drive decision making. emu7800 should now be able to correctly load 7800PAL and 2600 games.
2012-12-12 03:40:18 +00:00
adelikat
fb7873a6a7
Atari 7800 - better use of the Cart object, not a very useful commit though since it is still hardcoding the mapper
2012-12-12 01:59:10 +00:00
goyuken
a43ecbf6aa
7800: speed up framebuffer blits, and add audio output
2012-12-12 01:32:58 +00:00
goyuken
c22ad34844
7800: you can see stuff that doesn't look retarded now
2012-12-12 00:30:36 +00:00
goyuken
da0a8822c9
7800: you can see stuff now
2012-12-12 00:23:01 +00:00
goyuken
821e2e26e3
atari7800: progress
2012-12-11 23:01:01 +00:00
saxxonpike
31fba1ec2b
commodore64: change from uint to int, seems to speed things up a little with no side effects
2012-12-11 06:27:00 +00:00
saxxonpike
5a8ce4000b
commodore64: clean up unneeded files since the Sid is hooked up to the Speex resampler now
2012-12-10 22:51:02 +00:00
goyuken
cc4b683006
7800: change HSC ram size from 4096 bytes to 2048 bytes (i think this is correct), and send logging messages to the log window. doesn't run still.
2012-12-10 21:29:50 +00:00
goyuken
638c358b5d
fix compile error from last commit
2012-12-10 20:36:51 +00:00
goyuken
a1065942ed
old VRC6 sound moved to attic/
2012-12-10 20:26:59 +00:00
goyuken
43396d4b39
garbodev disconnected and moved to attic/
2012-12-10 20:24:21 +00:00
goyuken
4784ab2006
garbodev: fix up all problems in the IEmulator sound binding. what you hear now, is what garbodev ACTUALLY SOUNDS LIKE. wow.
2012-12-10 20:11:10 +00:00
goyuken
4834f40f6c
play around with garbodev core. probably worse than meteor, in general. managed. small compile-time change in MainForm.cs is needed to switch between the two. garbodev source files don't have any license on them at all, so 99.99% chance that this will be axed. why did i do it?
2012-12-10 19:32:18 +00:00
goyuken
c3a74edd7f
VRC6 sound: cleanup, implement $9003
2012-12-10 16:09:49 +00:00
goyuken
5590898c46
VRC6: fish crash bug on loading non-VRC6 games in some cases (caused by recent commit)
2012-12-10 02:41:54 +00:00
goyuken
fd304e6cb4
fix regression in gameboy from corecomm merge
2012-12-10 01:33:09 +00:00
goyuken
49f16bcb20
nes: vrc6: new audio implementation. sounds awesome
2012-12-10 01:13:12 +00:00
zeromus
a4b442abda
unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything.
2012-12-10 00:43:43 +00:00
goyuken
6ef2913ed8
WHAT
...
no, it doesn't fix anything
2012-12-09 23:05:31 +00:00
goyuken
4a673e614b
nes: apu: remove unbiasing from apu core. blip_buf already handles a dc bias removal internally, and keeping all of the values to the mixer in their original forms is simpler code and probably reflects the underlying hardware more accurately. should sound about the same as before.
2012-12-09 20:39:29 +00:00
goyuken
b9f37d7ed8
dcfilter: more correct algorithm. doesn't sound any different. speed unchanged.
2012-12-09 20:02:43 +00:00
goyuken
34a6248606
nes: FDS: use blargg's blip_buf. there are still problems with the audio channel though...
2012-12-09 17:07:34 +00:00
goyuken
cb4288ada4
rearrange the api of DCFilter a bit to make it less dumb. nothing of real importance
2012-12-09 15:58:55 +00:00
goyuken
210d415e3d
Add Blargg's "blip_buf" as an unmanaged dll. license is LGPL; if I like the way it works, I'll rewrite it with MIT code. Implement it as the new resampling output track for NES. Small (~3%)? speedup. Should sound better, especially when the emulator can't quite keep speed.
2012-12-09 03:13:47 +00:00
goyuken
6f6ee16cf3
C64: fix unmanaged memory leak in most recent commit
2012-12-08 16:07:06 +00:00
goyuken
1b83110a37
C64: connect audio to speexresampler. consider this commit a demonstration on "how it could be done"...
2012-12-08 16:05:00 +00:00
saxxonpike
1d3ff8524a
commodore64: slight tweak
2012-12-07 21:02:02 +00:00
saxxonpike
245ce3d72f
commodore64: fix up some timer chip routines, and directional dataport should be more accurate
2012-12-07 21:01:22 +00:00
saxxonpike
e4ff87e92a
commodore64: implement more c64-disk communications, hook up drive LED
2012-12-07 17:06:07 +00:00
saxxonpike
38adb50a10
commodore64: via6522 - implement more registers
2012-12-07 11:45:50 +00:00
saxxonpike
28d0328a54
commodore64: work on 1541 VIA timer chips
2012-12-07 06:20:20 +00:00
saxxonpike
e3082b206b
commodore64: connect the 1541 disk drive to the system, memory domains also available
2012-12-07 05:24:00 +00:00
saxxonpike
526ad358d1
commodore64: disk and tape framework added
2012-12-06 06:53:55 +00:00
saxxonpike
cdd0e49726
commodore64: oops, forgot one file.
2012-12-06 06:26:32 +00:00
saxxonpike
e1ff14e475
commodore64: change directory structure a little, rename namespaces for consistency
2012-12-06 06:25:30 +00:00
saxxonpike
31dd33ae3a
database: add extension .T64 for use with Commodore64 core
2012-12-06 06:11:12 +00:00
saxxonpike
e449ab34fd
commodore64: implement Serial and Datassette interfaces (there are no devices to connect them to yet)
2012-12-06 04:29:08 +00:00
adelikat
747115962b
C64 - hook up Lock key to core, doesn't do anything yet though
2012-12-06 01:19:32 +00:00
adelikat
be40574bad
C64 - hook up Key Restore button
2012-12-06 00:41:31 +00:00
saxxonpike
c64951fce8
commodore64: implement motherboard configuration, add sprite-sprite and sprite-data collision interrupts to VIC
2012-12-05 21:07:51 +00:00
saxxonpike
7fa80cdcaf
commodore64: add some cartridge docs
2012-12-03 21:11:48 +00:00
goyuken
9b40792553
nes apu: add PAL numbers for NoiseUnit
2012-12-03 19:55:14 +00:00
goyuken
e513eb7cf7
nes: implement NROM-368. doesn't implement any of the other variants like CNROM-368. supports both 48k and 64k modes
2012-12-03 19:05:24 +00:00
zeromus
aaf06d76d3
snesgfxdebugger-add BG scroll regs
2012-12-03 18:59:08 +00:00
zeromus
3398aefc7a
snesgfxdebugger-add in-place sprite viewing mode
2012-12-03 17:57:19 +00:00
goyuken
8de879f132
nes: boring stuff
2012-12-03 15:40:20 +00:00
goyuken
ae963b5443
nes: fix PAL DMC frequencies
2012-12-03 15:01:04 +00:00
saxxonpike
2545bfbb4e
commodore64: actually connect the cartridge state to the serializer
2012-12-03 08:42:50 +00:00
saxxonpike
e60f308af0
commodore64: savestate support for all chips + cartridge
2012-12-03 08:38:12 +00:00
zeromus
522bcd844c
snesgfxdebugger-obj properties display
2012-12-03 07:50:23 +00:00
saxxonpike
bb3061baf8
commodore64: SyncState for MOS 6526
2012-12-03 07:43:11 +00:00
saxxonpike
0191b1e507
commodore64: slightly better sound sampling routine for non-sync provider, placeholder until I can get the resampler to work
2012-12-03 06:47:14 +00:00
saxxonpike
be37d1dc53
commodore64: crop screen, fix sound pulsewidth register writing (it was being processed as 16 bits instead of 12)
2012-12-03 06:08:12 +00:00
saxxonpike
58db36e311
commodore64: connect sound
2012-12-03 04:19:45 +00:00
goyuken
e24d1efbd4
snes: cpu tracelogging. <1% extra overhead incurred when the tracer is not active.
2012-12-03 01:48:18 +00:00