琵琶行论坛

 找回密码
 注册
每日签到论坛FTP使用教学领取红包(开放!)论坛FTP搜索引擎
查看: 215650|回复: 257

[新闻] SEGA MODEL3 模拟器 Supermodel SVN r862 (2021/05/10)

[复制链接]

签到天数: 3532 天

[LV.Master]伴坛终老

发表于 2016-12-7 22:01:22 | 显示全部楼层 |阅读模式
本帖最后由 kof2112 于 2021-5-10 15:22 编辑



使用 Microsoft Visual Studio 2019 编译

http://sourceforge.net/projects/model3emu/

r770
Fixed MPEG music looping glitch.

r771
Restore Sega Rally 2 music in some practice stages

r772
- 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

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

r774
Update makefiles

r775
Fix possible negative pointer arithmetic which was causing the music to wrap around.

r776
A culling node must follow immediately after a viewport.

r777
skip invalid culling nodes

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

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

r780
Optimise Games.xml (Krom)

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

r782
Really should cull against 5 frustum planes.

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

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

r785
Only need to clip against 4 planes for poly culling

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

r787
tweak value so the map indicator still works at the start of spikeout

r788

r789
remove files

r790
SDL1 to SDL2 internal changes

r791
custom resolution bug fix

r792
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)

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

r794
fix output values

r795
update vs project files

r796
add missing file

r797
cache variable, without it is unusably slow in debug mode

r798
Add SDLnetworking + some basic tcp classes

r799
Replace network code with new tcp implementation

r800
remove old files

r801
Fix corrupted memory in network mode

r802
Only try and make a connection if we have enabled EmulateNet

r803
_rotl() replacement

r804
Netboard related : Define a new hardware line in games.xml

r805
silence a few casting warnings

r806
Update makefiles

r807
Linux build compatibility changes

r808
skichamp rom patch : prevent driveboard error at boot

r809
build fixes for mac

r810
Update glew version

r811
Remove some debug code

r812
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

r813
New ecap crc rom + rom patch

r814
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).

(Submitted by Paul Prosser)

r815
Small oversight in the new SCSP code

r816
Getbass related
Game now boots in game
Add missing analog input and buttons

r817
Correct the returned value from previous getbass patch
There was a strange side effect on Ocean Hunter game

r818
Rename command line SCSP option to -legacy-scsp and -new-scsp

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

r820
Windows makefile update

r821
- Add missing library from previous windows makefile update.
- NEW_FRAME_TIMING build option was removed because it was no longer used.

r822
Update scroll fog logic. Should fix the credits in virtua fighter and daytona that have fogging applied to the background layer and shouldn't.

r823
Clip scroll fog to viewport, instead of filling entire screen. Fixes fog bug in Daytona credits.

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

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

r826
fix missing polys with quad renderer

r827
fix compiling with visual studio

r828
Remove using namespace from headers.

r829
Added Screenshot feature (ALT+S).

r830
hopefully fix building on linux

r831
Force Feeback for Linux

r832
Star Wars Trilogy lever feedback activated

r833
Makefiles update

r834
Change the duration of constant force effect in SDL2 to correct daytona games

r835
-wide-bg option to stretch the background tile layer when wide-screen mode is enabled - Daro Land

r836
Magical Truck Adventure rom patch to unlock region. (enter service menu, then Start P1, Start P1, Service, Start P1, Service, Test)

r837
Introducing a special release build target with SVN version stamping.

r838
Updated rules file.

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

r840
- Suppressed net board console output (using debug logging now)
- Added GPL headers to net board source files

r841
- Add -O3 optimization option for OSX and Linux.
- Revert netboard to disable by default.

r842
Service menu activated in swtrilgyp.
Note : The "feedback stick test" always failed (change cab type DX to SD if needed).

r843
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 ?).

r844
Corrected game set names & game titles (Brian Troha)
New clones
-Sega Bass Fishing Deluxe (USA) (Brian Troha)
-Dirt Devils (USA, Revision A) (Brian Troha)

------------
Note/Warning:
This will match future Mame 0.228 changes.
Please Check/Edit carefully all your rom set because there are many changes (e.g. set name).
Thinking of delete or rename your nvram, or restart from the start.

r845
The controls of bass/getbass games were no longer good, following recent rom set name changes in Games.xml.

r846
Introduce new config keywords.

