[ARCADE] Supermodel 0.3a-WIP SVN352

[0] @ !!! Wtorek, 19 Kwietnia 2016 00:59 CET [18-04-2016 23:02 CET]

[ARCADE] Supermodel 0.3a-WIP SVN352

Nowe zmiany w SuperEmulatorze Barta Trznadlowskiego... cóż, to miłe, że coś tam się jeszcze pichci, przy najmniej przy jednym tytule.

Sega Model III SuperModel Bart Trznadlowski Magical Truck Adventure
Magical Truck Adventure (1998, Sega) w Supermodel SVN451

Revision 352

Author: dukeeeey | Date: 18 kwietnia 2016 16:06:10

  • simplify

Revision 351

Author: dukeeeey | Date: 17 kwietnia 2016 02:02:16

  • avoid cast warning

Revision 350

Author: dukeeeey | Date: 17 kwietnia 2016 02:00:51

  • simplify list code

Revision 349

Author: trzy | Date: 16 kwietnia 2016 01:54:58

  • Updated Mac OS X Makefile

Revision 348

Author: trzy | Date: 15 kwietnia 2016 06:26:42

  • Fixed 8-bit texture decoding in legacy 3D engine. Contour mode/alpha still needs to be made consistent (as much as possible) with new engine.

Revision 347

Author: trzy | Date: 14 kwietnia 2016 03:15:13

  • Updated Supermodel.ini with default Magical Truck Adventure controls
NOWSZY [ARCADE] Supermodel x64 0.3a 40bb7ac 6/07/2024

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

Virtua Fighter 3 rev. C (1996, SEGA)
  • 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
  1. 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


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,

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
Ski Champ (Sega, 1998)


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

Virtua Fighter 3 (Revision C) (1996, Sega)
  • 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

Magical Truck Adventure (Sega, 1998)

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


  • 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.


  • Getting rid of most of the includes from Supermodel.h each file now explicitly includes the header files it needs.


  • 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.


wstecz19/04/2016 00:59
Dodatkowe informacje
... bez komentarza
Ostatnio dodane pliki
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

© Try2emu 1999 - 2024 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU