andres.delikat
0834c63a43
NES - sound config dialog for toggling sound channels
2012-07-12 23:13:22 +00:00
goyuken
fd7a0b2fe7
change CoreOutputComm to use exact integers to specify VsyncRate. Helps for AV dumping with formats that require exact integer rates (AVI), and for emulators that aren't exactly 50hz/60hz (none yet).
2012-07-11 21:37:35 +00:00
brandman211
32baa013af
-Made the memory map use ushort arrays because the Intellivision is 16-bit.
...
-Fixed JMP disassembly; I need to return on an invalid opcode because I was breaking out of the inner switch statement, not both that and the outer one.
2012-07-09 23:19:57 +00:00
brandman211
f3ce111c48
Checked in memory map...I need to stop programming and start sleeping.
2012-07-09 19:41:49 +00:00
brandman211
104511c5b7
-Intellivision.cs' constructor initializes the PC to 0x1000.
...
-Set up the "official" memory map - see http://wiki.intellivision.us/index.php?title=Memory_Map
--Things I didn't do:
---Accessibility.
---Additional Occupied Memory Ranges.
---Addresses Available to Cartridges
---Initialize any of the byte arrays.
--Not sure which of these I need to do, but clearly the byte arrays have to be initialized somewhere to something and there's a lot of gaps in this memory map.
2012-07-09 05:29:45 +00:00
brandman211
9b8a9d93f1
Opcodes up to 0x07F.
2012-07-09 03:27:27 +00:00
brandman211
bb532aa2d9
Opcodes up to 0x5F.
2012-07-08 21:49:09 +00:00
brandman211
61cada6190
-Made HLT throw an exception.
...
-Made all instructions in the executor, even implemented ones, throw exceptions. I will get rid of the exceptions as I test the instructions.
-Added instructions up to and including 0x57 to disassembly and executor.
2012-07-08 19:52:12 +00:00
brandman211
a4912e66c0
-Wasn't supposed to actually increment the PC in the disassembler.
...
-Cleaned up the 0x004 (Jump) disassembler.
-Implemented 0x004 in the executor.
2012-07-08 08:42:32 +00:00
brandman211
778274a12d
-Set up the disassembly decoder just like the executor.
...
-Disassembled opcodes up to and including 0x7.
2012-07-08 08:17:07 +00:00
beirich
36ba018ae0
basic wire-up of Intellivision core
2012-07-08 04:20:53 +00:00
brandman211
8d254113c2
Finished the opcode decoder. Over a thousand lines in one day...now just to make them do stuff!
2012-07-08 03:53:12 +00:00
brandman211
1c480c98b4
-Created functions for calculating the flags.
...
-Implemented ADCR.
-Decoded all opcodes up to 0x23F.
TODO: Try vecna's idea of testing the instructions by running a game and implementing instructions as I need them...but first I'll need to implement loading of an Intellivision game.
2012-07-08 01:58:06 +00:00
brandman211
2457c68ed7
Starting IntelliHawk with the CP1610, using the other processors in BizHawk, BlissJ, and this ( http://wiki.intellivision.us/index.php?title=CP1610 ) page as references.
...
-Definitions.
--Registers, Flags, TotalExecutedCycles, PendingCycles, ReadMemory, and WriteMemory.
-Execute.
--Implemented opcodes 0x001-0x027 with the exception of 0x004 and 0x005.
2012-07-08 00:36:16 +00:00
adelikat
60640acece
NES - Implement Mapper 246
2012-07-06 03:44:34 +00:00
zeromus
1eda5f6d63
nes-express m193 differently, maybe more clearly
2012-07-06 03:12:20 +00:00
zeromus
157c145a46
nes-fix m193
2012-07-06 02:29:42 +00:00
adelikat
7a9d037fed
NES - Progress on Mapper 193
2012-07-06 01:36:19 +00:00
zeromus
1d254c3705
nes-fiddle around with board irq signal tracking system. break every NES savestate. fix a desync bug in a bunch of mappers
2012-06-25 06:32:54 +00:00
beirich
b599c69c18
Add VirtualWidth to IVideoProvider and the (numerous) implementations. This is just phase 1, client needs to be updated to utilize this information, and some cores (especially PCE) should be updated in a more involved way to provide better TV emulation.
2012-06-25 02:50:34 +00:00
zeromus
7e8752a5b9
nes-sort out some bus conflict flags for CNROM games to fix colorful dragon (unl) (sachen)
2012-06-24 17:39:12 +00:00
zeromus
5b356c5157
nes-support mapper 178 and fix a regression from yesterday that made most roms not loadable
2012-06-23 18:30:27 +00:00
adelikat
dcdd98fc03
Fix mapper 116 code so that project compiles
2012-06-23 15:45:58 +00:00
zeromus
50d4564e0e
nes-support mapper 116
2012-06-23 08:52:12 +00:00
zeromus
8bf9b92949
nes-support mapper 241
2012-06-20 22:24:56 +00:00
zeromus
6156188676
nes-support m015
2012-06-19 21:23:24 +00:00
adelikat
a2a9bfde3c
NES - implement mapper 92
2012-06-16 23:34:42 +00:00
zeromus
ace86fa321
nes-clarificatoin to mapper 19 and 210 (theyre actually identical)
2012-06-16 16:59:02 +00:00
zeromus
540be07cf2
nes-support mapper 076
2012-06-15 19:55:29 +00:00
zeromus
e1152799b4
nes-last commit was broken, fix tlsrom compile issue
2012-06-15 19:28:40 +00:00
zeromus
916066c3f0
nes-mmc3/namcot108 differences have become more clear in the past few months. refactor those mappers (split them apart, theyre not as similar as once thought) to reflect new understandings. no functional improvement from this other than maybe some new bugs, but it will help on some other mappers later
2012-06-15 19:24:06 +00:00
zeromus
931c9c9b23
get rid of some warnings
2012-06-15 19:21:46 +00:00
zeromus
b240c675ce
nes-mapper 72 fixed and misc bookkeeping
2012-06-11 07:59:30 +00:00
zeromus
6462d84ac9
nes-add some docs and clarification and cleanups of the sunsoft mappers
2012-06-11 06:55:34 +00:00
zeromus
3a336b9ef4
nes-mapper 67
2012-06-11 06:32:44 +00:00
zeromus
cff7ba6d24
nes-fix lagrange point, including sound
2012-06-07 20:52:49 +00:00
beirich
fe369e0455
pce: alter handling of reading $1FF402 irq status port, fixes Aldynes intro freeze
2012-06-03 20:09:09 +00:00
beirich
2dd91c4079
pce-cd: fix CD Set Audio End Position command Mode 2 bug - not ending audio playback!
2012-06-03 02:03:31 +00:00
brandman211
c3a4b12ca9
-Copied over the functions I need to implement for GB, leaving FrameAdvance and GetVideoBuffer unimplemented until I fully understand them.
2012-05-28 08:37:52 +00:00
zeromus
65060e47a7
nes-note that in compat list
2012-05-27 20:21:10 +00:00
zeromus
45cfc7b036
nes-add mapper 176 and fix savestate of mapper 164
2012-05-27 20:20:27 +00:00
zeromus
82e57988c6
nes-remove newly redundant wram masking from derived board classes (mmc3 and mmc1 affected); separate checkin done for this in case i goofed up
2012-05-27 07:44:29 +00:00
zeromus
c5a2d0f8f0
nes-fix bug in base board class wram functionality (forgot to add masking to wram size configured in the Cart struct by the derived board Configure method)
2012-05-27 07:42:13 +00:00
brandman211
2553ac50bb
-As I'm not going to know what I'm doing if I keep hacking away at zeromus' old core blindly, I'm writing a new one.
...
--It's going to be based heavily based on Imran Nazar's "GameBoy Emulation in Javascript" series. I figure it's better that I learn by emulation (Har har) instead of spending more time reading references than programming.
--Finished the memory management (Part 2).
--adelikat:
---Do I implement the required functions for IEmulator and IVideoProvider now, do it later, or is this something you or zeromus would do (Like for the API)?
---At what point should we have the emulator actually use this core instead of zeromus'? As terrible as he says his is, this one doesn't do anything yet. Still, I need some mechanism of testing it.
2012-05-27 04:06:48 +00:00
beirich
df59686cbb
Fix crash in PCE Coryoon when attempting to access disabled TurboCD ports
2012-05-26 20:21:00 +00:00
brandman211
aad9f05310
-Made it so that the log file only opens when you're actually logging. As a result, now can now at least switch games when you're not logging without getting errors.
2012-05-24 17:27:45 +00:00
brandman211
b29c9835ff
-Separated the logging from the save state function.
...
-Made it so that the log only opens when logging is true and that the file closes upon destruction.
--Still, BizHawk says that it can't open the file again when I load a game again. This is because the emulator class gets recreated without deleting the original one every time you load a game.
---adelikat convinced me not to care about this.
-Fixed the initial state of the GB CPU:
--It was setting AF to 0x01, not A. This is effectively setting F to 0x01, which gets overwritten later anyway.
--Two BIOS flags were used in different places; merging them gets the PC to start in the right place.
-By fixing the initial state, most of the log now matches up.
--The only differences are the VBA has some repeated records (Where all of the registers, including PC, are the same as the previous record) whereas BizHawk doesn't.
--This very well might be an issue with how I'm logging it
--Alternatively, it could be some kind of lagging mechanism.
--I'm not sure which version is even correct...VBA is far from accruate.
--All in all, considering that the vast majority of the diff comes out as the same, I think I fixed the biggest CPU related bug. Will investigate more later.
2012-05-24 17:19:33 +00:00
beirich
db1bfcfdfc
very preliminary genesis savestate support
2012-05-22 02:25:41 +00:00
beirich
2aef2b8606
68000: savestate support (text)
2012-05-21 04:44:36 +00:00
zeromus
97933f2560
nes-support TENGEN-80004 (just bookkeeping; uses already existing mapper 068)
2012-05-20 21:10:22 +00:00
zeromus
638a99a1f7
nes-fix a potentially desyncable bug in mmc3 savestate
2012-05-20 21:04:06 +00:00
brandman211
9623f073eb
Added a logging flag for GB using the SaveStateText function.
2012-05-20 06:43:41 +00:00
adelikat
147caec758
GameboyHawk - Skip BIOS menu option
2012-05-19 15:17:32 +00:00
adelikat
abba87738f
Fix input config for Gameboy, some small random work on ColecoHawk
2012-05-18 22:57:05 +00:00
brandman211
5f534518aa
Colors were still wrong. I just used a switch statement to fix them. Not elegant, but I can't see a simple pattern.
2012-05-18 19:47:43 +00:00
brandman211
9f8144ec58
-Set the number of cycles per frame to 70224.
...
-Inverted the colors; according to http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-Graphics , 0 is white, 1 is light gray, 2 is dark gray, and 3 is black, which is the opposite of the norm.
2012-05-18 19:11:14 +00:00
zeromus
42715fdca7
rehabilitate the GB core: fix videoprovider and input system
2012-05-18 18:28:12 +00:00
goyuken
a313d3910d
Add sound output to sound card while dumping is occurring. Uses a proxy ISoundProvider (DualSound.cs) to guarantee emulation sound core and dumping routine are unaffected, while sending "best effort" sound to system output. Doesn't sound great, but simple and functional.
2012-05-09 20:21:23 +00:00
adelikat
02bad39a88
Some Coleco docs
2012-05-06 23:16:50 +00:00
brandman211
cd0016343f
Done trying to optimize the PPU's FrameAdvance. We may have saved some processing time, but it's not very consistent.
2012-05-06 06:04:00 +00:00
brandman211
05157997f1
-Added a very basic fix to the graphics scaling issue per adelikat's advice.
...
--Gets worse as the scale increases.
--For x3, the box doesn't increase size, but the box still changes position. I think there might be a difference between the TargetZoomFactor and the actual screen size, so perhaps we should tie this to something else.
-Working on very small optimizations to the NES PPU with CorruptedSyntax...this is more fun, so we'll do this first.
--Eliminated an entire loop.
--Branched to two loops instead of branching for every iteration in one loop.
--Got rid of some redundant instructions using temporary variables.
--This may be completely premature, but I seem to have gained a few FPS from doing this. For me, I get 38-39 FPS where I'd previously get 33-34.
2012-05-06 04:09:28 +00:00
adelikat
5fa0a681e1
Colecohawk - start VDP (ripped from the SMS core)
2012-05-06 02:48:39 +00:00
adelikat
3b7c23817a
Coleco - some hacks and fixes to make a coleco rom open without crashing (draw a black screen instead)
2012-05-06 01:15:02 +00:00
adelikat
059aebec8e
ColecoHawk - set up ROM loading (bind .col to Coleco), set up preliminary controller garbage in 85 places for coleco
2012-05-06 00:54:13 +00:00
adelikat
592b73ea5a
Atari - implement mapper EF
2012-04-29 21:12:58 +00:00
adelikat
e0a6ae5264
Atari - put descriptions at the top of each mapper file
2012-04-29 21:01:06 +00:00
beirich
700ac116dd
ym2612: more ports processed, DAC now plays in stereo
2012-04-29 18:33:21 +00:00
beirich
239cb213f0
ym2612: some progress on operators
2012-04-29 17:41:39 +00:00
adelikat
02767a9fbb
Genesis - hook up lag counter
2012-04-29 12:55:20 +00:00
beirich
59eb4b4abe
ym2612: support TimerA and TimerB
2012-04-29 06:05:15 +00:00
adelikat
3d10431a2b
Atari - implement console switches (as menu items)
2012-04-29 02:48:33 +00:00
beirich
d322c3c00f
Fix some bugs responsible for out-of-bounds array access crash on ym2612
2012-04-29 01:40:38 +00:00
beirich
7f1292d4f9
start on YM2612. DAC works. process port writes for FM channels. No FM channels output audio yet.
2012-04-29 01:09:06 +00:00
adelikat
4e04facdd9
Atari - make games marked F6SC load
2012-04-28 23:21:12 +00:00
adelikat
1adec35f93
Atari - implement player 2 button
2012-04-22 00:02:24 +00:00
beirich
fad95b6bab
Add 3-band equalizer. Not hooked up to client for time being though. Maybe later I'll expand it to more bands and create presets. Just wanted to check it in for now.
2012-04-21 20:22:13 +00:00
zeromus
f2d1f1ff2f
discohawk-fix bug that made some cue source files whose ffmpeg decode output is very verbose trigger a deadlock through stdout buffer filling up
2012-04-19 20:04:52 +00:00
zeromus
b1d62ed574
6502-add some opcodes not handled by the instruction tests, but which are cursorily covered by the instr_timing test, which now passes
2012-04-18 08:04:06 +00:00
zeromus
97b66a907f
6502-implement undocumented opcodes. pass all instruction tests
2012-04-18 05:22:58 +00:00
zeromus
06239e1aa3
nes-fix mapper 64 and some minor details of ppu data bus management; fixes klax and chu chu rocket
2012-04-17 06:50:23 +00:00
zeromus
e41eabcfc3
fix atarihawk video
2012-04-16 22:56:30 +00:00
zeromus
35fbe354c1
add threaded display manager to allow heavy OSD/compositing/filtering to happen on another thread. add a lua layer accessible via GDI+ which can be automatically composited and the simplest possible demo of it. add some filtering infrastructure and a hq2x filter set ported to c# but need to work on a minimal selector gui before its usable. separate OSD from RenderPanel so that gdi+ presentation mode now gets full OSD support. the OSD is now a little uglier because its drawn entirely differently and could use some finetuning
2012-04-16 08:18:41 +00:00
adelikat
836415455a
NES - start an APU softreset function, and clear sequencer_irq, and 0x4015. Still a lot of work to be done for this, but passes nes apu reset tests: 4015_cleared, irq_flag_cleared
2012-04-14 13:51:26 +00:00
zeromus
7b86f66353
nes-oops. now, actually pass all mmc3 tests
2012-04-14 09:40:41 +00:00
zeromus
73fba31c34
nes-add mapper012 (mmc3 variant, for dragon ball z 5). add concept of mmc3 chip revision variants to mmc3 code and game database, and add proper emulation thereof. pass a bunch of mmc3 tests. simplify (to almost nothing) iNES board detection to correspond to new paradigms of virtual board types. your savestates for mmc3 games are invalidated.
2012-04-14 08:28:42 +00:00
zeromus
eb1a6eb387
nes-clarify relationship between mapper 115 and mapper 248 (and support 248)
2012-04-09 20:09:58 +00:00
zeromus
a561f8b7e7
nes-add mapper 227
2012-04-09 18:13:58 +00:00
zeromus
a78a0fc5db
nes-meant to check this in with last gamedb updates
2012-04-09 06:38:28 +00:00
adelikat
eeec746010
NES Hawk - remove list of broken games from NES.cs and placed it on http://tasvideos.org/BizHawk/TODO.html instead
2012-04-08 18:07:46 +00:00
adelikat
f495e7e068
Atari - slight fix to support the F4 mapper
2012-04-05 23:46:01 +00:00
zeromus
a1cdd5dbfd
nes-fix mapper 242
2012-04-05 18:55:34 +00:00
adelikat
ea2bdac456
Fix an exception from commit 2161 (Prevent lua script restart when resetting a game). Fixed by making RecentFiles.GetRecentFileByPosition() more robust by not crashing when there is no recent file (returns "") instead
2012-04-04 02:23:47 +00:00
pjgat09
b5927b1212
Atari M6532: Turned the timer into an object, and now uses a prescaler, replacing the previous 32 bit int implementation.
...
Fixed a typo with the interrupt flag.
These changes fix freezes with "Berzerk (1982) (Atari)" and "Omega Race (1983) (CBS Electronics)"
2012-04-04 01:18:41 +00:00
pjgat09
3591f7ca47
Atari: Changed the core to make the TIA the video and sound provider.
2012-04-02 20:55:29 +00:00
andres.delikat
31d65725bd
Atari - start game compatibility spreadsheet
2012-04-02 19:13:24 +00:00
andres.delikat
f0e4db8023
Atari - implement mapper CV (untested)
2012-04-02 17:13:38 +00:00
andres.delikat
5d28f8727a
Atari - implement UA mapper (untested)
2012-04-02 16:58:04 +00:00
andres.delikat
aed58c67e4
oops
2012-04-02 16:52:53 +00:00
andres.delikat
8ed2b8acbc
Atari - F0 Mapper implemented (probably, needs testing)
2012-04-02 16:51:41 +00:00
andres.delikat
c22c6ec4ce
Atari - implmeent mapper E7, probably, hasn't been tested
2012-04-02 16:30:55 +00:00