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
adelikat
1fb7d9a8a6
NES - Mapper 45 - oops, add lock_regs flag to savestates
2012-07-28 15:42:57 +00:00
adelikat
678e60815e
NES - Mapper 50 - hook up IRQ logic?
2012-07-28 13:19:12 +00:00
adelikat
8d45516811
NES - mapper 50 - fix mirroring
2012-07-28 12:35:51 +00:00
brandman211
0d10eee747
-Implemented branching and tested BNEQ. BEXT not implemented.
...
-Made it so that the indirect ops other than MVO@ decrement R6 when it's the mem address. Indirect write means writing to a register apparently, so maybe the documentation don't contradict itself.
2012-07-28 04:18:13 +00:00
adelikat
5d521a5132
NES - mapper 50 - some fixes, almost complete
2012-07-28 03:37:06 +00:00
adelikat
7805c460d0
NES - start mapper 50, but it doesn't work
2012-07-28 03:11:39 +00:00
adelikat
10c71da526
NES - implement mapper 45
2012-07-28 01:29:06 +00:00
adelikat
524bc29b43
NES - remove some console logging spam on mapper 49
2012-07-28 01:02:16 +00:00
brandman211
4864aaa291
-Enabled and tested DECR.
...
-Fixed my disassembly of branch; I wasn't thinking in hexadecimal. >_<
-Subtracted 1 from the negated offset when branching in reverse. The next op is "BNEQ $FFFC".
2012-07-27 04:46:44 +00:00
brandman211
4d1f0114c4
R4-R7 now auto-increment for all of the indirect opcodes. My documentation is inconsistent on whether R6 increments or decrements on right, but in any case, my output now matches my source until the DECR, which hasn't been implemented yet.
2012-07-27 04:07:06 +00:00
brandman211
3a56f65c3f
Implemented the XXXR opcodes. As of now, I have Jump, MVO@, MVI@, and XORR enabled and tested. There might be an off by one error with MVO@.
2012-07-27 03:33:24 +00:00
adelikat
9ee133866d
NES - complete mapper 205, slight fix to mapper 91 (still not working)
2012-07-27 02:14:18 +00:00
andres.delikat
f72905f602
NES - start mapper 96 (prg mapping working)
2012-07-24 14:32:09 +00:00