brandman211
fd6201c703
Implemented what to do on an interrupt. This seems to be logical as it tries to execute a GSWD instruction, but it takes the interrupt too early because I haven't figured out when to turn INTRM on / off.
2012-08-13 03:47:08 +00:00
adelikat
f84a3709c9
Misc code cleanup
2012-08-12 01:09:30 +00:00
brandman211
c6cf18061f
Scratchpad RAM, Graphics ROM, and Graphics RAM are apparently all 8-bit.
2012-08-10 20:40:34 +00:00
beirich
f42b96ba7d
ym2612: fix EG Rate calculation. Fix Attack Rate exponential formulation.
2012-08-10 04:46:29 +00:00
brandman211
5239b4f55b
-Separated the STIC and PSG memory map logic into new objects.
...
-Foreground / Background | Color Stack Mode
--Actually made a boolean for it (FGBG).
--Reading from a write-only STIC alias of $21 does change the STIC into Color Stack mode, but it doesn't actually read.
--Color stack mode is enabled when $21 or its alias is read and it is disabled (FGBG) when written its written, both having to occur during VBlank Period 1.
---This is what I gathered from the wiki, but I'm confused as to why it says that "The STIC stays in this mode until the program accesses location $21 again." I'm assuming this doesn't mean the mode changes on every access because then I don't understand why a read would change to a different mode than a write.
--FGBG is disabled by default. I don't think it matters.
2012-08-08 23:05:55 +00:00
beirich
b07008c7e7
Genesis vdp: small loadstate fix
2012-08-08 00:44:08 +00:00
beirich
32bc79be06
ym2612 mothaaaaafukkkkaaaaaaa
2012-08-07 05:48:30 +00:00
brandman211
0d20c133a5
-Moved the reset address to the CP1610 and made RegisterSP/PC private.
...
-Created helper functions for indirect ops; Indirect_Set will be needed for interrupts.
2012-08-06 15:51:35 +00:00
adelikat
1bce6a724d
oops, add Mapper197.cs
2012-08-05 22:28:03 +00:00
adelikat
975d449722
AxROM (Mapper 7) - make all AOROM games not emulate bus conflicts, fixes various Wheel of Fortune games, Double Dare, and Jeopardy
2012-08-05 22:02:58 +00:00
adelikat
ea8d47bcc0
Start Mapper 197 (based on MMC3) and sort out the use of this vs Mapper 91.
2012-08-05 21:34:00 +00:00
zeromus
6a63f2f197
nes-work on mapper091 a bit, but its still not right
2012-08-05 20:19:07 +00:00
adelikat
77da639dc6
NES - Fix Mapper 50
2012-08-05 19:20:54 +00:00
brandman211
a19b76e6cc
Added Interruptible and assigned it for every op.
2012-08-05 07:04:03 +00:00
brandman211
e9a8980f0c
-Throw exceptions for TCI, SIN, and BEXT.
...
-Added and logged INTRM, BUSRQ, BUSAK, and MSYNC.
2012-08-05 06:47:00 +00:00
brandman211
b83bb1901d
-When neither the cartridge nor hardware responds to a read, it now returns 0xFFFF instead of throwing an exception.
...
-I will now assume that 0x7000 is not mapped for the sake of continuing on. I will need to implement a mapper system shortly though.
--Did the same thing for 0x4800.
-AND@, MOVR, CMP enabled.
-Made the logging separator generate before an instruction instead of after the register states. This is quite petty, but I don't like the separator at the end of the file.
I hit an infinite loop, and I'm very very certain it's happening because I don't have an interrupt system yet. Time to stop avoiding that!
2012-08-05 05:59:55 +00:00
adelikat
e8e64bca62
NES - VRC6 sound!
2012-08-05 00:11:32 +00:00
adelikat
33954ddef7
NES - map MAPPER219 to NROM (fixes a version of 3D Block)
2012-08-04 19:22:49 +00:00
adelikat
c0706ed0ac
NES - add Mapper 120 (not documented by Disch docs), used by Tobidase Daisakusen (FDS Conversion). Mapper implementation based on FCEUX but game freezes before gameplay starts (plays fine in FCEUX)
2012-08-04 19:02:51 +00:00
adelikat
a7b847dbe2
NES - some small easy optimizations to the APU (very small)
2012-08-04 02:41:15 +00:00
adelikat
b10769ab4a
NES - dsiable NESWatch checks in ReadMemory since this feature is not yet used for anything
2012-08-04 01:54:19 +00:00
adelikat
fba6e64c58
NES - some small speed optimizations
2012-08-04 01:47:54 +00:00
adelikat
6e8d38fabe
NES - disable vrc6 sound for now
2012-08-04 00:57:26 +00:00
andres.delikat
31db5f9d05
NES - better handling of bus conflicts for AOROM board, fixes Wheel of Fortune
2012-08-03 14:12:04 +00:00
adelikat
70f07346b1
NES - start VRC6 sound, currently sounds terrible
2012-08-03 02:08:42 +00:00
andres.delikat
4754889131
NES - mapper 231 - optimize the ReadPRG() method
2012-08-02 21:05:15 +00:00
brandman211
97727ab658
-Fixed the memory mapping. I don't know why I thought I'd be able to just mask addresses to the length of the segment and think it'd work...
...
-Tried two methods of parsing the ROM file. Neither of them worked.
2012-08-01 17:45:37 +00:00
adelikat
accd643fde
NES - progress on mappers 90 & 209
2012-08-01 02:55:01 +00:00
andres.delikat
eeb0171eda
Start mapper 90/209
2012-07-31 22:04:45 +00:00
brandman211
80a0f8f75b
-Made Intellicart its own class.
...
-Separated cartridge logic into a separate ICart named Cartridge.cs.
-Made WriteMemory return a bool to match ICart.Write. It currently returns true if either the cart or the core responded.
TODO: Parse the vanilla Intellivision ROM, which will hopefully include the read / writability of the data segments. adelikat seems to think that I just need to send the bytes to $5000, but I'm not convinced.
2012-07-31 06:54:20 +00:00
adelikat
a5262488c7
NES - fix mapper 96 prg mapping. These games are working as well as can be tested without better peripheral support, so I'm considering this mapper complete.
2012-07-31 03:07:38 +00:00
adelikat
4930979940
NES - progress on mapper 96, Oeka Kids - Anpanman no Hiragana Daisuki seems to play (but I can't get passed the title screen without Oeka Kids tablet emulation). Oeka Kids - Anpanman to Oekaki Shiyou!! fails to load (suggesting a PRG mapping problem?)
2012-07-31 02:58:59 +00:00
brandman211
0d768ef710
Finished the Memory Map. I think the cartridge logic needs to be separated.
2012-07-31 01:39:47 +00:00
adelikat
c04b750d6a
Finish mapper 245
2012-07-31 01:01:15 +00:00
brandman211
f66d92f2a5
Started filling the gaps in the Memory Map, getting up to 0x7FFF. Once complete, a lot of TODOs remain, the most important being the actual mapping of the cartridge.
2012-07-30 22:25:00 +00:00
andres.delikat
a34bf45610
Add islag to savestates (now lagframe alert status updates when loading a state)
2012-07-30 14:42:52 +00:00
andres.delikat
daff01ad2e
Genesis - add lag and frame counts to savestates
2012-07-30 13:43:25 +00:00
brandman211
8306768c76
Enabled SWAP. Works as expected, but the next instruction is an MVI@ that wants to read from 0x7000, which I think is made available to cartridges. Not sure where to go from here.
2012-07-30 02:34:53 +00:00
adelikat
59ba7efdaf
NES - start mapper 18
2012-07-29 22:40:57 +00:00
adelikat
31843f3e3a
NES - mappers 74, 192, 194 - set VRAM sizes when mapper object is created, this removes the need to set vram in the gamedb.
2012-07-29 18:43:21 +00:00
adelikat
d4ac95bd30
NES - implement mappers 74 and 194. Added gamedb entries for the games I could find that correspond to these mappers
2012-07-29 18:35:24 +00:00
adelikat
71865576a7
NES - finish mapper 192
2012-07-29 18:12:37 +00:00
adelikat
7cbee7bde4
NES - mapper 74 - implemented chr-ram behavior, however, it does not work (chinese characters still missing in dialogs, but this checkin causes no regressions)
2012-07-29 17:55:45 +00:00
adelikat
047ed975d1
NES - implement mapper 234
2012-07-29 03:42:05 +00:00
brandman211
b1db1b7a69
-Reversed the double byte data bytes. It now works properly.
...
-Set the D flag to clear one instruction after it's set; SDBD is a prefix instruction.
2012-07-29 00:02:06 +00:00
adelikat
c555e1df40
NES - mapper 52 complete
2012-07-28 18:53:26 +00:00
adelikat
9e96eb9ddc
NES - start mapper 52
2012-07-28 18:14:04 +00:00
brandman211
53c0dd5ee0
-Enabled the ops that merely set / clear flags...there's no way I could have messed those up.
...
-Tested and implemented the MVO op.
-Implemented the other direct ops.
I think my double byte data handling isn't working. Will diagnose.
2012-07-28 17:50:32 +00:00
brandman211
748efbcd20
-Fixed the overflow calculation for ADDR, SUBR, and CMPR.
...
-Implemented the remaining XXX@ ops.
2012-07-28 17:20:16 +00:00
brandman211
188e5662ca
It seems that indirect writes decrement the stack pointer BEFORE reading memory.
2012-07-28 17:06:06 +00:00