Commit Graph

60475 Commits

Author SHA1 Message Date
snickerbockers
13bdaf3b66 powervr2.cpp: reduce number of divisions in render_hline 2018-07-31 11:42:44 -07:00
snickerbockers
01b1422c26 powervr2.cpp: turn some per-pixel branches into per-polygon branches
In commit ec325ef14f I did something stupid from
a performance standpoint, which was to select the shading function on a
per-pixel basis even though it can only change on a per-polygon basis.  This
commit uses c++ templates and inline functions to so that the compiler's
constant folding can eliminate the switch statement that selects shading
functions (thus making the choice a per-polygon one).  I also did the same thing
for the texture and bilinear filtering checks.

This brings back a little less than half of the performance hit on my PC, so
things still aren't as fast as they used to be.

Benchmark (running a full cycle of Crazy Taxi NAOMI's attract) on my PC:

Before ec325ef14f: 30%
After ec325ef14f:  23%
With this commit:  26%

Regarding the other 4% of the drop, that is coming from the pixel shading.
When I hardcode powervr2 to always use shading instruction 0, performance
jumps up to 29.5%, but when I hardcode it to use shading instruction 3
performance falls a bit down to 25%.  Shading instruction 3 is the most
complicated of the four and shading instruction 0 is the simplest, so I think
that proves that the shading instructions themselves are a major bottleneck.
I don't have any ideas about how to make them faster yet.
2018-07-31 11:42:05 -07:00
Robbbert
b1c5b7c40d (nw) ccs300 : fixed regression 2018-07-29 02:04:26 +10:00
AJR
2f26bb1788 seibucop.cpp: Minor documentation mistake (nw) 2018-07-28 10:59:54 -04:00
smf-
fa84557cb2 updated warning checks (nw) 2018-07-28 14:31:55 +01:00
smf-
2b8fc7d6f5 vgmplay don't crash on YM3438 songs [smf] 2018-07-28 13:57:34 +01:00
smf-
2612cd60c0 vgmplay: Fixed K054539 [smf] 2018-07-28 12:54:08 +01:00
smf-
982077e161 added device_clock_changed (nw) 2018-07-28 11:59:33 +01:00
smf-
9b5a95713c make the software list "special" to prevent pausing while typing (nw) 2018-07-28 11:24:41 +01:00
smf-
8474f04626 fixed oki clock (nw) 2018-07-28 09:53:42 +01:00
smf-
7ecf21cbdd added device_clock_changed (nw) 2018-07-28 09:20:09 +01:00
David Haywood
9810046650 tlcs870 - ALU flags, passes internal RAM check (nw) (#3797)
* tlcs870 - ALU flags, passes internal RAM check (nw)

* interrupt wait loop depends on JF always getting set
2018-07-28 15:13:49 +10:00
cam900
830e6d31f7 y2.cpp : Add notes/Romanization, Fix metadata 2018-07-28 15:11:11 +10:00
smf-
0e389bf1af add device_clock_changed (nw) 2018-07-28 06:06:15 +01:00
ajrhacker
d38c19d33d
Merge pull request #3800 from cam900/ymf262
ymf262.cpp : Add device_clock_changed
2018-07-28 01:05:35 -04:00
Vas Crabb
9164b0c5bd ignore SVG dimensions, like we always did (nw) 2018-07-28 15:04:40 +10:00
AJR
a1c39dbf90 osbexec: Eliminate bogus memory regions (nw) 2018-07-28 00:55:36 -04:00
AJR
c5a244d32c flopimg.h: Add debug asserts to help catch geometry errors (nw) 2018-07-28 00:54:54 -04:00
arbee
31aaae7491 New machines promoted to WORKING
- Apple IIc Plus [R. Belmont, M. Guidero, Leon Bottou]

Only the first 3.5" drive works right now and there are no 5.25" drives and no accelerator yet.
2018-07-27 23:53:38 -04:00
ajrhacker
3dc8ca2662
Merge pull request #3801 from cam900/patch-43
virtual.lua : Add YM2610 support
2018-07-27 23:44:43 -04:00
AJR
952bdf962a imd_dsk.cpp: Add some sanity checking on geometry 2018-07-27 23:43:03 -04:00
cam900
b9190bee99
virtual.lua : Add YM2610 compile 2018-07-28 12:43:01 +09:00
cam900
f2a59faed6 ymf262.cpp : Add device_clock_changed
ymz278b.cpp : Add device_post_load for FM part, Add device_clock_changed
2018-07-28 11:10:19 +09:00
AJR
c72d28ba0c osbexec.cpp: Miscellaneous updates (nw)
- Even better hookup for modem RS232 port (including transmission clocks)
- Use ripple counter device for "RTC" and blink timer
- More object finder arrays and devcb3 usage
2018-07-27 22:03:35 -04:00
AJR
688ee50646 notetaker: Add UART interrupts (nw) 2018-07-27 21:10:44 -04:00
smf-
a4cc8c9af4 vgmplay: preliminary hook up of YM2610 [smf] 2018-07-28 02:01:00 +01:00
braintro
a103080fc6 new working clone - WWF WrestleFest (US)
Out of whatsnew:
Minor clean up:
Correct OKI Clock for wwfwfest sets
Update rom names to MAME convention
minor ROM name corrections

New Clone Added
-----------------------------------------
WWF WrestleFest (US) [SpinalFeyd, The Dumping Union]
2018-07-27 19:56:13 -05:00
ajrhacker
d3aab8391d
Merge pull request #3799 from DavidHaywood/270718
new clones marked as NOT WORKING
2018-07-27 20:41:44 -04:00
smf-
d289ae98cb "All header sizes are valid for all versions from 1.50 on, as long as header has at least 64 bytes. If the VGM data starts at an offset that is lower than 0x100, all overlapping header bytes have to be handled as they were zero." (nw) 2018-07-28 01:03:35 +01:00
smf-
20b5f5d0e6 vgmplay: start all clocks at zero and reset all sound chips on a song change [smf] 2018-07-27 23:31:57 +01:00
smf-
5460bc0d3d prevent HOLD_LINE & irq acknowledge infection (nw) 2018-07-27 21:56:06 +01:00
Olivier Galibert
f9b28ee6f5 Prevent aggressive incompetence (nw) 2018-07-27 22:34:45 +02:00
DavidHaywood
1dd5c61ae4 new clones marked as NOT WORKING
The King of Fighters - Road to Revenge / The King of Fighters 2002 Unlimited Match (Japan) [CoolFox, brizzo]
2018-07-27 20:45:42 +01:00
Vas Crabb
af6434355d make a few more atari things use rect getters/setters (nw) 2018-07-28 04:06:48 +10:00
Robbbert
142e1842c3 (nw) super6 : notes, cleanup 2018-07-28 02:51:02 +10:00
Vas Crabb
2968620098 make rectangle work better with constexpr, change many things to use designated getters/setters (nw) 2018-07-28 02:27:53 +10:00
smf-
dbb034ad61 PSX CPU: hookup debugger_exception_hook & debugger_interrupt_hook [smf] 2018-07-27 09:49:51 +01:00
Robbbert
da224d90a0 (nw) goupil : tidied up rom loading, added cursor 2018-07-27 15:43:34 +10:00
Justin Kerk
ecc30334a5 New working software list additions
-----------------------------------
ibm5150: Math Blaster, Writer Rabbit [darksabre76]
ibm5170: The All In One Boot Floppy 1.0, The All In One Boot Floppy 0.9, The All In One Boot Floppy 0.9 (Lite Version), The All In One Boot Floppy 0.9 (FreeDOS only) [Justin Kerk]
2018-07-26 22:32:54 -07:00
AJR
a1c3a96a83 Mask address expressions in debug disasm view 2018-07-26 22:12:55 -04:00
Ivan Vangelista
ce848a8df9 dynax.cpp: minor note about possible Inca manufacturer (nw) 2018-07-26 22:38:55 +02:00
Ivan Vangelista
f2874c54a3 new working clone
------------------------------
Halley's Comet (Japan, prototype) [Joe Magiera, The Dumping Union]
2018-07-26 22:38:14 +02:00
AJR
8de41654fa debugcpu.cpp: Move scripting functions down into console (nw) 2018-07-26 14:41:14 -04:00
AJR
6024c958b9 debug/express.cpp: Use std::deque for token stack (nw) 2018-07-26 14:40:44 -04:00
Robbbert
85eaf87194 (nw) pulsarlb : notes 2018-07-27 00:18:55 +10:00
Vas Crabb
9db24aa2e9 Better support for screen orientation/geometry:
* Eliminates the need for the horizontal/vertical/LCD/SVG layout files
* Screens can now have orientation and physical aspect ratio specified
* RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time
* System orientation is applied on top of screen orientation

Automatically generated single-screen views and orientation flags in XML
output now work correctly for systems with multiple screens in different
geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc.

The "core rotation options" only interact with system orientation.
Allowing multi-screen systems to work well with one monitor per emulated
screen is a complex topic.  System orientation also affects the GFX
viewer while screen orientation doesn't.  The orientation displayed in
the system selection menu is from the system orientation.

Let me know if I've broken any systems or use cases.

Also, add save state support for std::array/C array nested to any depth.
2018-07-26 23:11:02 +10:00
Chromaryu
884f3a86bb Update taito_f3.cpp (#3791)
Removed old comments; ES5510 is in taito_en.h
2018-07-26 14:29:05 +02:00
Robbbert
796bb295d1 slicer : fixed regression from last November. 2018-07-26 21:08:35 +10:00
Ivan Vangelista
45f8176266
megaphx.cpp: verified megaphx pals as BAD_DUMP [caius] 2018-07-26 07:49:00 +02:00
David Haywood
f3537b3b30 tlcs870 updates (#3787)
* tlcs870 updates

* basic devcb3 stuff to make a start on the ports (nw)
2018-07-26 10:58:31 +10:00