Commit Graph

  • 9070693039 texture2DLod() is obsolete, so fix that master M.C. 2021-08-24 22:12:37 +0200
  • 6f21072ed0 Non-linked games no longer falsely list the net board under extra hardware gm-matthew 2021-05-09 23:22:18 +0000
  • fca27e1738 Fix 16-bit variables not displaying correctly in Z80 debugger (at least in MSVC builds) gm-matthew 2021-05-09 18:12:40 +0000
  • cb7f8fc4f6 Fix netboard resets and detection of simulated netboard linking to itself gm-matthew 2021-04-19 22:15:50 +0000
  • 671cd555e7 Adding simulated netboard; all linked games except Sega Rally 2 working at full speed. gm-matthew 2021-04-14 01:20:45 +0000
  • 1d870f934d 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. gm-matthew 2021-03-22 01:08:45 +0000
  • 40f552215e 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. dukeeeey 2021-03-15 15:55:39 +0000
  • 7916e20879 DSB2 clock speed from 4MHz to 11MHz. sheridan 2021-03-13 08:17:11 +0000
  • dae15a22f8 New dumps added: Virtua Striker 2 '99.1 (Step 1.5, Export, USA, Revision B) Virtua Striker 2 '99.1 (Step 1.5, Japan, Revision B) Thanks to Brian Troha and The Dumping Union sheridan 2021-03-07 10:14:36 +0000
  • ed1b29745c Fixed cycle counting overflow that was causing DSB2 to halt execution. sheridan 2021-03-07 10:12:37 +0000
  • 465708862b missing header dukeeeey 2021-03-03 20:31:57 +0000
  • 005bc92e7f DSB2 IRQ 2 now fires at 1KHz rather than once per frame, improving music timing in Daytona USA 2 and Sega Rally 2. DSB1 CPU timing increased from 1MHz to 4MHz, improving music fade timing in Scud Race. Thanks to gm_matthew for these discoveries. sheridan 2021-03-03 15:30:19 +0000
  • 3ce8bd45b1 Just a few compile warnings dukeeeey 2021-02-20 22:19:16 +0000
  • ff9a603e3f Fix project file dukeeeey 2021-02-19 11:03:48 +0000
  • cfa3aad20c Build bot script. sheridan 2021-02-18 10:37:03 +0000
  • 6526fb3650 Skichamp Driveboard error fix. sheridan 2021-02-18 10:35:38 +0000
  • a1b94433d5 Huge refactor of the Driveboard: -Separate each possible boards (wheel, joystick, skipad, billboard). -Defined a Driveboard type in Games.xml for each games. -Due to the refactoring, Driveboard Savestates have changed (a common base data + a specific board data are saved). -Backwards compatibility with previous save states is maintained. -Driveboard rom section is no longer required anymore. This disables Driveboard emulation in case the rom is not found. -Added Billboard emulation (vf3, vs2, fvipers2, von2). 7 segments and lamps Outputs are redirected to Supermodel outputs. -Changes project to C++ 17 standard. sheridan 2021-02-18 10:29:15 +0000
  • 886cfead8a Introduce new config keywords. sheridan 2021-01-30 09:54:03 +0000
  • f2cd7ec642 The controls of bass/getbass games were no longer good, following recent rom set name changes in Games.xml. sheridan 2021-01-05 14:24:57 +0000
  • b79ca4b38f Corrected game set names & game titles (Brian Troha) New clones -Sega Bass Fishing Deluxe (USA) (Brian Troha) -Dirt Devils (USA, Revision A) (Brian Troha) sheridan 2021-01-05 14:23:24 +0000
  • 8610f39623 Added rumble skipad in Ski Champ game. This is only a simulation (cmd are interpreted), not an emulation because we lack informations on the game itself and its driveboard (does it have dedicated cpu/rom ?). sheridan 2020-12-30 17:14:14 +0000
  • bae8607475 Service menu activated in swtrilgyp. Note : The "feedback stick test" always failed (change cab type DX to SD if needed). sheridan 2020-12-30 16:38:13 +0000
  • 38cbeced07 - Add -O3 optimization option for OSX and Linux. - Revert netboard to disable by default. sheridan 2020-12-30 16:05:25 +0000
  • 06155c9faf - Suppressed net board console output (using debug logging now) - Added GPL headers to net board source files sheridan 2020-12-28 16:22:12 +0000
  • 14f5ab47cf - Star Wars Trilogy untextured Death Star surface bug in gcc builds was caused by -Ofast (thanks to rokfpoewrkcpoqwkcp for discovering this). Using -O3 now. - Net board enabled by default. sheridan 2020-12-27 13:14:37 +0000
  • 694f984a62 Updated rules file. sheridan 2020-12-25 08:29:18 +0000
  • 7cf3f1e8d2 Introducing a special release build target with SVN version stamping. sheridan 2020-12-24 10:20:26 +0000
  • 14bff58c59 Magical Truck Adventure rom patch to unlock region. (enter service menu, then Start P1, Start P1, Service, Start P1, Service, Test) sheridan 2020-12-21 15:39:15 +0000
  • 6f0cdeafde -wide-bg option to stretch the background tile layer when wide-screen mode is enabled - Daro Land dukeeeey 2020-12-20 18:17:34 +0000
  • 22fcefa082 Change the duration of constant force effect in SDL2 to correct daytona games sheridan 2020-12-01 07:35:52 +0000
  • 4010ca4348 Makefiles update sheridan 2020-11-06 09:24:16 +0000
  • 14d2980e50 Star Wars Trilogy lever feedback activated sheridan 2020-10-24 09:12:54 +0000
  • 1699b8b70c Force Feeback for Linux sheridan 2020-10-21 08:19:51 +0000
  • af2cd5a867 hopefully fix building on linux dukeeeey 2020-09-19 14:45:51 +0000
  • 0f120844b6 Added Screenshot feature (ALT+S). sheridan 2020-09-19 07:54:26 +0000
  • 867871f071 Remove using namespace from headers. sheridan 2020-09-16 07:03:03 +0000
  • fc0547d24d fix compiling with visual studio dukeeeey 2020-09-15 08:51:23 +0000
  • 434b721ff7 fix missing polys with quad renderer dukeeeey 2020-09-14 20:01:52 +0000
  • 1dd746ee5f Balance initial value set to "0" rather than "false". "False" is interpreted as 0 when decoded as a float, so there will be no effect here, but this expresses the intended logic better. sheridan 2020-09-14 07:01:54 +0000
  • 76a822d155 Fixed a longstanding bug that caused stereo channels to be flipped incorrectly. This was due to the initial audio buffer write position being aligned to the middle of a 4 byte (2 byte left, 2 byte right) audio sample. In multi-threaded mode, some sort of race condition caused this alignment to be fixed until audio playback was temporarily paused (via pausing, loading a state, etc.) Audio playback should now be fixed and work consistently in all cases. sheridan 2020-09-14 06:59:38 +0000
  • 893ef28ea2 Clip scroll fog to viewport, instead of filling entire screen. Fixes fog bug in Daytona credits. dukeeeey 2020-09-08 09:10:24 +0000
  • 07779516dd Update scroll fog logic. Should fix the credits in virtua fighter and daytona that have fogging applied to the background layer and shouldn't. dukeeeey 2020-09-07 16:25:18 +0000
  • 71c3bea373 - Add missing library from previous windows makefile update. - NEW_FRAME_TIMING build option was removed because it was no longer used. sheridan 2020-09-04 05:48:41 +0000
  • a592b72281 Windows makefile update sheridan 2020-09-03 06:27:57 +0000
  • 8b94954034 - Reworked logging system to support output to multiple outputs: files, stdout, stderr, and syslog (OutputDebugString on Windows, syslog on other systems). - Added ordinal logging level: all, debug, info, error. Compiling with DEBUG defined is no longer necessary for debug logging. Be careful when logging debug level because it produces copious output. - Fixed -enter-debugger options when compiled with SUPERMODEL_DEBUGGER. - Command line parse errors no longer ignored; Supermodel will now exit. sheridan 2020-08-31 09:28:35 +0000
  • a0b260cfdc Rename command line SCSP option to -legacy-scsp and -new-scsp sheridan 2020-08-26 16:14:54 +0000
  • fd25c87679 Correct the returned value from previous getbass patch There was a strange side effect on Ocean Hunter game sheridan 2020-08-26 16:05:23 +0000
  • 447919fff6 Getbass related Game now boots in game Add missing analog input and buttons sheridan 2020-08-25 08:48:25 +0000
  • 08adb00d1d Small oversight in the new SCSP code sheridan 2020-08-24 10:09:01 +0000
  • bc05644420 Various SCSP improvements and code cleanup: - Ported MAME's implementation - Corrected FM sound for songs in VF3 that use it - Music tempo now closer to real hardware thanks to emulating two SCSP chips. - Add LegacySoundDSP config option for games with SCSP DSP glitches (ex. engine noises in Sega Rally 2, and loud garbage on Bahn's stage in Fighting Vipers 2) - Renamed SysFPS to "SoundClock" (since raising this appears to adjust the sound frequency). dukeeeey 2020-08-22 20:41:47 +0000
  • 68bbf8b2fd New ecap crc rom + rom patch sheridan 2020-08-22 09:03:53 +0000
  • 91cebcfdb6 Low level z80 core bug Discovered when looking at lemans ffb board (real Model3 rom, not Model2 stcc one) This could affect other ffb board and/or scud race DSB1 sound board However I didn't notice any bad things sheridan 2020-08-22 09:00:13 +0000
  • 9b9eb3b961 Remove some debug code dukeeeey 2020-08-01 09:02:04 +0000
  • 63e6f46889 Update glew version dukeeeey 2020-07-31 19:18:51 +0000
  • fe3365cc52 build fixes for mac dukeeeey 2020-07-27 10:28:48 +0000
  • 56766d3494 skichamp rom patch : prevent driveboard error at boot sheridan 2020-07-27 09:02:07 +0000
  • 9f8e908eb1 Linux build compatibility changes sheridan 2020-07-03 09:15:08 +0000
  • e587b21ee9 Update makefiles sheridan 2020-07-03 09:08:03 +0000
  • 0e3bb781cd silence a few casting warnings dukeeeey 2020-07-01 17:51:21 +0000
  • 6cc6f0e145 Netboard related : Define a new hardware line in games.xml sheridan 2020-07-01 15:56:21 +0000
  • fab246745c _rotl() replacement sheridan 2020-06-17 16:31:22 +0000
  • b18245a2f8 Only try and make a connection if we have enabled EmulateNet dukeeeey 2020-06-17 15:11:58 +0000
  • 34e266d0eb Fix corrupted memory in network mode dukeeeey 2020-06-17 11:41:41 +0000
  • 5e9cd4c8a8 remove old files dukeeeey 2020-06-16 12:01:13 +0000
  • 5cab5de3b5 Replace network code with new tcp implementation dukeeeey 2020-06-16 11:55:38 +0000
  • b1ac570cff Add SDLnetworking + some basic tcp classes dukeeeey 2020-06-13 19:46:12 +0000
  • 17bf032bcd cache variable, without it is unusably slow in debug mode dukeeeey 2020-06-12 17:33:21 +0000
  • 973faf2eb5 add missing file dukeeeey 2020-06-10 09:12:34 +0000
  • 05e071e834 update vs project files dukeeeey 2020-06-08 14:27:37 +0000
  • e3af0bae36 fix output values dukeeeey 2020-06-08 10:14:03 +0000
  • 4d43c60f39 The translator map seems to work with paletted colour values too, and the result is not clamped. Colours are passed to the GPU as unsigned bytes to multiplying by 16 will overflow, so we do the logic in the shader. If we passed floats we could skip the shader logic. dukeeeey 2020-05-11 09:05:46 +0000
  • a2dae583e3 When the translator map is enabled the colour values seem to use 4 bits, 0-16. Why not 0-31 I don't know. Anyway virtua on is overflowing these values for some of the smoke effects. For us the numbers were wrapping around. Clamping is enough to fix this. (Thanks model123) dukeeeey 2020-05-07 19:34:22 +0000
  • baa163ff50 custom resolution bug fix sheridan 2020-04-24 07:04:41 +0000
  • e1001c3380 SDL1 to SDL2 internal changes sheridan 2020-04-19 08:34:58 +0000
  • c960a85519 remove files dukeeeey 2020-01-22 18:44:30 +0000
  • eb200a79e0 git-svn-id: https://svn.code.sf.net/p/model3emu/code/trunk@788 48849e4c-6218-0410-9df5-a815ca0b3254 sheridan 2020-01-22 17:36:22 +0000
  • 0de440fae3 tweak value so the map indicator still works at the start of spikeout dukeeeey 2020-01-04 18:15:30 +0000
  • 54416209ab Sutherland-Hodgeman clipping only works for planar primitives. Scud is rendering non planar quads and this breaks our algorithm a little when using the quad renderer. Stretching the near plane a few % is enough to fix it. dukeeeey 2020-01-04 13:48:14 +0000
  • ff6bca4232 Only need to clip against 4 planes for poly culling dukeeeey 2020-01-04 13:45:55 +0000
  • 9889e72f94 Fix the sky in harley in first person mode where pixels in the sky are culled when they shouldn't be with the quad renderer. Basically we were running out of precision in a rare corner case. Doing the maths with double precision and casting back to float was enough to fix the issue. dukeeeey 2019-12-27 21:36:46 +0000
  • 59c64227dc To calculate the mipmap value the opengl needs to calculate the difference in the texture coordinates between adjacent pixels. If there are no adjacent pixels the hw may need to spawn invisible fragments outside of the visible polygon. Our algorithm was culling these out so the mipamp calculation failed for edge pixels. Anyway this fixes quad rendering looking broken with the latest nvidia drivers. dukeeeey 2019-12-10 11:40:39 +0000
  • 8aee1577ff Really should cull against 5 frustum planes. dukeeeey 2019-11-15 20:00:25 +0000
  • 472aaa5ebe Stretch the time the ping_pong bit flips a bit to bump writes into correct frame. Otherwise they end up getting written at like 99.8% of the frame and overlapping with the next. dukeeeey 2019-11-08 20:36:11 +0000
  • 76782011c1 Optimise Games.xml (Krom) dukeeeey 2019-11-08 19:38:20 +0000
  • 94ec178d47 Thanks to our anonymous contributor who managed to patch a model 3 game and run it on real h/w, we were able to obtain some timing values we had been long been missing for correct emulation. The h/w polls something called the ping_pong bit at start-up to sync the GPU with the CPU. Unfortunately we didn't have the correct values and just manually used some per game hacks to get games to run. This mostly worked, but some games were writing more or less frames than they should have been for a given time period. When the ping_pong bit flips at 66% of the frame time, games were writing data for a new frame, which meant writes were often straddling 2 separate frames. We aren't 100% sure if IRQ2 or the ping_pong bit is vblank. dukeeeey 2019-11-07 20:29:17 +0000
  • 664fa4769c Ocean hunter in the middle of the game is passing a few matrices with FLT_MAX inside them, which blows apart our near/far calculation. The hardware must have some method to sanitize the near/far for instance if you render something extremely close to the origin you will also blow apart any near/far calc. dukeeeey 2019-11-02 20:11:48 +0000
  • 8b38905f44 skip invalid culling nodes dukeeeey 2019-07-28 12:14:13 +0000
  • deca602a36 A culling node must follow immediately after a viewport. dukeeeey 2019-07-26 16:39:58 +0000
  • c3c9f30fbd Fix possible negative pointer arithmetic which was causing the music to wrap around. dukeeeey 2019-02-22 01:00:41 +0000
  • e3d13d82a0 Update makefiles dukeeeey 2019-02-21 14:57:57 +0000
  • f5c7285b19 Previous mpeg audio code worked for me in debug mode, but the release build had some serious corruption issues when being built in visual studio. Replaced the old spaghetti code with a more modern implementation. dukeeeey 2019-02-21 14:56:25 +0000
  • de9b585d3b - Disabled Alt-O (dump timings) and Alt-U (dump input state) when SUPERMODEL_DEBUGGER not defined - Option '-print-inputs' works again if no ROM set specified sheridan 2019-02-19 09:24:31 +0000
  • b5be8f6ad4 Restore Sega Rally 2 music in some practice stages sheridan 2019-02-07 06:32:46 +0000
  • caaf807b69 Fixed MPEG music looping glitch. sheridan 2019-02-05 10:30:50 +0000
  • 898239346d Refactor code from previous svn768 (Note : break old savestate compatibility) sheridan 2019-02-05 10:03:50 +0000
  • 5a5e576fff Fix the audio in sega rally2. The game has packed separate tracks into the left and right audio channels. Selecting the correct track fixes the garbled mess. (Spindizzi) dukeeeey 2019-02-01 21:02:02 +0000
  • e0d29d0de3 Fix shader. Why this worked on my nvidia card .. I'm not sure. dukeeeey 2019-01-24 19:11:26 +0000
  • 89cf3c1418 Composite the alpha layers at the end of rendering. To do this we need to mask the alpha pixels with the opaque pixels from the next priority layer. Fixes some overlapping shadows in vf3tb that have different priority layers. I assume that was a game bug, but it works on the real h/w. dukeeeey 2019-01-21 14:30:42 +0000
  • 3c2eb729fc -Added support for specifying multiple sections simultaneously in INI files, e.g., [ daytona2, dayto2pe ] -Forgetfulness in 763 sheridan 2019-01-20 08:02:01 +0000
  • e528cb9e7a Technically backface culling should cull polys when the dot product = 0, since when it equals 0 the polys is perpendicular to the camera and thus invisible. When you complete sega rally2 (if you can get that far lol) the champagne is invisible. The reason is because all the face normals are 0. So when multiplied by the model matrix they are still 0 and get culled. Tweaking the condition to only cull polys when greater than 0 fixes this, and allows these 'bad' polys to render as they do on the model3. dukeeeey 2019-01-16 01:07:56 +0000