Commit graph

1110 commits

Author SHA1 Message Date
toxieainc cb9d73c9d0 port some (simple) changes from MAME/MESS 2022-08-09 20:37:42 -07:00
trzy d60feab2ca
Merge pull request #1 from toxieainc/master
Fix some errors, fix some performance warnings, and some simple (but effective) optimizations
2022-07-18 13:00:27 -07:00
toxie 7b87908631
Merge branch 'trzy:master' into master 2022-07-18 21:53:49 +02:00
toxieainc 27e071dafb add comment 2022-07-18 21:43:13 +02:00
toxieainc dda48d7606 address review 2022-07-17 20:29:25 +02:00
toxieainc 24173a2140 revert "" -> std::string() 2022-07-17 20:25:51 +02:00
toxieainc c42a2d8951 check for __GNUC__ instead of just assuming it 2022-07-17 20:23:11 +02:00
trzy bd4399bcea
Merge pull request #2 from ToBul/master
Games.xml: Align ROM names with MAME.
2022-07-16 21:01:44 -07:00
Tony Bulmer e1e61c4bdc Games.xml: Align ROM names with MAME.
Minor and inconsequential change.
Makes manual ROM building 'slightly' easier when using latest MAME ROM set (currently 0.245).
2022-07-12 10:45:39 +01:00
toxieainc abb1273aa0 slightly optimize DrawTileLine (less branches/logic) 2022-07-11 18:49:02 +02:00
toxieainc b98be0c2e7 optimize ReadRegister, as localtime (at least on MSVC/Windows) is significantly showing up in profiling
e.g. in SW Trilogy

