Nowa wersja testowa emulatora arcade maszynek SEGA MODEL III. Wrzucam od czasu, do czasu nowe wersje tego świetnego emulatora, ale zazwyczaj ich nie opisuje, czekając aż Bart Trznadlowski w końcu obwieści kolejną odsłonę swojego programu.
Revision 725
Author: trzy | Date: czwartek, 3 maja 2018 05:46:44
- Added a stretch mode (-stretch) and modified new renderer's viewport code (hopefully correctly) to handle aspect ratio correction and widening the way the legacy one does.
Revision 724
Author: dukeeeey | Date: środa, 2 maja 2018 22:10:02
- Render the opaque part of texture transparency in the first pass. Fixes numerous transparency related issues in lemans24 and some in ocean hunter. I don't really know if this is the 'correct' way of solving this because the real3d pro-1000 is a complete black box. There is still a lot we don't understand about how it handles transparency.
Revision 723
Author: dukeeeey | Date: wtorek, 24 kwietnia 2018 15:51:53
- remove unnecessary copies
Revision 722
Author: dukeeeey | Date: piątek, 30 marca 2018 14:04:27
- Fix controller inputs (Spindizzi)
→ NOWSZY [ARCADE] Supermodel x64 0.3a 9d09b07 12/09/2024
Commit: 9d09b0717d175cbc403180eebc1a6ece4a7936e4
Author: dukeeeey
Date: Thu Sep 12 00:25:02 2024 +0100
- Merge pull request #191 from gm-matthew/debugger
- Fix debugger build
Commit: 536ea999694cd5512e10abc5f62f4c4ab384707d
Author: gm-matthew
Date: Thu Sep 12 00:01:23 2024 +0100
- Fix debugger build
Commit: 3d64a8d4fe0a82a4a11bf3edee2ab6283493f1d5
Author: dukeeeey
Date: Tue Sep 10 21:35:21 2024 +0100
- Merge pull request #190 from toxieainc/shader_fix
- Use correct GetUniformLocation
Commit: b991d0df7299c03b3b9d16cddd5dcba136e97120
Author: toxieainc
Date: Tue Sep 10 22:02:03 2024 +0200
- use correct GetUniformLocation
Commit: 706969a87d46914cab4835e9efa3846427d15c00
Author: Ian Curtis
Date: Mon Sep 9 11:43:07 2024 +0100
- Fix some uninitialised variables
Commit: d34596aa14ca828139900250fe5a2e21fb4bc1a3
Author: Ian Curtis
Date: Sun Sep 8 13:34:56 2024 +0100
- Fix regression
Commit: cab0131affc07dcc8361ce19e1a0bfc9727edd85
Author: Ian Curtis
Date: Sun Sep 8 12:49:42 2024 +0100
- Must use the correct call type otherwise it's invalid
Commit: c7e541726bb66df40f1a5c94b1510857a5f23d83
Author: Ian Curtis
Date: Sat Sep 7 23:13:11 2024 +0100
- Fix build after merge
Commit: 3adb898f866ff40a6d13af920a428aae797427be
Author: Ian Curtis
Date: Sat Sep 7 23:01:01 2024 +0100
- Merge
Commit: 604b7d9e39f4d6c4a7ac890bdfd54c827d827efc
Author: Ian Curtis
Date: Sat Sep 7 22:58:22 2024 +0100
- Use strong type for result instead of bool
Commit: 856e96be1043d5fdcb2d6ea3d521316d733b5962
Author: dukeeeey
Date: Fri Sep 6 20:59:46 2024 +0100
- Merge pull request #188 from toxieainc/optimize_depthstencil
- slightly optimize depth & stencil usage
Commit: fb785b36bd70c16001336e22a75950ba5ef3808f
Author: toxieainc
Date: Wed Sep 4 13:09:37 2024 +0200
- use only a single glReadPixels for LOS avoid creating a depth/stencil buffer
- in the New3D mode wire error handling for CreateFBO(DepthCopy) handle black
- FB init for triple buffering
Commit: 6d1af82077baeed8ed4213e559e03dd51b135ef5
Author: Bart Trzynadlowski
Date: Mon Sep 2 15:51:40 2024 -0700
- Merge pull request #186 from gm-matthew/poll-inputs
- Poll inputs before running frame
Commit: a7656dc386066fa6b9f9e3d430746b3fbbd8c1c8
Author: gm-matthew
Date: Sun Sep 1 23:10:38 2024 +0100
- Poll inputs before running frame Should reduce latency somewhat. Thanks
- star69rem
Commit: dc1479ff178b592d6817906d1eb5100cf4e9921f
Author: Ian Curtis
Date: Wed Aug 28 23:30:15 2024 +0100
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: e0cb663689257624736bfdca0767dcf9d5254519
Author: Ian Curtis
Date: Wed Aug 28 23:30:08 2024 +0100
- Port the GLSL tilegen code back to to software.
- - This is so we can draw the raster lines at the correct times. A few games
- (scud) are updating the tilegen mid frame. Currently these effects are
- missing from supermodel. All the efficiency of h/w rendering goes out the
- window when trying to render scan lines.
Commit: 28474af78cb321468e9945fa9e6581646f73f3d9
Author: Bart Trzynadlowski
Date: Fri Aug 23 09:28:28 2024 -0700
- Merge pull request #182 from gm-matthew/JTAG
New JTAG implementation
Commit: 04f1ed7e5debd5b3b931166b53e6d2cddb82f510
Author: gm-matthew
Date: Fri Aug 23 15:13:14 2024 +0100
- Delete BitRegister source files
Commit: 42ae86de2dc52d6d7c9746838a03dc389c217f88
Author: Matthew Daniels
Date: Fri Aug 23 15:12:20 2024 +0100
- Update Rules.inc
Commit: 363baa88c315c23ea9612bba5ac43b0f5b686519
Author: gm-matthew
Date: Fri Aug 23 15:05:21 2024 +0100
- Added comments to new JTAG class Removed old BitRegister class as it is no
- longer used
Commit: 6638c847c6061f5248e7fe0f7b86f3ff744fa259
Author: Ian Curtis
Date: Sat Aug 17 17:56:24 2024 +0100
- Fix build in vs. Upgrade to c++20?
Commit: 1e9858864def28297b668dfab7f9c5c36432f907
Author: gm-matthew
Date: Fri Aug 16 02:19:08 2024 +0100
- remove signed/unsigned mismatch warnings
Commit: 34cd771e29ed5582dec4660737917fde2ec03bd7
Author: gm-matthew
Date: Thu Aug 15 13:24:57 2024 +0100
- Change size_t to uint32_t otherwise savestates will be incompatible between
- 32-bit and 64-bit builds
Commit: 2871d45738a8831dc66e468827041acfba811181
Author: gm-matthew
Date: Thu Aug 15 00:50:37 2024 +0100
- Minor improvements
Commit: 5d45f593d56c8942750fcae5a2ca00ba1ca7115e
Author: gm-matthew
Date: Wed Aug 14 13:04:03 2024 +0100
- Removing patches from Sega Rally 2 and Star Wars Trilogy as they are no longer needed
Commit: dd08f3b917df92c55e098d4a4c1bdc1ea455d888
Author: gm-matthew
Date: Wed Aug 14 12:58:02 2024 +0100
- Fix compilation
Commit: 8b97c655dd9ea2008ddd7a4add6edbedc66b4a3e
Author: gm-matthew
Date: Wed Aug 14 12:47:30 2024 +0100
- New JTAG implementation Sega Rally 2 and Star Wars Trilogy no longer requirepatches to run Step 2.x games now display "daughter board was detected" asthey do on real hardware Currently not compatible with old savestates; wemay add partial support for old savestates before committing White flash tobe implemented soon
Commit: 721d4bc85aa4fd23029bfbe71b17d4124122d82e
Author: gm-matthew
Date: Tue Aug 13 14:51:07 2024 +0100
- Unsigned fixed shading is toggled by specular enable, not via JTAG
Commit: 309bf9856e0c4d626b2ece6bb142912abf104228
Author: Bart Trzynadlowski
Date: Sat Aug 10 21:12:18 2024 -0700
- Music.xml: Added Daytona 2 and Sega Rally 2 tracks
Commit: 3383b26bee001203b1d5370fc00023c866bd9e41
Author: Bart Trzynadlowski
Date: Fri Aug 9 22:42:32 2024 -0700
- supermodel_build_bot.py: Include Config/Music.xml in package
Commit: 6bae80bdf97eb1a23f1a818f6428af65cf2cfac5
Author: Bart Trzynadlowski
Date: Fri Aug 9 22:30:50 2024 -0700
- Makefile.Win32: Fixed SDL2 flags when building in MSYS
Commit: a0341cd1a4a435b9f50055982dd50e0390a24f6d
Author: Bart Trzynadlowski
Date: Fri Aug 9 21:39:14 2024 -0700
- Rules.inc: Restored 'release' target for Supermodel3.com-hosted builds and added some comments
Commit: cf8a61fd9db894de6d3127c6cac81345c7db6dfe
Author: Bart Trzynadlowski
Date: Thu Aug 8 19:07:43 2024 -0700
- Update copyright date
Commit: e636dd5fb2d07f59c4c58aad277b3f9bf00f523e
Author: Bart Trzynadlowski
Date: Mon Jul 22 20:54:06 2024 -0700
- Improved Makefiles (from h0tw1r3's PR): macOS Makefile will download SDL2Framework, hopefully fixed Musashi dependency issues that occasionally affect parallel builds
Commit: 2df8511e569ecf8371c3586df85ccc83ecf8795c
Author: Bart Trzynadlowski
Date: Fri Aug 9 11:56:12 2024 -0700
- Update README.md: Copyright updated to 2024
Commit: c705a896d30903441291a9796895b25943765a8f
Author: Bart Trzynadlowski
Date: Fri Aug 9 01:06:13 2024 -0700
- MpegAudio.cpp: Comment out debug logging of music start offsets
Commit: dbfe2b1a72498cf5ff1982a65d44da3fbec28606
Author: Bart Trzynadlowski
Date: Fri Aug 9 00:57:00 2024 -0700
- Added support for custom MPEG music in a new Music.xml config file
Commit: dd90d0e2e0ae2a8f05f16f1780d30d7d58f87f5d
Author: dukeeeey
Date: Fri Aug 2 19:08:52 2024 +0100
- Merge pull request #174 from gm-matthew/luminous15
- Step15Luminous() applies to all luminous polys, not just textured ones
Commit: 6908e5fd3fcbc8515213b9f865afdcba3118491b
Author: gm-matthew
Date: Fri Aug 2 17:20:23 2024 +0100
- Step15Luminous() applies to all polys, not just textured ones
Commit: ce9809c4d7505a291720fd76da0672b2d3d8673b
Author: dukeeeey
Date: Fri Aug 2 08:03:06 2024 +0100
- Merge pull request #173 from gm-matthew/textureNP
- New textureNP implementation
Commit: 493c5aae98cf6ba229ec16947a9def63758cc3a2
Author: gm-matthew
Date: Thu Aug 1 23:24:46 2024 +0100
- New textureNP implementation This new implementation uses the previously unused viewport parameter "cota"
Commit: 3d8557dc440669975b708efb486e0eb86276e4d8
Author: Ian Curtis
Date: Mon Jul 29 10:54:59 2024 +0100
- fix minor compile warning
Commit: 49ca8c148070a958bf60b9ca983c9de607131bd0
Author: Ian Curtis
Date: Mon Jul 29 00:19:26 2024 +0100
- Fix mipmaps Real3d mipmaps only go down to 2x2 pixels. The 1x1 pixels generated previously were actually the last part of the 2x2 mipmaps.
Commit: 27a2336528355f515f1cd590676feb407d82431a
Author: dukeeeey
Date: Sun Jul 28 16:39:18 2024 +0100
- Merge pull request #169 from gm-matthew/texture
- First 4MB of VROM maps to polygon RAM
Commit: aeaa60209392e3426241ef121db9e30e917664e0
Author: gm-matthew
Date: Sun Jul 28 16:06:47 2024 +0100
- First 4MB of VROM maps to polygon RAM Daytona 2 PE replaces unused Dreamcast logo textures by filling in zeroed data from polygon RAM. Before we were reading from the first 4MB of VROM which is filled with 0xFF values, resulting in the replaced textures incorrectly becoming white and opaque.
Commit: 32414ee1fd06345755b9fe9572bc508c8be3c11c
Author: dukeeeey
Date: Fri Jul 26 18:00:09 2024 +0100
- Merge pull request #168 from gm-matthew/specular
- Specular lighting works differently on flat-shaded polys
Commit: 6d5aeb1da56e794ad07ddf11ced76fd0e2a26e1f
Author: gm-matthew
Date: Fri Jul 26 17:22:35 2024 +0100
- Specular lighting works differently on flat-shaded polys Also lower multIndex values for smooth-shaded specular, more accurate to real hardware
Commit: 5fa402f2f586ebd7a107e68f7b9d9613e56d2b70
Author: dukeeeey
Date: Fri Jul 19 16:32:45 2024 +0100
- Merge pull request #165 from gm-matthew/widescreen
- Don't expand culling planes unless widescreen is enabled
Commit: d7fdba0620f1ac1aca3fcec90bc3b7f4605ef499
Author: gm-matthew
Date: Fri Jul 19 14:19:09 2024 +0100
- Don't expend culling planes unless widescreen is enabled
Commit: a2645c944f57e8d9c245063d21f9bf612eab0a6b
Author: gm-matthew
Date: Sun Jul 14 02:30:51 2024 +0100
- Give PowerPC more cycles to acknowledge sound IRQs 400 cycles was not enough and would cause VF3 to hang. 1000 cycles should be more than plenty
Commit: 5a8cddd09accae56d78c1bd1c6dde83e00823c0d
Author: Ian Curtis
Date: Sat Jul 13 12:14:54 2024 +0100
- remove dead code
Commit: 79868e0ad3cc4aa49772ac33c688e699b3272eac
Author: Ian Curtis
Date: Mon Jul 8 12:19:06 2024 +0100
- fix compilation
Commit: 40bb7acbf7f7a20cf4960bbee1f2c342d29009d7
Author: dukeeeey
Date: Sat Jul 6 18:47:05 2024 +0100
- Merge pull request #160 from gm-matthew/textureNP
- Texture mipmaps must be at least 2x2
Commit: 2b186e688c2812f03c08f83e69571a1d97748393
Author: gm-matthew
Date: Sat Jul 6 00:04:52 2024 +0100
- Texture mipmaps must be at least 2x2 Fixes sky in Dirt Devils
Commit: ee5d6523c85f5fe8eb61768f10edfdc3b5f9858f
Author: dukeeeey
Date: Fri Jul 5 17:21:14 2024 +0100
- Merge pull request #159 from gm-matthew/textureNP
- Implementing texture NP values
Commit: 3cf8a1fa944ccce44cece51b372c49b7b48d3c3f
Author: gm-matthew
Date: Fri Jul 5 15:57:25 2024 +0100
- Implementing texture NP values For some reason Model 3 uses vertex coordinates rather than texel coordinates to calculate mipmap levels Revised microtexture implementation; results are very close to real hardware when running at native resolution with supersampling disabled
Commit: 19612e1b13844227003ad25a83e98854926b2cac
Author: Ian Curtis
Date: Thu Jun 13 13:43:42 2024 +0100
- fix merge error
Commit: 4d1484c0c9aec2b642c6ea71dfd7852a7c53e4a5
Author: Ian Curtis
Date: Thu Jun 13 13:40:30 2024 +0100
- merge conflicts
Commit: edb11dc2230f1fdfcb571eccb19be0732f13585d
Author: Ian Curtis
Date: Thu Jun 13 13:36:30 2024 +0100
- Performance improvements The old texture code was being bottle necked by thetexture reads. We mirrored the real3d texture memory directly, including the mipmaps in a single large texture. I *think* most h/w has some sort oftexture cache for a 2x2 or 4x4 block of pixels for a texture. What we were doing was reading the base texture, then reading the mipmap data from atotally separate part of the same texture which I can only assume flushed this cache. What I did was to create mipmap chains for the texture sheet,then copy the mipmap data there. Doing this basically doubles performance.
Commit: 42e236be0dabf6cbda248e131d84459d8c268e6d
Author: gm-matthew
Date: Sun Jun 9 22:04:53 2024 +0100
- Add comment briefly explaining optimization
Commit: f30a8ee2a8e0317d11d70c348bdd9c7cd15844c8
Author: gm-matthew
Date: Tue Jun 4 16:40:36 2024 +0100
- Minor shader optimization If the mipmap level is 0.0, we only need to run texBiLinear() for the highest quality texture mipmap Adds around 10-20% more performance in Daytona 2
Commit: a6466b353df34c0747471ba48187dffc704f3ba3
Author: Ian Curtis
Date: Sat Jun 1 19:20:35 2024 +0100
- spelling
Commit: 21e148599aed97bda062e0b5cf6b4373bc2c6c9d
Author: Ian Curtis
Date: Sat Jun 1 10:38:40 2024 +0100
- Fix some missing scroll fog background effects in ECA
Commit: 7d32bde074ae8198d2521a176cd084314138f9f8
Author: gm-matthew
Date: Wed May 22 22:31:02 2024 +0100
- When disabling sound IRQs via MIDI control port, clear current IRQ Prevents
- Dirt Devils hanging during boot
Commit: 976f0208dca51b19572fb86a403e7e8eacf2ff4f
Author: dukeeeey
Date: Mon May 20 19:31:25 2024 +0100
- Merge pull request #151 from gm-matthew/sound-irq
- Sound IRQs are acknowledged by writing to MIDI data port
Commit: 8a0bf29dd894b1cb19c0b8d4278859ada2802b1a
Author: gm-matthew
Date: Mon May 20 13:38:45 2024 +0100
- Sound IRQs are acknowledged by writing to MIDI data port
Commit: 7b02f58694ea2612bc54eb0dcdffb1c2fa637c4d
Author: dukeeeey
Date: Sat May 4 20:22:42 2024 +0100
- Merge pull request #149 from gm-matthew/scuddxo
Only access SCSI device at 0xC0xxxxxx if it has been configured to do so
Commit: 3e394d125768573c86984072d7b2a8374823b0cf
Author: gm-matthew
Date: Sat May 4 19:43:02 2024 +0100
- Only access SCSI device at 0xC0xxxxxx if it has been configured to do so
- Fixes some step 1.5 games not working in last update
Commit: 2245fca796f749e966b01e53bea5d089271e7335
Author: dukeeeey
Date: Thu May 2 23:29:47 2024 +0100
- Merge pull request #147 from gm-matthew/scuddxo
Adding newly dumped version of Scud Race
Commit: 39dc16d8bac9a868b7f590c44c508e3df11dabe5
Author: gm-matthew
Date: Thu May 2 23:25:53 2024 +0100
- Use integer value for game stepping
Commit: 944e4855d9f25ea62635f843c4480f8c7d46c354
Author: gm-matthew
Date: Thu May 2 15:43:37 2024 +0100
- Adding newly dumped version of Scud Race Allow Step 1.5 games to access 53C810 via 0xC00000xx if the netboard is disabled, because scuddxo requires this
Commit: 250f84e78eba381adf8cd731ce20b1b9be43c8c8 / 250f84e
Author: Bart Trzynadlowski
Date: Fri Apr 5 14:28:07 2024 -0700
- Updated .gitignore to exclude build directories and Supermodel release directories
Commit: dec85032ba4f0b37996da26157b6aa0edfc9196c
Author: dukeeeey
Date: Thu Mar 14 10:30:48 2024 +0000
- Merge pull request #138 from h0tw1r3/fix/2d-shaders
Commit: d9f48db5db2e9d460e841f1f98426fe6868010c5
Author: Bart Trzynadlowski
Date: Sat Mar 9 20:56:50 2024 -0800
- CLogger: destructor needs to be virtual
Commit: 1bb7de1dd91110b6b399c13dadb9109fc8f073fe
Author: baraclese
Date: Tue Mar 5 18:57:11 2024 +0100
- fix segfault in CMultiLogger
- vsprintf may change its va_list argument so repeatedly calling it with the same va_list arg is undefined behavior. Fix this by creating a copy of the va_list argument before each vsprintf call.
Commit: e59ecea32d8ca20caf55662e698665f5b9142808
Author: Bart Trzynadlowski
Date: Sun Jan 28 21:08:12 2024 -0800
- PowerPC frequency determined by board stepping, config option is now just an override
→ NOWSZY [ARCADE] Supermodel x64 0.3a 620a581 30/12/2023
Commit: 620a5812272f57fdf1833ecaeaffb921561fd88f / 620a581
Author: Jacob Oxford
Date: Sat Dec 30 21:16:52 2023 +0000
- No need to have changelog from 2011 in Readme.txt anymore.
Commit: 75260f9f2c298d9da0ffbfd00540ec7bce1e21d3
Author: Ian Curtis
Date: Fri Dec 29 13:28:10 2023 +0000
- Clamp LODscale. If the object is drawn at zero we produce an Inf value which will produce Nans with later calculations.
Commit: 0e07f29f80dc4d9fd2da502163c1ac383c16ad7a
Author: Ian Curtis
Date: Wed Dec 27 12:42:32 2023 +0000
- Amend ambient fog logic Should stop the sky flashing in lemans24, and the background totally disappearing in sega rally after a game. The logic here is still not totally understood but works well enough for the games.
Commit: c039d08c038fdea8d365920c842e97c09c3a45e7
Author: Ian Curtis
Date: Tue Dec 26 18:25:03 2023 +0000
- Add supersampling anti-aliasing Late christmas present. Due to the way alpha works on the model3 adding regular anti-aliasing doesn't really work. Supersampling is very much a brute force solution, render the scene at a higher resolution and mipmap it. It's enabled via command line with the -ss option, for example -ss=4 for 4x supersampling or by adding Supersampling = 4 in the config file.
Note non power of two values work as well, so 3 gives a very good balance between speed and quality. 8 will make your GPU bleed, since it is essentially rendering 64 pixels for every visible pixel on the screen.
Commit: 33b84c89aa5a6514512f69e763e6ff4cbdc4b4a0
Author: dukeeeey
Date: Fri Dec 22 17:06:35 2023 +0000
- Merge pull request #122 from gm-matthew/floatZ
- Floating point reversed z-buffer and new clipping code
Commit: 6acb1165d422cf8614f9ceee2036da17f0407c9d
Author: gm-matthew
Date: Fri Dec 22 16:31:05 2023 +0000
- Added new uniform bool polyAlpha to shaders Added original matrix functions back into Mat4 class though they are currently unused
Commit: 9f66fcaac74e673ea637bbb51e0bbd3b565c8564
Author: gm-matthew
Date: Fri Dec 22 02:00:47 2023 +0000
- Floating point reversed z-buffer and new clipping code Also always draw nodes with culling disabled even if they test as being outside the visible frustum
Commit: 6f409539a7b1592050e574b24d66af800820bcc1
Author: dukeeeey
Date: Mon Dec 4 13:08:11 2023 +0000
- Merge pull request #120 from gm-matthew/patch
- Fixed Scud Race Plus "ROLLING START" patch
Commit: 5b9e97008cfdad50b99350e8dabf054b01b5323b
Author: gm-matthew
Date: Mon Dec 4 02:33:00 2023 +0000
- Fixed Scud Race Plus "ROLLING START" patch Accidentally patched the wrong memory location in Scud Race Plus
Commit: a19ba3cba80a352f4103551b90633c9d05f60d22
Author: dukeeeey
Date: Sun Dec 3 18:22:30 2023 +0000
- Merge pull request #118 from firewave/uninit
- Model3.cpp: avoid usage of uninitialized memory
Commit: 11e9b14e732ff1f063525e492e7837b22558ba86
Author: dukeeeey
Date: Sun Dec 3 18:17:12 2023 +0000
- Merge pull request #117 from firewave/mismatch
- Inputs/MultiInputSource.cpp: fixed mismatching allocation and deallocation
Commit: 71e5baa61b1a4d8aed9b6258123cd4d353eb8173
Author: firewave
Date: Sat Dec 2 20:05:46 2023 +0100
- Model3.cpp: avoid usage of uninitialized memory
- ```
- ==213531== Thread 20 SoundBoardNoSyn:
- ==213531== Conditional jump or move depends on uninitialised value(s)
- ==213531==at 0x1A1D1E: CModel3::RunSoundBoardThread() (Model3.cpp:2607)
- ==213531==by 0x49BECEA: UnknownInlinedFun (SDL_thread.c:292)
- ==213531==by 0x49BECEA: RunThread.lto_priv.0 (SDL_systhread.c:76)
- ==213531==by 0x4F719EA: start_thread (pthread_create.c:444)
- ==213531==by 0x4FF5653: clone (clone.S:100)
```
Commit: 1cc94b7d7959c6edc6556027c16da1c6cea226dd
Author: firewave
Date: Sat Dec 2 20:14:12 2023 +0100
- Inputs/MultiInputSource.cpp: fixed mismatching allocation and deallocation
- Detected by Cppcheck:
- ``` Src/Inputs/MultiInputSource.cpp:87:3: error: Mismatching allocation and
- deallocation: CMultiInputSource::m_srcArray [mismatchAllocDealloc]
- delete m_srcArray;
- ^
```
Commit: 5332d8f9456261151858aa343c7cbe2aeec090ef
Author: firewave
Date: Sat Dec 2 19:08:13 2023 +0100
- fixed some `-Wunused-*` compiler warnings
Commit: 391e1b962293576fb4e1f9fcaf17afc640ad0d10 / 391e1b9
Author: dukeeeey
Date: Fri Dec 1 17:08:09 2023 +0000
- Merge pull request #113 from gm-matthew/handbrake
- Dirt Devils does not use the handbrake
Commit: da62fa86408e970278f06fd91796212769cd45b0
Author: gm-matthew
Date: Fri Dec 1 14:48:25 2023 +0000
- Dirt Devils does not use the handbrake
Commit: df0034ac1faed9c98290367a52066d82ea1540d8
Author: Ian Curtis
Date: Sat Nov 18 22:56:15 2023 +0000
- fix minor error
Commit: bd63400471bc886b68e69cbd739e40ec272dd8c3
Author: Ian Curtis
Date: Fri Nov 17 22:22:50 2023 +0000
- Optimise shader code (gm_matthew)
Commit: 44fb32f2a970fd7fd83445482e89df3a0012c87d
Author: Ian Curtis
Date: Fri Nov 17 18:03:40 2023 +0000
- fix compilation on linux
Commit: cdf5e4b2b26323fe68d828c0dbccf05b2661768f
Author: Ian Curtis
Date: Fri Nov 17 16:07:20 2023 +0000
- Fix transparency depth testing The two transparency layers, might not be separate layers at all. We believe the hardware is writing each layer to every other pixel (stipple alpha), then using an anti-aliasing filter to effectively blend the pixels. Because the pixels don't overlap they don't depth test against each other. We are using separate layers to emulate this, so the depth buffer must be saved and restored between the layers.
Commit: de61835f14d699b694912b215dfdaa8042d26972
Author: dukeeeey
Date: Fri Nov 17 15:53:14 2023 +0000
- Merge pull request #107 from gm-matthew/lod-blending
Implement LOD blending
Commit: 8778f98c4a828d87f5d8edf285476eb41da17129
Author: Ian Curtis
Date: Fri Nov 17 15:50:04 2023 +0000
- Add missing edge on transluency function
Commit: ac531012148caf3787133a79b9e0b7665afa64ea
Author: gm-matthew
Date: Thu Nov 16 23:03:21 2023 +0000
- Implement LOD blending If two translucent polygons with opposing patterns overlap the result is always opaque Also the LOD scale calculation depends on Euclidean distance of x, y and z, not just z
Commit: d7263560068809f1960f3610ded04de1144a270f
Author: Ian Curtis
Date: Mon Nov 13 23:19:18 2023 +0000
- Remove debug code
Commit: 33d65e097fcdf154767209d414db4c997198e754
Author: Ian Curtis
Date: Mon Nov 13 21:17:15 2023 +0000
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: efe3077f532d1c1d9e42244ae92f06d84aa45c27
Author: Ian Curtis
Date: Mon Nov 13 21:17:06 2023 +0000
- Fix some stencil issues The stencil mask must be set to all 1s otherwise we can't clear all the bits in the stencil buffer. Also we no longer need to save/restore the depth buffer into between priority layers.
Commit: 3022e418c7c74f9f56f06953f283f9ed2da5663a
Author: Bart Trzynadlowski
Date: Sat Nov 11 13:57:30 2023 -0800
- Added some TODO notes to Main.cpp
Commit: 47253d8398a0469a3658b9fd23ebd8e3610c474d
Author: Bart Trzynadlowski
Date: Sat Nov 11 13:55:02 2023 -0800
- Fixed graphics analysis -gfx-state option
Commit: a57b3794981c22e8a6b16ebd5987785ec361214a
Author: Bart Trzynadlowski
Date: Sat Nov 11 13:46:05 2023 -0800
- DSB.h: when generating a debug build in gcc w/ -g, k_framePeriod was causing a linker error. Not sure why k_timerPeriod wasn't but made them both constexpr.
Commit: ccca9afceb10dbb3442fe65fe7e981b8c160f5a0
Author: Bart Trzynadlowski
Date: Sat Nov 11 13:11:15 2023 -0800
- byte_layout attribute for region tag, intended to support Sega Racing Classic 2 ROM extracted from Yakuza
→ NOWSZY [ARCADE] Supermodel x64 0.3a c40d6ac 10/11/2023
Commit: c40d6ac17b2936726e79c874473b7c8029d8425c / c40d6ac
Author: Ian Curtis
Date: Fri Nov 10 19:13:37 2023 +0000
- Rewrite the stencil buffer usage slightly, so both the LOS and layered polys work. LOS uses the top bit of the stencil buffer. Fixes some minor issues with draw order in sega rally.
Commit: f9a0901e8cd8e644cbf360e0192e1fd24df6cbb9
Author: Ian Curtis
Date: Thu Nov 9 18:41:57 2023 +0000
- Fix regression Scroll attenuation seems to disable ambient fog. If scroll attenuation is enabled it's telling the h/w to draw the real3d spot light on fog for the scroll fog layer. This should fix a regression where the background disappears on sega rally.
Commit: a8976b51a2e3bdbe31dbdf2741115e42d00e9cda / a8976b5
Author: Ian Curtis
Date: Mon Nov 6 10:56:39 2023 +0000
- typo
Commit: a065df24b8525eee40e882e194b6294ff589ea1d
Author: Ian Curtis
Date: Sun Nov 5 23:44:27 2023 +0000
- Correct scroll fog attenuation logic (gm_matthew) The attenuation value effects the spot light on fog for the scroll fog layer. The old implemention was nearly correct but the paramaters for the mix function were swapped.
Commit: aecf61762e649c13298345c7973b625be379a652
Author: Ian Curtis
Date: Sun Nov 5 17:39:23 2023 +0000
- Various fixes
- Scroll fog needed a break statement otherwise it could draw potentially multiples times.
- The fog atttenuation paramater doesn't appear to effect scroll fog, other than to potentially enable it. This fixes some issues with emergency call ambulance.
- Added support for the node discard attributes which sega rally2 uses to throw away specific geometry. This fixes junk that starts to show up in thelevels after multiple runs.
Commit: 628eeebbc3eae08de86989329fed1f3cb7426a88
Author: dukeeeey
Date: Fri Nov 3 19:56:17 2023 +0000
- Merge pull request #101 from gm-matthew/lod-and-blending
- Add LOD switching and blending out culling nodes
Commit: 8dda8e9105a2cd08aafcbb7d9149c05db3a3f59e
Author: Ian Curtis
Date: Fri Nov 3 13:24:59 2023 +0000
- Fix the line of sight function. Polygons have a line of sight value that's either a 0 or 1. We write this value into the stencil buffer, then read the app can read it back to determine the polygon attribute is visible or not. The returned value is 1/depth value in world coordinates. The first bit of the float is actually a control bit, 1 indicates no geometry hit, 0 indicates geometry hit.
Commit: 483dbdda2e40cf5109136d9e3742dc920f9954b0
Author: gm-matthew
Date: Thu Nov 2 00:25:52 2023 +0000
- Add LOD switching and blending out culling nodes We're not blending between LODs yet as we're not sure of the best way to implement it Also implementing control bits for disable culling and enable model scale (needed for ECA and Harley)
Commit: 3a85bd9e257af2641191b387d56a027844e36a49
Author: Ian Curtis
Date: Wed Nov 1 16:03:11 2023 +0000
- remove debug code
Commit: d16ba90856e1111261818fef2b2677f1ec7cad05
Author: Ian Curtis
Date: Wed Nov 1 16:01:13 2023 +0000
- Update comments for the culling node function. gm_matthew worked out that the last 2 bits of the model scale float appear to be control bits for disable culling and valid model scale. Strange logic but the line of sight (LOS) function does something similar by re-using float bits for control words.
Commit: 37065ce4787cb45c74dcffdb630136b45e1904d8
Author: Ian Curtis
Date: Tue Oct 31 23:50:33 2023 +0000
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: 8fea5bd3bf615b00953f74f8e7ad174605492814
Author: Ian Curtis
Date: Tue Oct 31 23:50:19 2023 +0000
- gm_mathew - the line scroll values, the top 16bits are the even lines, the bottom 16bits are the odd lines. We had it swapped. This fixes the number below the word results in daytona, when you finish a game.
Commit: d42317db833fb5ba7415dbd2f410818af1c28d64
Author: Bart Trzynadlowski
Date: Mon Oct 30 14:47:25 2023 -0700
- Update README.md to define GIF widths (for Safari)
Commit: acab27452693ee9f7c55dfa297602ce42f8f6ec5
Author: Ian Curtis
Date: Mon Oct 30 14:04:48 2023 +0000
- Set language standard to c++ 17
Commit: f89da17f1778947fa2b3c4e543f3da3429578440
Author: Ian Curtis
Date: Fri Oct 27 10:45:16 2023 +0100
- Fix white gfx on linux / intel gpus. These optimisations originally came from toxieainc
Commit: c5f9a3ad2607dd26700ac9970425ca3b9e26776b / c5f9a3a
Author: Ian Curtis
Date: Tue Oct 24 10:17:15 2023 +0100
Amend the ambient fog logic to be disabled if fog density/start is set to zero. This fixes a regression where the sky stops drawing in lost world.
Rewrite the scroll fog shader slightly. Scroll fog is a 2d layer, it has no depth, or can be considered to be drawn at infinity, therefore is not effected by the viewport light. The scroll attenatuion value also I think attenatutes the scroll fog alpha value. This fixes various effects in emergency call ambulance.
Commit: a214c6dae8e2ac016a63a2a656feec438cd72eeb
Author: Ian Curtis
Date: Sun Oct 22 21:07:35 2023 +0100
Prior scroll fog logic was nearly correct. For scroll fogging to draw it needs either a start value or a fog density value, but these can come from a different viewport if they have the same colour fog set. This fixes the credits in vf3 which sets scroll fog, but it never draws on the original hardware.
For a long time we've had bug reports that in vf3 the background in the Dural levels was the wrong colour, it should have been much darker. We thought it was again missing scroll fog, but gm_mathew worked out it was actually coming from the fogAmbient paramater. Not only does it darken the fog, but it also has an effect on the 2d background from the tilegen, similar to scroll fog. This also fixes the sky in lemans24.
Commit: 2af078727948454a767995b340b6ecdba683d521
Author: Ian Curtis
Date: Tue Oct 17 17:33:26 2023 +0100
Remove debug code
Commit: 79ddc8c739b3966f8db3569de5ef7ae98d0e39ed
Author: Ian Curtis
Date: Tue Oct 17 17:30:14 2023 +0100
Rewrite the logic for the scoll fog (render buffer clear colour). Each viewport can potentially have a scroll fog value so the logic of which value to pick wasn't immediately clear. TLDR I think it picks the highest value starting from the lowest priority layers. This fixes the sky in daytona battle on the edge.
Commit: 86d477263f0eacc88f42142d33a6e3eedf00dfa8
Author: Ian Curtis
Date: Sun Oct 15 17:16:52 2023 +0100
Scroll fog is like a clear colour for the render target, but can be semi transparent as the tilegen layer can be shown underneath. I assumed that transprent polys would be drawn to the render target for transparent polys but unfortunately the logic does not work. So where else could it be drawn? Well with limited memory it must be draw to the buffer for opaque polys, which means this render target is also blended.
Commit: 392900fee20fbd4277ff592abca1736b3b657048
Author: gm-matthew
Date: Sun Oct 15 00:54:59 2023 +0100
Implement correct "round to nearest" mode On PowerPC round to nearest ties to even, not away from zero Also implement correct behavior for ppc_fresx Fixes "tips to win" sequence in Daytona 2 BOTE
Commit: d32641030df03fba15fb0077d0bd270f1c71c10b
Author: Ian Curtis
Date: Sat Oct 14 20:05:07 2023 +0100
Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: 6595b9320e7332914cb0b5c1229f32c7d1840636
Author: Ian Curtis
Date: Sat Oct 14 20:05:00 2023 +0100
Rewrite the renderer a bit to spit out the finished graphics from the 3d chip on separate buffers. One buffer is for opaque pixels, and 2 more for translucent pixels. Before the frame was composited on the back buffer, which meant the tilegen had to have been drawn first. This way the images are now totally independant of the tilegen chip so can be drawn as soon as the register write 0xC is written to the tilegen.
Some games update the tilegen after the ping_ping bit has flipped at 66% of the frame, so we need to split the tilegen drawing up into two stages to get some effects to work. So having the tilegen draw independantly of the 3d chip can make this happen.
Commit: 0e494a0219b5cfe9fff05201f576036d019ed106
Author: Bart Trzynadlowski
Date: Tue Oct 3 18:02:19 2023 -0700
- Updated build script to use SFTP (Supermodel3.com server upgrade no longer supports ftp)
Commit: d6566430872c89bdbdc30a03aec5a864ed8d6139
Author: Ian Curtis
Date: Wed Sep 27 16:33:53 2023 +0100
gm_mathew worked out that the camera flashes in sega rally 2 have the 'reset-matrix' attribute set inside the culling nodes, which was unsupported until now because we never found any games to have used this bit. The reset matrix is a bit strange, I would assume it would just reset the matrix back to identity, instead it seems to just reset the rotation back to identity whilst preserving the scale/position.
Commit: e6b54686804cc349972d43e5960edae4c46b61ae
Author: Bart Trzynadlowski
Date: Mon Sep 25 14:46:28 2023 +0200
Update README.md: copyright dates.
Commit: 7867c0145e53919999de3afac7ddcf3dd0959947
Author: Bart Trzynadlowski
Date: Mon Sep 25 14:45:57 2023 +0200
Model3.cpp: Comment describing scan line timing.
Commit: 801945d06635839c218502ce45e156bd311af893
Author: Matthew Daniels
Date: Sun Sep 3 19:29:58 2023 +0100
Whitespace
Commit: 24d24db988fdf92a8e3368c24384cf84219add9c
Author: gm-matthew
Date: Sun Sep 3 16:51:18 2023 +0100
Ping-pong flip timing depends of the value of tilegen register 0x08 Also make the debugger display 16 bytes per line when using the "listmemory" command. Mirrored system registers can now be watched
→ NOWSZY [ARCADE] Supermodel x64 0.3a a00e8de 23/09/2023
Commit: a00e8de98897ced8fedf700bdca714d578694ff5 / a00e8de
Author: Ian Curtis
Date: Sat Sep 23 17:28:18 2023 +0100
- Update rules file. Not tested this but hopefully it should work
Commit: 6b0d5c453aa3621d6b442373276788ea9adb7c8a
Author: Ian Curtis
Date: Sat Sep 23 15:27:12 2023 +0100
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: c6ea81d996cac351c98226c1881501554794f66a
Author: Ian Curtis
Date: Sat Sep 23 15:27:04 2023 +0100
- Emulate the entire tilegen chip in a GLSL shader. (This is now possible with opengl 3+). The tilegen drawing was emulated on the CPU, but was one of the most expensive functions in the emulator according to a profiler. On a modern GPU it's pretty much free, because a GPU is a massive SIMD monster.
Tilegen shaders are mapped to uniforms, and the vram and palette are mapped to two textures.
TODO rip out the redundant code in the tilegen class. We don't need to pre-calculate palettes anymore. etc
The tilegen code supports has a start/end line so we can emulate as many lines as we want in a chunk, which will come in later as some games update the tilegen immediately after the ping_pong bit has flipped ~ 66% of the frame.
The scud rolling start tilegen bug is probably actually a bug in the original h/w implementation, that ends up looking correct on original h/w but not for us. Need hardware testing to confirm what it's actually doing.
Commit: 38a95088e8278e8a2b6c50d7f8a7e187819de449
Author: gm-matthew
Date: Mon Aug 28 03:12:43 2023 +0100
- Prevent "ROLLING START" scrolling glitch in Scud Race There is a quirk of the tilegen chip that causes this glitch not to occur on real hardware, but we can't be sure what it is without testing Much easier to just patch all the Scud Race ROM sets
Commit: c9b718e89a4b0142e2b12cf29ffd07d231fd5d99
Author: gm-matthew
Date: Fri Sep 1 13:52:13 2023 +0100
- Fix Z80Debug.cpp compile with C++20 String literals should not be used to initialize char* but C++17 and earlier were letting it slide
Commit: ebff9a8b2d1c6ac60c88afa07ce574cf51abdef0
Author: Bart Trzynadlowski
Date: Sat Sep 2 20:32:11 2023 -0700
- SCSP: added more detail to comment explaining 68K clock speed as recommended by Brian Troha
Commit: b2fee4242cd061a55e8f3bb2f6dfafbf9f87403f / b2fee42
Author: gm-matthew
Date: Sat Aug 19 23:47:00 2023 +0100
- DMA device register always returns Step 1.x PCI ID Step 2.x games by AM3 request PCI ID this way and expect to see 0x16c311db
Commit: 7924fed36930cc2fa7ae9882a2e739ae68ba2b25
Author: gm-matthew
Date: Wed Jul 5 02:45:35 2023 +0100
- Set soundboard CPU to correct clock speed The 68K on the soundboard is rated at 12 MHz but runs at 11.2896 MHz, which is 256 cycles/sample with a 44100 Hz sample rate. Removed SoundClock and Freq as they are not needed
Commit: 015e8e921254210b66f1e83ed22f6a4c08759a19
Author: gm-matthew
Date: Mon Jun 26 10:56:04 2023 +0100
- Drive board uses the value 0xFF (not 0x00) on ports 42 and 45 to stop all effects when port 46 is set to 0xFF; fixes FFB effects continuing after game ends
Commit: 84aa972ef20a8edda0ebc46d1f12d0d7577dc04b
Author: Matthew Daniels
Date: Tue May 16 02:49:35 2023 +0100
Add description of swtrilgy patch from MAME
- Star Wars Trilogy will sometimes write to a JTAG register and then read it back to verify it, but this doesn't work correctly with Supermodel's current JTAG implementation; it will try again and never succeed, getting stuck in an infinite loop. This patch stops the code from branching up and trying the write/read cycle again, allowing the subroutine to continue normally.
We need to implement shift register widths correctly for each JTAG device (Mercury, Venus, Earth, etc.) for the unpatched code to work properly... right now Supermodel implements one JTAG device with a huge 197-bit data shift register
Commit: ac0e6407b414d05e55efa4cafe1644c899d62d66
Author: Bart Trzynadlowski
Date: Sun May 7 21:51:22 2023 -0700
- Games.xml: Removed seemingly unnecessary swtrilgy and swtrilgya patches, which should re-enable JTAG configuration and fix Endor Death Star tunnel shading
Commit: 583d237b2b24c8bcc31630a4abd47e89a4f47a60
Author: ToBul
Date: Sat May 6 19:36:42 2023 +0100
- Fix GCC 13 build
MSYS and probably a few Linux distros are now shipping GCC 13. The new standards and issues are listed here,
https://gcc.gnu.org/gcc-13/porting_to.html
Commit: 18f3c23a9fed640dc28ba764c921cf2ecc790494
Author: CapitaineSheridan
Date: Fri Mar 31 10:36:50 2023 +0200
- Work around to prevent I/O error after a while on fishing games with tension
Commit: 813edb821879eea11546f808d7a05636030bad00
Author: CapitaineSheridan
Date: Wed Apr 5 15:03:32 2023 +0200
- Crosshair optimization:
- create crosshairs only once in Init() instead of created them at every cycle
- use matrix scale to apply the aspect ratio
Commit: 6993dfcfb0ebe369f246ff50e3669d4557a527da
Author: Bart Trzynadlowski
Date: Tue Mar 28 15:38:43 2023 -0700
- Makefile.Win32: fixed detection of Windows Command Prompt for rmdir command
→ NOWSZY [ARCADE] Supermodel x64 0.3a 87de86f 18/03/2022
Commit: 87de86f7d19aba5cb16c675a3b0ee8142da72bd
Author: Bart Trzynadlowski
Date: Fri Mar 17 23:00:44 2023 -0700
- Crosshair: use actual adjusted viewport resolution (configuration resolution is not the same thing). Fixes crosshair alignment for resolutions with non-Model 3 aspect.
Commit: 95fc08e0a3f031dd3f6f325666c7d1668c2c3d05
Author: Bart Trzynadlowski
Date: Wed Mar 15 18:24:01 2023 -0700
- Windows app manifest added to enable PerMonitorV2 DPI awareness
Commit: f497de50d13d0e8b33fe3a15884789fdbdf1180c
Author: ToBul
Date: Wed Mar 15 21:38:14 2023 +0000
- Update README.txt
Fix old typos, leaving alone the American English. Remove the "Virtua Striker 2 '99" unlock code. I don't think it works, others have also tried,WWW
Commit: 5fdb50a8695c4d5b251920a6e4bf89c7e385d303
Author: Bart Trzynadlowski
Date: Tue Mar 14 17:56:17 2023 -0700
- README.txt: Updated Section 5 (video settings), squeezed everything back into 80 columns, changed 'Virtua Fighter 2 '98' to 'Virtua Striker 2 '98' in Section 10
Commit: b5ca3659288b9931fe929b5c63398592f3b204e2
Author: Bart Trzynadlowski
Date: Tue Mar 14 11:18:20 2023 -0700
- NetBoard: guard against freeing null pointers and INetBoard needed a virtual destructor (was causing crashes on exit on some systems)
Commit: 3848d276da6126117472a6895a6145b0c2469d48
Author: CapitaineSheridan
Date: Tue Mar 14 08:43:24 2023 +0100
- Autobuild script update following crosshair update
Commit: abc2900770ea96b3e09e4d9a82e561149d0fa54b
Author: CapitaineSheridan
Date: Mon Mar 13 08:55:58 2023 +0100
- m_crosshair is not needed and the config should be checked every frame because otherwise Alt-I command was broken (the number of crosshairs to render is mapped to a UI key) [Bart]
Commit: a319bbee0cb01cef78c6421b94e4720c44aeefde
Author: CapitaineSheridan
Date: Sun Mar 12 11:22:27 2023 +0100
- Better optimisations. Moved all UI rendering from Main to CCrosshair. Take care of syntax about crosshair style.
Commit: b19fdb6a77ff842b55feec8e27cc161a397016a2
Author: CapitaineSheridan
Date: Sun Mar 12 11:15:27 2023 +0100
- Change Media folder to Assets folder. Naming variable convention. Command line change -crosshair-style = vector|bmp. Config ini variable change CrosshairStyle = vector|bmp. CCrosshair::DrawCrosshair optimisation. Modifying UpdateCrosshairs() to eliminate global variable.
→ NOWSZY [ARCADE] Supermodel x64 0.3a 07/03/2022
Commit: f7dcc1c445286cd2a1446588bb3a8115047fba40 / f7dcc1c
Author: Bart Trzynadlowski
Date: Mon Mar 6 21:47:03 2023 -0800
- Games.xml and README.txt updated by Brian Troha (new Ocean Hunter ROM sets and several updates to version descriptions, etc.)
Commit: ffc320904e8806143bb9b9044a6cbe95f0efa11a
Author: The Brink of Tomorrow
Date: Sat Feb 25 10:39:00 2023 -0500
- Update README.md with macOS build details
→ NOWSZY [ARCADE] Supermodel x64 0.3a 28/12/2022
Commit: 78f505622317606eebff2ae4e49deab6ce07cf1d
Author: Aaron Paden Date: Wed Dec 28 21:56:34 2022 -0600 / 78f5056
- Add missing filename to ErrorLog call.
Commit: 7e025e64a2496fce3c18f9691d1badcf257f68a3
Author: CapitaineSheridan Date: Fri Dec 23 11:29:30 2022 +0100
- Memory allocated but not released.
Commit: 69a458ecf79b7b91de821de0435d7ac0cd8a7ae1
Author: Ian Curtis Date: Sun Dec 25 00:32:01 2022 +0000
- Make sure to invalidate texture memory when going fullscreen otherwise it might not be syned correctly.
Commit: 6dcf14469445688621020df72cc59d39b5458429
Author: Ian Curtis Date: Sat Dec 24 17:29:08 2022 +0000 / 6dcf144
- We must explicitly call SDL_SetWindowFullscreen after setting the display mode otherwise the refresh rate doesn't change.
Commit: ad0aed42a48436f47aa21bd2704871afb115a21e
Author: Ian Curtis Date: Mon Dec 19 14:11:21 2022 +0000 /ad0aed4
- be a bit more flexible with the display frequencies we'll match
Commit: 25604512f4bf7cdf370115a32548de0ae251d6ed
Author: Ian Curtis Date: Mon Dec 19 00:13:08 2022 +0000
- The model 3 (actually model 1,2 and 3) all used some crazy refresh rate of 57.524hz. If your screen refresh rate is 60hz, supermodel will work fine, but really run too fast. Anyway if you create a custom refresh rate, supermodel will automatically pick this, and set it when the emulator is in fullscreen mode. Apparently this works with most monitors, even cheapo low end ones.
- To active set your command line to: -res=1920,1080 -vsync -fullscreen -true-hz
- Replace the resolution with whatever your monitor's native resolution is.
Commit: 984f78ad1bed616b59b0c15ece2486f78c9dc149
Author: Ian Curtis Date: Sat Dec 17 23:46:11 2022 +0000 /984f78a
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: 57ead6037d8d97bbc1db05e2ae0eefb16861e08f
Author: Ian Curtis Date: Sat Dec 17 23:46:02 2022 +0000
- Better opengl resource allocation. Fixes going fullscreen and back.
Commit: 50d947deeec0545c23f5c3be6ada99baddbe0aad
Author: gm-matthew Date: Wed Dec 14 00:39:13 2022 +0000
- Add FileSystemPath.cpp to Visual Studio project
Commit: d83e4754fecd4f5ad4b4f997d6cdf5dd2ba10490
Author: Fernando Casas Schössow Date: Tue Dec 6 13:25:20 2022 +0100
- Fixed build on macOS
Commit: 07429b9187e69332b2b277483aa4baa517b8aae6
Author: Fernando Casas Schössow Date: Sun Dec 4 19:42:19 2022 +0100
- Switched to Util::Format() to generate screenshot filename
Commit: 317f8bacde218f529f3107643af5cb3986ba4729
Author: Fernando Casas Schössow Date: Mon Nov 21 22:27:15 2022 +0100
- First review code changes (identation and cosmetic changes)
Commit: d11efb85535ef3244b7d4fde8d0fe49af25c4210
Author: Fernando Casas Schössow Date: Tue Nov 15 17:40:01 2022 +0100
- Changed pathType from string var to enum
Commit: df7787f0401cf6b0d12b636caccaf8f4d72c9337
Author: Fernando Casas Schössow Date: Mon Nov 14 20:06:09 2022 +0100
- Keep Supermodel files (config, nvram, saves, etc.) in a predictable path when running on Linux
→ NOWSZY [ARCADE] Supermodel x64 0.3a 29/11/2022
Commit: db455ba5c1c5a47a9f0a7de46680377f13f663e5 // SuperModel db455ba
Author: toxieainc Date: Tue Nov 8 08:11:14 2022 +0100
- add undefd codepath for correct use of the 18bit DAC path (which seems to be triggered for all games) the volume correction to bring the data back into a valid range is not really needed in practice though, only Daytona2 seems to need it, and also only extremely rarely, so lets just live with a tiny bit of clamping for that game then while add it, make some formatting similar to MAME, and add one comment regarding a most likely wrong recent MAME change
Commit: 153c5100090f982b9dad76b71ed8d52207f41b8e // SuperModel 153c510
Author: Ian Curtis Date: Sat Nov 26 12:58:07 2022 +0000
- Fix uniform location.
Commit: 7513cc769a9fb386c8b5d61ef5e0056869550acd
Author: Matthew Daniels Date: Fri Nov 25 23:02:37 2022 +0000
- Update Model3.cpp
- whitespace
Commit: 6a392f2cc9f0b11f049be097f633549f540c6fa3
Author: gm-matthew Date: Fri Nov 25 22:44:22 2022 +0000
- Add comment
Commit: 916d3d3af138cb1287e9d121399a58a41d2fae75
Author: gm-matthew Date: Tue Nov 22 02:02:10 2022 +0000
- whitespace
Commit: 2063303a4d981c7d8f15cd38e59fce3214a3421b
Author: gm-matthew Date: Tue Nov 22 01:43:38 2022 +0000
- Wait until IRQ2 is acknowledged before starting IRQ40 sequence. Fixes Ski Champ hanging at FBI screen when region set to USA
Author: gm-matthew Date: Sun Nov 20 01:27:50 2022 +0000 // SuperModel 79a2414
- Incomplete texture headers uploaded via FIFO are now discarded. Ski Champ sends one more 32-bit word via DMA than it should which was causing Supermodel to erroneously intepret the extra word as another texture
Commit: acc7161ca5545a592d5b4145b2b5bacfc7b08f73
Author: ToBul Date: Sun Nov 13 03:16:45 2022 +0000
[Makefile.Win32] $MSYSTEM check never fails. 'make clean' from Win command shell doesn't fully clean, condition always true.
Author: Ian Curtis Date: Wed Nov 9 18:56:15 2022 +0000 // SuperModel 5f30614c4
- FIx shaders failing to build on apple h/w
Commit: fe36b07702187057dcf2b899b84bc8f54fb3cfdf
Author: Ian Curtis
Date: Tue Nov 8 10:35:05 2022 +0000
- Update makefile
Commit: e47258c61d0d5ce47330c311c8ebd03a9026a9f6
Author: Ian Curtis
Date: Mon Nov 7 23:52:44 2022 +0000
- Remove some left over depreciated opengl functions. They were basically no-op anyway with shader path.
Commit: 9348fd852d33999db53a0d79f9f2075ef6c33174
Author: Ian Curtis
Date: Mon Nov 7 21:33:08 2022 +0000
- Merge branch 'master' of https://github.com/trzy/Supermodel
Commit: 40c8259130dd4edda1b2a3fb2c866d40821249d0
Author: Ian Curtis
Date: Mon Nov 7 21:33:01 2022 +0000
- Rewrite the whole project for GL4+. I figured if we removed the limitation of a legacy rendering API we could improve things a bit. With GL4+ we can do unsigned integer math in the shaders. This allows us to upload a direct copy of the real3d texture sheet, and texture directly from this memory given the x/y pos and type. This massively simplifies the binding and invalidation code. Also the crazy corner cases will work because it essentially works the same way as the original hardware.
- The standard triangle render requires gl 4.1 core, so should work on mac. The quad renderer runs on 4.5 core. The legacy renderer should still work, and when enabled a regular opengl context will be created, which allows functions marked depreciated in the core profiles to still work. This will only work in windows/linux I think. Apple doesn't support this.
- A GL 4.1 GPU is now the min required spec. Sorry if you have an OLDER gpu.
- GL 4.1 is over 12 years old now.
- This is a big update so I apologise in advance if I accidently broke something :]
Commit: 4c727abdc84e5c9eb56b3a178c2dd473d7581725
Author: toxieainc
Date: Thu Nov 3 11:49:35 2022 +0100
- change all INT16 mixing/intermediate clamping to floats
- also fixes 3 bugs: 1) mpeg right channel volume was always using the left channel volume, too 2) too high MusicVolume setting was not clamped to 0..200 3) too high SoundVolume setting was not clamped to 0..200
Commit: 121f81c7429b18d5085ce2d3b2a7b9e045c39c72
Author: Bart Trzynadlowski
Date: Wed Nov 2 15:38:52 2022 -0700
- 68K now uses run-time hooks for IRQ and instruction hook callbacks
Commit: 33c04ce3458515508f661e92745f6ee031c44dd0
Author: Bart Trzynadlowski
Date: Sat Oct 29 11:44:34 2022 -0700
- Games.xml: Added re-dumped magtruck and retained old ROM set with patch (mgtrkbad) for users who fail to obtain newest MAME ROMs
Commit: b2e5a200daf9588616715f2279c5d3bd37832e09
Author: Ian Curtis
Date: Mon Oct 17 09:34:11 2022 +0100
- Fix build for linux (just missing header)
Commit: f0872cc99821695a54c570e3a0ef890cdbb9400a
Author: Ian Curtis
Date: Sun Oct 16 21:03:41 2022 +0100
- Upgrade the glsl shader class a bit. Add a const char* comparitor so we can use a map with a simple "string" key. Fine to use when performance is not critical.
Commit: 6fbf9383357ce4e76ce5a5336389cf6e3b586fb6
Author: Ian Curtis
Date: Sun Oct 16 20:45:40 2022 +0100
- Add a proper git ignore file .. And fix the legacy renderer to build with new visual studio (2019)
Commit: e644751f016d38cf7ed3a1dfedf2cf018661787d
Author: toxieainc
Date: Fri Oct 7 09:01:45 2022 +0200
- after clarifications, minor cleanup
- remove 2 dupe function calls, where ProcessLos should actually be rather costly
- Fix new 3D engine texture2DLod function missing error on Linux/MESA. MESA requires needed extensions to be explicitly declared in code otherwise it will not enable them.
Commit: aae58edd62711f2a84470e40c7cc2e1bec8aa406
Author: toxieainc
Date: Mon Oct 3 04:47:39 2022 +0200
- change one more place with potential aliasing issue
- address review
- address review and move bit casts to new header
Commit: dda6d4cf955fdcfa1434a1b0dc9a8560a9e71939
Author: Bart Trzynadlowski
Date: Tue Aug 20 18:33:33 2022 -0700
- Added some options to default Supermodel.ini that otherwise are not documented anywhere because README.txt is out of date
- Optimize quad rendering by replacing the double
- fix missing version GLSL compiler warnings on startup
Commit: e06788e76891ed29bc60fd6d7c3ef086bd25fbf3
Author: ToBul
Date: Sun Aug 14 11:10:13 2022 +0100
- Fix SUPERMODEL_DEBUGGER build. - Ian
- As requested by Bart; Ian's last SourceForge commit. Also, purely to appease my OCD, a change I forgot on my last 'Games.xml' PR that really shouldn't bother me as much as it does.
Commit: d4633a868d7362e4775c4f42e22e6aecd34e6e84
Author: toxieainc
Date: Mon Aug 8 09:18:59 2022 +0200
- equivalent optimizations, NFC
Commit: d60feab2ca7739b59de602e55729bf7ef958ab58
Author: trzy
Date: Mon Jul 18 13:00:27 2022 -0700
- Fix some errors, fix some performance warnings, and some simple (but effective) optimizations
- check for __GNUC__ instead of just assuming it
- 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).
- slightly optimize DrawTileLine (less branches/logic)
- 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)
- use intrinsics for endian swap
- fix a real error (m68kdasm) and some harmless performance warnings and use modern headers
- fix some real errors (Model3,InputSystem), minor errors (SCSP,SDL/Main) an some performance warnings
r888 Revision: 888 Author: dukeeeey Date: środa, 29 czerwca 2022 16:05:29
- Fix build with SUPERMODEL_DEBUGGER enabled. Probably last commit as source has moved to git.
→ NOWSZY [ARCADE] Supermodel x64 0.3a SVN887
Revision 887
Author: dukeeeey | Date: niedziela, 19 czerwca 2022 18:15:54
- njz3: Fix sound volume with new quadrophonic audio code
Revision 886
Author: dukeeeey | Date: wtorek, 14 czerwca 2022 23:24:43
- values must be signed, to handle negative numbers, my bad
Revision 885
Author: dukeeeey | Date: wtorek, 14 czerwca 2022 20:14:06
- minor fix
Revision 884
Author: trzy | Date: niedziela, 12 czerwca 2022 19:51:57
- 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.
Revision 883
Author: dukeeeey | Date: czwartek, 9 czerwca 2022 23:10:39
- njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo.
Revision 882
Author: trzy | Date: piątek, 1 kwietnia 2022 01:09:32
- Added default values for PortIn, PortOut, and AddressOut
Revision 881
Author: dukeeeey | Date: niedziela, 6 lutego 2022 18:32:44
- fix: explicit specialization requires 'template <>'
Revision 880
Author: trzy | Date: sobota, 5 lutego 2022 07:44:53
- 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)
Revision 879
Author: trzy | Date: sobota, 5 lutego 2022 01:52:34
- 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.
Revision 878
Author: trzy | Date: środa, 2 lutego 2022 00:15:06
- Added a -dump-textures option (config key DumpTextures) that writes texture BMP files, one for each known format (12 in all currently)
→ NOWSZY [ARCADE] Supermodel 0.3a SVN877
Revision 877
Author: gm-matthew | Date: niedziela, 23 stycznia 2022 16:32:53
- 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
Revision 876
Author: dukeeeey | Date: niedziela, 2 stycznia 2022 13:48:09
- Double buffer the line of sight values. Should allow the correct values to be returned if GPU threading is enabled.
Revision 875
Author: gm-matthew | Date: środa, 29 grudnia 2021 14:18:20
- Fixing Magical Truck Adventure bad ROM dump which was causing attract mode to stop rendering
Revision 874
Author: dukeeeey | Date: niedziela, 19 grudnia 2021 18:48:38
- methods should be marked as noexcept because they cannot throw
Revision 873
Author: dukeeeey | Date: sobota, 18 grudnia 2021 00:58:20
- white space.
Revision 872
Author: dukeeeey | Date: sobota, 18 grudnia 2021 00:57:12
- Better document real3d registers
Revision 871
Author: gm-matthew | Date: sobota, 18 grudnia 2021 00:36:54
- Clear all Real3D DMA registers on reset; uninitialized values were causing issues with MSVC debug builds
Revision 870
Author: gm-matthew | Date: środa, 15 grudnia 2021 15:47:41
- Another header include fix
Revision 869
Author: gm-matthew | Date: środa, 15 grudnia 2021 14:55:27
- Include required header files in Model3GraphicsState.h - fixes potential build errors in GCC
Revision 868
Author: gm-matthew | Date: środa, 1 grudnia 2021 00:01:37
- Increase MIDI FIFO buffer size for SCSP; should prevent FIFO overflows
- Also use similar macro for DSB FIFO buffer
r867
- 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
- vReal3D 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.
r866
- Getting rid of most of the includes from Supermodel.h each file now explicitly includes the header files it needs.
r865
- Shared RAM on simulated netboard is now double-buffered
- Spikeout Final Edition no longer requires a hack to work
Revision 864
Author: gm-matthew | Date: niedziela, 31 października 2021 01:00:49
- New JTAG patch for Sega Rally 2; linked mode now fully working.
- Few other minor changes
Revision 863
Author: gm-matthew | Date: środa, 27 października 2021 00:47:24
- Increase size of DSB2 FIFO buffer; fixes Sega Rally 2 music occasionally not switching or fading out
Revision 862
Author: gm-matthew | Date: poniedziałek, 10 maja 2021 01:22:18
- Non-linked games no longer falsely list the net board under extra hardware
Revision 861
Author: gm-matthew | Date: niedziela, 9 maja 2021 20:12:40
- Fix 16-bit variables not displaying correctly in Z80 debugger (at least in MSVC builds)
Revision 860
Author: gm-matthew | Date: wtorek, 20 kwietnia 2021 00:15:50
- Fix netboard resets and detection of simulated netboard linking to itself
Revision 859
Author: gm-matthew | Date: środa, 14 kwietnia 2021 03:20:45
- Adding simulated netboard; all linked games except Sega Rally 2 working at full speed.
Revision 858
Author: gm-matthew | Date: poniedziałek, 22 marca 2021 02:08:45
- Corrected alignment issues with netboard RAM; send/receive parameters no longer need to be manipulated to work correctly. Fixes bugs including Scud Race linked car orientation.
Revision 857
Author: dukeeeey | Date: poniedziałek, 15 marca 2021 16:55:39
- Add some async network methods. Async send copies to an internal buffer and sends in another thread so doesn't block at all. Added CheckDataAvailable method to the TCPReceive class. Can check or wait for data without blocking.
Revision 856
Author: sheridan | Date: sobota, 13 marca 2021 09:17:11
- DSB2 clock speed from 4MHz to 11MHz.