alyosha-tas
2ef2f8f119
NESHawk: various loop optimizations, 5-10 fps improvement
2020-04-29 09:38:27 -04:00
adelikat
217f03f66d
remove AggressiveInlining on Read_bgdata, still doesn't inline due to switch statement, so this attribute is doing nothing here
2020-04-21 10:30:10 -05:00
adelikat
26a68c0cbc
NesHawk - aggressively inline Apu.EmitSample() also simplify it to reduce IL
2020-04-21 10:28:31 -05: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
8bcab5af79
NESHawk - break off INesBoard and NesBoardBase into separate files
2020-03-19 19:06:03 -05:00
adelikat
4ababf383a
NESHawk - PPUREGS - don't depend on PPU, move the one method that was using it out to PPU
2020-03-14 10:30:53 -05:00
adelikat
46d05de51f
nothing to see here
2020-02-28 12:52:48 -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
YoshiRulz
b1e02fbdce
Enable SA1106 and fix noncompliance
...
"Code should not contain empty statements"
i.e. don't put a semicolon there
2020-01-25 18:06:34 +10:00
alyosha-tas
6bd0fbccef
NESHawk: scanline timing and audio fix
2020-01-07 18:28:12 -05:00
alyosha-tas
0bd3553c27
NESHawk : fix dendy mode
2019-09-14 10:30:18 -04:00
alyosha-tas
469fc4836f
NESHawk: Optimizations and Audio changes
2019-02-18 14:52:17 -06:00
alyosha-tas
c19c7cd5c3
SubNESHawk
...
also Input register shift fix
# Conflicts:
# BizHawk.Client.EmuHawk/MainForm.Designer.cs
# BizHawk.Client.EmuHawk/MainForm.Events.cs
# BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
# BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
# BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03:00
alyosha-tas
69fe1bdf97
NESHawk: VRAM write timing glitch
2018-12-16 13:10:04 -06:00
alyosha-tas
9804a0901a
NES: Sprites don't render on scanline 0
2018-03-07 09:46:40 -05:00
alyosha-tas
7b8a61b8e4
NESHawk Cleanup
2017-10-26 09:58:24 -04:00
alyosha-tas
c96ea0d23d
Update PPU.run.cs
2017-10-25 21:51:53 -04:00
alyosha-tas
874d06797f
NESHawk: Code Clean up
...
remove redundancies, fix scanline count
2017-09-02 10:48:23 -04:00
alyosha-tas
40ec613982
NesHawk: Single Tick PPU
...
Should allow for breaking out into a debugger.
2017-09-01 22:11:41 -04:00
alyosha-tas
3961292294
NESHawk: more efficient sprite check
...
Gives a ~5% speed boost by not checking every sprite all the time.
2017-08-27 18:17:10 -04:00
alyosha-tas
497513f93a
NESHawk: PPU: Fix OAMADDR
...
-Implements $2004 write glitch
-Correctly implements OAMADDR initialization
2017-08-02 11:24:49 -04:00
adelikat
cbe2f442a7
Neshawk - ppu - a small code simplification
2017-06-30 09:15:55 -05:00
adelikat
e150bca642
NesHawk - unless I'm missing something, this is more readable and more performant
2017-06-28 10:37:03 -05:00
alyosha-tas
bd29ec087e
NES: small PPU refactor
...
Will make future testing easier
2017-06-17 19:02:21 -04:00
alyosha-tas
13b99bafd0
NESHawk: Clean up and minor refactor
...
Simplify the code base a bit and gets a performance boost as well.
2017-06-16 21:41:13 -04:00
alyosha-tas
10de07aec2
Update PPU.run.cs
2017-05-30 18:24:30 -04:00
alyosha-tas
9f7a926437
NES Fix more then 8 sprites option
2017-04-07 20:14:34 -04:00
alyosha-tas
9d93fe404c
NES Timing Update
...
Update per Visual NES inspection of $2001 writes
Correctly fixes Micro Machines while maintaining Battletoads 2p warps sync
2017-03-21 19:01:30 -04:00
alyosha-tas
e82f19c39e
NES Set up a known valid state for testing
2017-03-09 17:50:19 -05:00
alyosha-tas
22da9ae6ea
NES Update Core
2017-03-08 12:18:30 -05:00
alyosha-tas
df7a93e83a
NES Update $2003 behaviour
...
Fixes Huge Insect
Some debate reamins about what exactly is happening here though
2017-03-07 22:30:41 -05:00
alyosha-tas
b453745404
NES PPU update sprite evaluation
2017-03-06 20:27:37 -05:00
alyosha-tas
535bfa4ab4
Update PPU.run.cs
2017-03-06 07:30:20 -05:00
alyosha-tas
f6746400d9
Update PPU.run.cs
2017-03-06 07:24:28 -05:00
alyosha-tas
0960ca8a89
NES PPU clean up
2017-03-03 20:51:36 -05:00
alyosha-tas
ca2fa6c95e
NES PPU2006 write delay
...
See NESDEV discussion:
http://forums.nesdev.com/viewtopic.php?f=3&t=15484
2017-03-03 14:57:38 -05:00
alyosha-tas
961c5d7a03
NES: Fix another PPU race condition
2017-02-04 13:46:10 -05:00
alyosha-tas
3c8a6a4e19
NES: Fix PPU timing and Race condition
2017-02-04 09:14:55 -05:00
alyosha-tas
dd19a69b6c
NES: Fix more then 8 sprites per scanline
2017-01-27 18:34:56 -05:00
alyosha-tas
647f0914ed
NES: Some PPU cleanup
2017-01-25 19:17:24 -05:00
alyosha-tas
18d8baa65d
Add files via upload
2016-10-23 20:50:06 -04:00
alyosha-tas
92d4e1bd17
Fix power up behaviour (and Dragon Slayer IV)
...
Power up timing is now consistent with all know information regarding VBlank timing and initial state.
This is mostly thanks to True's console testing of Battletoads, which happens to require exacting timing to sync.
However, Dragon Slayer 4 requires writes to $2000 to be recognized well before the PPU is initialized, and even blargg states that this should not be the case. Since the game obviously is supposed to run, I have removed all write ignore code until more testing can be done.
2016-10-16 17:25:13 -04:00
alyosha-tas
4c919c95c0
Match first VBlank timing to FCEUX
...
Irrelevent to sync since games wait for VBlank anyway, but extremely convenient for testing.
2016-10-05 22:26:47 -04:00
alyosha-tas
a9cded19bb
Fix bug in NES BG evaluation
...
Fixes a long standikng bug in micro machines
2016-09-25 11:52:12 -04:00
alyosha-tas
2843b4c8af
Timing fix
...
This one actually mattered for mapper 83, which relies on pretty tight timing and power up behaviour.
2016-09-19 22:42:20 -04:00
alyosha-tas
c746d3f9db
fix number 2 at pipeline
2016-09-16 20:37:11 -04:00
alyosha-tas
6507ed3508
Fix pipelining
2016-09-16 18:28:54 -04:00
alyosha-tas
1d098aa242
Fix BG check timing, implment pipeline
2016-09-16 07:46:56 -04:00
alyosha-tas
ec582fb35c
Properly check draw_bg every pixel
2016-09-15 16:06:31 -04:00
alyosha-tas
29cec0e49b
small timing fix
...
needed for family basic
2016-09-07 20:05:02 -04:00