caches localtime until time changes (i.e. limits calls to 1/sec)
2022-07-11 18:47:13 +02:00
toxieainc ba7145df52 use intrinsics for endian swap 2022-07-11 18:42:15 +02:00
toxieainc b2b8396947 missed 2 changed files with last commit 2022-07-11 18:27:44 +02:00
toxieainc 4961951a89 fix a real error (m68kdasm) and some harmless performance warnings and use modern headers 2022-07-11 18:10:41 +02:00
toxieainc e0053b3a46 fix some real errors (Model3,InputSystem), minor errors (SCSP,SDL/Main) and some performance warnings 2022-07-11 17:43:59 +02:00
Bart Trzynadlowski 46eff8c5eb supermodel_build_bot.py: New build bot script for GitHub 2022-06-25 15:53:47 -07:00
trzy 35a7e8a60b
Update README.md 2022-06-25 15:53:36 -07:00
Bart Trzynadlowski 237f2756c0 Rules.inc: whitespace error 2022-06-23 12:41:32 -07:00
Bart Trzynadlowski d42f7d6563 Rules.inc: Fixed git revision parsing 2022-06-23 12:38:58 -07:00
Bart Trzynadlowski 8c8cc3d32b Preparing for Git snapshot build bot and updated copyright header to reference full lifespan of Supermodel repo 2022-06-23 12:34:02 -07:00
trzy 3803d6b705
Updated Supermodel.ini comment to reference Supermodel.log instead of error.log 2022-06-20 23:42:42 -07:00
Bart Trzynadlowski 015b96026a Corrections to README.md and Supermodel.ini 2022-06-20 23:41:43 -07:00
Bart Trzynadlowski 6460a06c1a Removed disassembly of Scud Race Plus 2022-06-20 23:31:34 -07:00
trzy 849f2e8407
Update README.md
Trying again to make the images fit side-by-side.
2022-06-20 23:24:01 -07:00
trzy ff7f6d5a44
Update README.md
Fixed image layout and added some links.
2022-06-20 23:21:50 -07:00
Bart Trzynadlowski b58b5ce46d Smaller Real3D logo 2022-06-20 23:07:32 -07:00
Bart Trzynadlowski 81a43e0384 Added initial REAMDE.md 2022-06-20 22:59:19 -07:00
Ian Curtis a742a73772 njz3: Fix sound volume with new quadrophonic audio code 2022-06-19 16:15:54 +00:00
Ian Curtis e3bc56c8f1 values must be signed, to handle negative numbers, my bad 2022-06-14 21:24:43 +00:00
Ian Curtis 78eab65749 minor fix 2022-06-14 18:14:06 +00:00
Bart Trzynadlowski 7be381c9ba Added configurable refresh rate. Default is 60 but -true-hz on the command line enables 57.524 Hz mode, which some players report making Spikeout and the timing of combos in VF3 more authentic. The config key is RefreshRate and is specified as a floating point value. Should the desire arise, arbitrary refresh rates can be set in Supermodel.ini using this key but almost no validation of the value is performed. Thanks to forum user trap15 for the original code and PonMi for advocating for this patch to be included. 2022-06-12 17:51:57 +00:00
Ian Curtis 83e7b5f45d njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo. 2022-06-09 21:10:39 +00:00
Bart Trzynadlowski 5e61e2f388 Added default values for PortIn, PortOut, and AddressOut 2022-03-31 23:09:32 +00:00
Ian Curtis 84ae9df665 fix: explicit specialization requires 'template <>' 2022-02-06 17:32:44 +00:00
Bart Trzynadlowski fe7baa108f Bitmap size field in the BITMAPV4HEADER was not being set correctly (the image viewers I've been using are unaffected by this but it ought to be corrected) 2022-02-05 06:44:53 +00:00
Bart Trzynadlowski 3f6937e1a6 When dumping textures, two T1RGB5 texture maps are written: with and without contour processing. Contour processing can be disabled per-polygon and some textures intended to be used without contour processing contain pixels with T=1 that are clearly not supposed to be transparent. We now output textures_t1rgb5_contour.bmp and textures_t1rgb5_opaque.bmp. 2022-02-05 00:52:34 +00:00
Bart Trzynadlowski 32933ef9b0 Added a -dump-textures option (config key DumpTextures) that writes texture BMP files, one for each known format (12 in all currently) 2022-02-01 23:15:06 +00:00
Matthew Daniels 646b46fd4b Adjust the number of PowerPC cycles executed per frame to assume 57.524 Hz refresh rate
Fighting Vipers 2 attract mode no longer requires 100+ MHz to run smoothly

Supermodel itself still runs at 60 Hz
2022-01-23 15:32:53 +00:00
Ian Curtis 0ef90899e1 Double buffer the line of sight values. Should allow the correct values to be returned if GPU threading is enabled. 2022-01-02 12:48:09 +00:00
Matthew Daniels 1a7e319aaf Fixing Magical Truck Adventure bad ROM dump which was causing attract mode to stop rendering 2021-12-29 13:18:20 +00:00
Ian Curtis bc774ca10e methods should be marked as noexcept because they cannot throw 2021-12-19 17:48:38 +00:00
Ian Curtis b8aac0a4f8 white space. 2021-12-17 23:58:20 +00:00
Ian Curtis 6f7130c50b Better document real3d registers 2021-12-17 23:57:12 +00:00
Matthew Daniels 6ff099b5ba Clear all Real3D DMA registers on reset; uninitialized values were causing issues with MSVC debug builds 2021-12-17 23:36:54 +00:00
Matthew Daniels 3e9c887277 Another header include fix 2021-12-15 14:47:41 +00:00
Matthew Daniels 94772ae3d9 Include required header files in Model3GraphicsState.h - fixes potential build errors in GCC 2021-12-15 13:55:27 +00:00
Matthew Daniels 0c47ac831a Increase MIDI FIFO buffer size for SCSP; should prevent FIFO overflows
Also use similar macro for DSB FIFO buffer
2021-11-30 23:01:37 +00:00
Matthew Daniels e93c5d710f PowerPC IRQ line deassertion; DMA only fires interrupts when required
PowerPC no longer clears its own IRQ line; it is now cleared by the IRQ controller when there are no more pending interrupts. Not all games clear DMA interrupts so it was necessary to tweak the 53C810 SCSI controller and the Real3D DMA interface to only fire interrupts if a certain register is correctly set. 53C810 has the documented DIEN (DMA Interrupt Enable) register; Real3D DMA seems to use the low bit of the dmaConfig register.

Also I removed the net IRQ as no games seem to actually use it.
2021-11-28 01:11:11 +00:00
Matthew Daniels 9ffce8b92a Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs.
Making changes to a header file should no longer force the entire project to recompile.
2021-11-22 17:15:06 +00:00
Matthew Daniels 50465f9a5a Shared RAM on simulated netboard is now double-buffered; Spikeout Final Edition no longer requires a hack to work.
Preparing to enable simulated netboard to run in its own thread
2021-11-05 00:23:29 +00:00