Commit Graph

51 Commits

Author SHA1 Message Date
adelikat 941bdb7daa remove unused code in MOS6502X 2020-04-29 17:25:37 -05:00
alyosha-tas 2ef2f8f119 NESHawk: various loop optimizations, 5-10 fps improvement 2020-04-29 09:38:27 -04:00
adelikat 4386509f01 NesHawk - about a 5-10% speedp by using AggressiveInlining. Performance sensitive methods were analyzed, and I only added it to methods that failed inlining only due to the 32 IL byte limit but still reasonably sized. This attribute only lifts the 32 byte limit, it's important to do this analysis and not just apply this attribute with research. 2020-04-21 09:18:09 -05:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -06:00
adelikat 606c3bf1c2
use more advanced language features in Emulation.Cores (#1852)
* Use expression bodies in Emulation.Cores, and a few other misc cleanups

* remove unused usings in Emulation.Common

* cleanups in Tables_Direct.cs

* some cleanups in nes boards - redundant code

* remove some redundant array initializers in Emulation.Cores

* cleanup AmstradCPC.Controllers

* use object initializers in a lot of places

* nes mappers - remove disch's notes comments in favor of the nesdev wiki link

* cleanup CdtConverter.cs, mostly use of object initializers

* remove redundant .ToString() calls in Emulation.Cores

* using var in Emulation.Cores

* AmstradCPC/ZXSpectrum - simplify some linq, tabs instead of spaces, a few other misc cleanups

* Use null-propagation in Emulation.Cores
2020-02-17 16:54:51 -06:00
adelikat 969642b6c7 add Get/SetCpuFlagsAndRegisters to MOS6502X, and have cores point to that, instead of the same boilerplate in each core 2020-02-16 17:44:52 -06:00
adelikat d7f97b1539 actually delete things instead of removing them from the project 2020-02-08 13:09:27 -06:00
YoshiRulz 6f3f01125c
Enable SA1504 and fix noncompliance
"All accessors should be single-line or multi-line"
i.e. no block form on one line
2020-01-25 14:56:56 +10:00
SaxxonPike d39f3e2e61 6502X: pending IRQs are not delayed when !RDY is asserted 2019-07-13 12:31:09 -05:00
SaxxonPike bf2cba0e23 6502X: remove a comment (this is indeed a dummy fetch) 2019-07-13 11:38:03 -05:00
SaxxonPike 9758efe604 6502X: CPU does a read or write regardless if the result is trashed, even during reset and dummy pushes 2019-07-09 19:46:33 -05:00
SaxxonPike 3efea15038 6502X: When !RDY is asserted, still do other operations. Plus, do dummy reads on stack ops 2019-07-09 05:24:47 -05:00
SaxxonPike d48964b642 6502X: According to the datasheet, RDY must be high in order for interrupts to trigger
- this has implications for C64, as it may cause VIC interrupts to fire quite later than they currently do
2019-07-06 00:00:51 -05:00
SaxxonPike cb48104d7a 6502X: Fix ADC with decimal mode enabled. 2019-07-03 23:49:55 -05:00
James Groom 8f5ecdf157
Remove trailing comma in vararg 2019-04-04 12:00:13 +10:00
James Groom b37ced84cb
Use string.Join 2019-04-04 11:57:36 +10:00
YoshiRulz 9af93be0d3
Use string interpolation 2019-04-04 02:41:18 +10:00
YoshiRulz 7fb8051426
Use string.Concat/string.Join 2019-04-04 02:17:00 +10:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
alyosha-tas 8e99908c47 SubNESHawk: Add ppu cycle to tracer 2019-01-19 09:23:22 -06:00
alyosha-tas 69fe1bdf97 NESHawk: VRAM write timing glitch 2018-12-16 13:10:04 -06:00
Scepheo f3ea6fe025 Use generic interface type on MOS 6052X for talking to the emulator core (#1189)
* Use generic interface type on MOS 6052X for talking to the emulator core
* Change CpuLink constructors to not use expression-bodies, to get the AppVeyor build to pass.
* Add comment explaining why IMOS6502XLink exists.
2018-05-20 23:18:53 +03:00
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -04:00
feos 09d765e853 make 6502 tracelog less bullshit
- stop spamming ---
- stop acting like 6502 is able to execute the same pc twice in a row
- put as many raw bytes as 6502 fetches per instruction
- reorder some registers
- stop being called when there's nothing to disasm
2018-03-15 00:30:50 +03:00
alyosha-tas 0e0d3e4143 Update Execute.cs 2017-06-17 19:01:04 -04:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
alyosha-tas 3ac053c33d Update 6502 reset 2017-03-08 12:19:31 -05:00
feos 76eaea3619 tracer unification for cores: spacing, headers, etc 2016-08-16 01:39:26 +03:00
feos 888d7fed6a tracer: set some padding 2016-08-14 22:59:07 +03:00
alyosha-tas 1c9d814e15 Add files via upload 2016-06-24 15:02:50 -04:00
Tony Konzel d518db2d14 6502: RTS IncPc micro-op should perform a read at PC and discard the result. 2016-06-22 15:09:57 -05:00
alyosha-tas 55feae8bf6 clean up and minor fixes 2016-06-16 11:29:08 -04:00
alyosha-tas b7c8755b14 Fill in some undocumented opcodes
now passes instr_misc/instr_misc (the only test I could find that even concerned itself with these opcodes)
2016-06-15 22:33:15 -04:00
Anthony Konzel aa83c33c58 6502: All non-writes are affected by RDY. 2016-03-09 20:12:49 -06:00
adelikat 2975d699ef Traceer - header for NesHawk and PCE 2016-02-28 08:28:00 -05:00
Anthony Konzel ac9a4ef777 Apply C64 core update patch. 2016-02-22 17:50:11 -06:00
adelikat f5e679fa0d Refactor ITraceable to work on TraceInfo objects that separate Disassembly and Register information. Make Tracelogger two columns. 2016-02-21 17:34:42 -05:00
pjgat09 b8ac99992e M6502: Added an R to the State output to indicate when the RDY signal is false. 2016-02-13 17:15:14 -05:00
zeromus 91d070094d 6502 cpu core: make JAM/KIL actually do something like the right thing 2015-12-31 11:43:38 -06:00
Kabuto f7c15bfd0f Fixed indentation and TODOs 2015-09-28 20:53:19 +02:00
Kabuto 1e9564a337 C64 core: tape loading added, lots of bugfixes and improvements 2015-09-28 01:30:58 +02:00
goyuken 8fb7d3ea9d does it work? who knows! 2014-12-20 19:17:35 +00:00
goyuken 972173282a support new disassembler infrastructure in 2600 and nes 2014-12-15 22:52:22 +00:00
goyuken 05dedc67e2 6502: add rdy_freeze to savestates; should only affect c64 stuff 2014-10-19 22:19:53 +00:00
goyuken db681d5948 6502: delete the cruddy old native one. add a cruddy new native one as attic crap. 2014-10-19 22:18:25 +00:00
goyuken 9609bf1601 NES: disconnect some bitrotted code for an alternate 6502 core 2014-07-30 16:33:48 +00:00
adelikat f546a8080c Move some extension methods from the generic extensions file to NumberExtensions and fix up namespaces 2014-07-03 15:35:50 +00:00
adelikat 7d09468d7a 6502 - disassembling should be peeking not reading, there's still some unsafe peeking going on with NES trace logging though 2014-04-30 01:16:04 +00:00
goyuken 4ada3b4973 NES: fix tracelogger for first instruction of NMI or IRQ. also make it obviously indicate that an NMI or IRQ has occurred 2014-02-12 22:01:23 +00:00