In xinput mode, lets the choice to have left and right gamepad motors vibrate together.
XInputStereoVibration = 1 (both motors) [default]
XInputStereoVibration = 0 (separate motors)

In sdl input mode, new control option to set minimum strength above which a Model 3 constant force command will be simulated on an sdl gamepad device.
SDLConstForceThreshold = 30 [default]
note : the vibration strength can be mod with SDLConstForceMax = [val]

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

r848
Skichamp Driveboard error fix.

r849
Build bot script.

r850
Fix project file

r851
Just a few compile warnings

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

r853
missing header

r854
Fixed cycle counting overflow that was causing DSB2 to halt execution.

r855
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

r856
DSB2 clock speed from 4MHz to 11MHz.

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

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

r859
Adding simulated netboard; all linked games except Sega Rally 2 working at full speed.

r860
Fix netboard resets and detection of simulated netboard linking to itself

r861
Fix 16-bit variables not displaying correctly in Z80 debugger (at least in MSVC builds)

r862
Non-linked games no longer falsely list the net board under extra hardware






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PS:Update information

http://www.supermodel3.com/Forum/viewtopic.php?f=3&t=1206
This is the modded DSB that has a fixed music for Sega Rally 2 that fixes the scratches after the loop along with
custom music feature. Special thanks to Spindizzi for the fix and Shekel and Bart for making the custom music feature
possible in Supermodel!


- Edited DSB by Jitterdoomer

Supermodel_x86_0.3a-WIP_SVN862.zip

1.69 MB, 下载次数: 3710

Supermodel_x64_0.3a-WIP_SVN862.zip

1.84 MB, 下载次数: 8261

Supermodel Bat.7z

1.54 KB, 下载次数: 948

评分

7

查看全部评分

该用户从未签到

发表于 2016-12-26 08:44:22 | 显示全部楼层
diurasho 发表于 2016-12-25 15:45
http://emuloader.mameworld.info/files/el829-bin.rar
似乎按键还得在supermodel的.ini文件里设置,其 ...

先谢过了


回复 支持 1 反对 1

使用道具 举报

签到天数: 4 天

[LV.2]偶尔看看I

发表于 2021-2-20 09:05:56 来自手机 | 显示全部楼层
老大能不能把前端也更新一下
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-25 15:45:13 | 显示全部楼层
ydy135 发表于 2016-12-24 13:16
麻烦提供一下,多谢

http://emuloader.mameworld.info/files/el829-bin.rar
似乎按键还得在supermodel的.ini文件里设置,其他则可以在emuloader中设置。
回复 支持 0 反对 1

使用道具 举报

该用户从未签到

发表于 2016-12-24 13:16:29 | 显示全部楼层
diurasho 发表于 2016-12-21 16:57
supermodel越来越完善了。经某网友贴子提醒,开始使用EmuLoader作前端,比起那古老的supermodel UI好用多了 ...

麻烦提供一下,多谢
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-24 13:15:55 | 显示全部楼层
R760 发表于 2016-12-11 11:58
多谢分享,期待接下来的更新版本能彻底解决Spike Out的贴图错误问题

你怎么敢抢我的台词,啊啊啊啊
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-21 16:57:17 | 显示全部楼层
supermodel越来越完善了。经某网友贴子提醒,开始使用EmuLoader作前端,比起那古老的supermodel UI好用多了。可以选择new3d引擎或老引擎,设置各种方便。
多谢楼主的分享。
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-17 01:00:34 | 显示全部楼层
r514
For scroll fog set the viewport to the entire area, allows fog to work in widescreen mode

Not in all games.
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-16 06:54:29 | 显示全部楼层

感谢楼主分享
回复 支持 1 反对 0

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

发表于 2016-12-12 15:34:58 | 显示全部楼层
都修正啥了?洛杉矶机枪手完美了么?
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-12 07:54:50 | 显示全部楼层
碰到大神,我作为专业小白都不知道说什么了
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2016-12-9 19:21:31 | 显示全部楼层
沙发,感谢楼主分享
回复 支持 1 反对 0

使用道具 举报

签到天数: 802 天

[LV.10]以坛为家III

发表于 2016-12-11 11:58:24 | 显示全部楼层
多谢分享,期待接下来的更新版本能彻底解决Spike Out的贴图错误问题
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|琵琶行论坛 ( 赣ICP备12000882号 )

GMT+8, 2021-8-2 06:59 , Processed in 0.027200 second(s), 12 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表