Supermodel Latest Builds for Download (currently SVN 540)

Discuss Supermodel and your favorite Model 3 games. Show off your latest threads, this is the place to see and be seen.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Supermodel Latest Builds for Download (currently SVN 540)

Postby Jiterdomer » Sun May 29, 2016 7:55 am

SVN 540 (With Custom Music feature):
https://www.mediafire.com/?rsir66nnwr9wcj2

I have to do this, since Joaquim's topic doesn't even host builds at the very first page of that topic, I decided to make a separate page for this.

Feel free to let Bart and Ian know about the bugs and glitches happening in any builds in that topic link above! :)

Code: Select all
r540
The mipmap data in some games seems to being sent behind the base textures, and when the base textures are bound and created the mipmap chain is not yet valid in memory. To fix this, we invalidate the base textures, when the mipmap chain is updated.
---------------------
r539
Just use 1 hash map for the textures, instead of 1 for each format. Should greatly speed up texture invalidation. TODO invalidate texture mipmaps .. the h/w actually seems to stream the mipmap data separate from the base textures in some cases.
---------------------
r538
cosmetic
---------------------
r537
calculate the correct number of mipmap textures
---------------------
r536
Originally to do mipmapping, I just used the base texture and then let the h/w automatically generate the mipmap chain. I wasn't sure the real3d api even exposed to the programmer the ability to directly set the mipmap data. Anyway, as pointed out by HarryTuttle scud actually uses darker mipmaps for an effect on the water. This patch uses the uses the actual mipmap data from the real3d memory. Only tested scud, so hopefully I didn't cause any cataclysmic errors :)
---------------------
r535
Added fvipers2
---------------------
r534
use 32bit types
---------------------
r533
Added more games to Games.xml: dayto2pe, eca, lamachin, lostwsga, magtruck, oceanhun, vf3. Fixed swtrilgy (MPEG music).
---------------------
r532
Added 8- and 16-bit tilegen VRAM access handlers to fix missing columns in Star Wars Trilogy tilemaps. Thanks to Spindizzi for initial confirmation that this was the problem.
---------------------
r531
fix scissor code for native resolution (thanks HarryTuttle)
---------------------
r530
remove debug code
---------------------
r529
The model3 has this weird issue where the 2d and 3d planes are misaligned by 2 pixels. Originally I made a quick hack that shifted subviewports 2 pixels. But apparently that wasn't enough, as the issue effects everything. Thanks to HarryTuttle for pointing this out, and making a patch :)
---------------------
r528
Texture coordinates seem to be scaled relative to the fixed texture size of 256. Thanks to HarryTurtle for figuring this crazy logic out. The road in scud matches the arcade now almost perfectly.
---------------------
r527
Change microtexture scaling values. Seem to much better match expected output. (thanks HarryTuttle)
---------------------
r526
More fixes to microtexture coordinates. They go vertically up and down the texture sheet, and not horizontally as I had guessed. (Thanks HarryTurtle)
---------------------
r525
Fix microtexture texture coordinates (thanks HarryTuttle)
---------------------
r524
fix the bad projection matrix in dirt devils and lost world
---------------------
r523
The hardware actually seems to treat the quad primitive as a triangle strip. The winding order can actually change between the first and second 'triangle' inside the quad, leading our code to incorrectly backface cull the 2nd triangle. So we must re-calculate the winding order for the 2nd triangle. This fixes a massive missing poly in the road in la machine guns, probably other games too. The hardware is unaffected by the winding order, as it doesn't calculate the poly normal from the vertices directly, instead it uses the provided normal in the poly header.
---------------------
r522
Support high priority polygons. They are treated as a separate overlay plane by the h/w. Fixes some missing fx in harley.
---------------------
r521
Add high priority poly function. Used by harley.
---------------------
r520
When the translator map?? bit is enabled the colour format seems to be 4-5bit. Max observed value is 16. Scaling these values up seems to produce the correct colours in harley and dirt devils.
---------------------
r519
Put a check in there, in case near values come out really close to zero. Fixes a slight corner case in lemans24. A check probably should have been there originally :)
---------------------
r518
Dynamically calculate near/far frustum planes for each viewport priority layer by clipping the overlapping meshes with the 4 frustum planes. A bit brute forcy, but the results are great.
---------------------
r517
mark the nodes without valid distances set
---------------------
r516
cosmetics
---------------------
r515
only need to cull against 4 clipping planes
---------------------
r514
For scroll fog set the viewport to the entire area, allows fog to work in widescreen mode
---------------------
r513
properly cache un-normalised texture coordinates, fixes a texturing regression in Daytona
---------------------
r512
fix microtexture colours
---------------------
r511
Only check scroll fog value from the first viewport from each priority layer. Seems to fix problems with background fogging.
---------------------
r510
delete unused files
---------------------
r509
Support microtexture relative scale. The exact scaling values are not known, but a 2x difference between each level seems highly likely. We know from visual inspection from scud that the first level is exactly 4. The SDK has a function that accepts a float input for scale and does this. lod = (1/scale) + 0.5. If lod>3 lod = 3. So this is our best guess.
---------------------
r508
The model3 shares vertices between polygons. But it also seems to do this for polygons with different textures. This means the texture coordinate for potentially different sizes textures is shared. Currently this was broken leading to some corrupted looking textures. The fix is to simply cache the old texture coordinates, and recalculate the normalised coordinates in the new texture coordinate space.
---------------------
r507
refactor
---------------------
r506
tweak scroll fog logic
---------------------
r505
clean up
---------------------
r504
minor optimisations
---------------------
r503
Only check the geometry for culling with valid node distances. We will need this later.
---------------------
r502
Revert changes .. if we clip against the real3d clipping planes, our wide screen hack won't work anymore.
---------------------
r501
Get clipping planes directly from the viewport data. Also no need to clip against a far plane
---------------------
r500
Need to walk back in memory and check the previous texture tiles to see if they overlap with the current textures being invalidated. If they overlap they must be cleared too. Algorithm is a bit brute forcy and more expensive than I'd like but it fixes the bad textures in Spikeout.
---------------------
r499
Skip processing the mipmap section of memory. The real3d doesn't create mipmaps down to 1x1 that is needed to do mipmapping properly on modern hardware anyway.
---------------------
r498
Clear queued texture uploads after processing them. Saves re-uploading the same textures whilst paused
---------------------
r497
More accurate 2D colours. White should map to 255 not 248
---------------------
r496
Fix the shading in scud. When lighting is disabled the fixed shading intensities appear to be offset values added to the colour value.
---------------------
r495
change throttle logic for smoother playback, we could get closer to 60fps if SDL timers weren't so lame
---------------------
r494
change scroll fog logic to parse the lower priority viewports first
---------------------
r493
implement scroll fog, fixes a tonne of missing fx
---------------------
r492
Parse out scrollfog value used for blending over the 2d background.
---------------------
r491
Fix scenes with missing fog in ocean hunter. The game was passing negative fog densities. The sign seems to be ignored by the model 3.
---------------------
r490
same fix for legacy engine
---------------------
r489
our scratch mem must match correct max texture size
---------------------
r488
Fix the sky in advanced stage in Dirt Devils. It uses a massive (for 1998 :p) 1024x256 texture.
---------------------
r487
Support multiple microTextures, fixes crazy texturing in sega ski champ. I'm assuming microtextures are always located on the other memory bank to the base texture. This logic seems to work for all our games anyway.
---------------------
r486
Added RGBA4 format to BMP file writer
---------------------
r485
Made parsing of hex values more robust
---------------------
r484
Initial check in of Games.xml (only two games defined so far)
---------------------
r483
Fixed new 3D engine's fragment shader to work on some older GPUs by reducing the number of discard statements to one
---------------------
r482
Updated game loader to make use of latest changes to config tree: generic value types and eliminated pointers
---------------------
r481
Support for hex numbers in string to integer conversions (with '0x' prefix) and special keywords in string to bool conversions (true/false/on/off/yes/no)
---------------------
r480
Added Util::Stricmp() and small tweak to serialization of Util::Format
---------------------
r479
Added support for multiple value types in config nodes.

Removed Ptr_t and ConstPtr_t from public interface, moved config tree builders into their own file, and made them pass by reference and value.
Exceptions can be thrown now on lookup failures.
Removed s_empty_node -- failed lookups in [] operator create a permanent "hidden" child.
Updated comment in NewConfig.cpp.
---------------------
r478
Added copy constructor and assignment operator using C++11 move semantics
---------------------
r477
Defined inputs
---------------------
r476
Support for deep copies via assignment operator. This will pave the way for elimination of Ptr_t and ConstPtr_t.
---------------------
r475
Added Write() method to write buffer to an ostream, and added an ostream operator overload
---------------------
r474
Changes to game loader interface, added 32-bit word swapping utility function
---------------------
r473
Added Logger.o to OSX and UNIX Makefiles. Should fix compilation on these platforms.
---------------------
r472
Removing MSVC Makefile
---------------------
r471
Initial check-in of game loader (not operational yet)
---------------------
r470
Byte swapping utility function
---------------------
r469
Added ValueAsBool(), ValueAsBoolWithDefault(), and ValueAsUnsignedWithDefault()
---------------------
r468
update visual studio project
---------------------
r467
Added Util::Config::Node::ValueAsUnsigned() with support for base 10 and 16 ('0x' prefix)
---------------------
r466
Added Util::ToLower()
---------------------
r465
Config::Node::Add() now supports nested keys (e.g., Add("foo/bar/baz", "0") will create three nested config nodes)
---------------------
r464
Changed Config::Node::Create() to Add() and added a Set() method (for INI semantics). Turned Test_Config.cpp into a proper unit test reporting pass/fail for each test.
---------------------
r463
Adding tinyxml2 lib
---------------------
r462
XML parsing support for new config system
---------------------
r461
Moved logging functions into OSD/Logger.cpp (eventually logging system will be reworked entirely) and added new config tree structure (not yet used).
---------------------
r460
Updated Win32 gcc, UNIX, and OSX Makefiles
---------------------
r459
Updated Fragment_NoSpotlight.glsl (fragment shader for legacy engine without spot light)
---------------------
r458
disable spot light if the extent is zero
---------------------
r457
Saving progress on scudp disassembly
---------------------
r456
parse some unimplemented spot light values from viewport
---------------------
r455
Added disassembly of Scud Race Plus
---------------------
r454
Marked offset of code in CROM for scudp
---------------------
r453
stencil translucent non textured polys
---------------------
r452
refactor
---------------------
r451
Cull geometry based on the culling distances in the nodes. Should give some sort of speedup on lower end pcs where the CPU is predominantly the bottle neck.
---------------------
r450
Fix compilation when SUPERMODEL_DEBUGGER enabled
---------------------
r449
cache bound texture
---------------------
r448
cleaning
---------------------
r447
Added drive board and lamp raw outputs (submitted by SailorSat)
---------------------
r446
support negative exponent
---------------------
r445
Add code to convert the 16bit float format used by the hardware back into float 754 format. 16bit floats are used for the culling radiuses in the nodes.
---------------------
r444
Added -vsync and -no-vsync option descriptions to command line help
---------------------
r443
remove dead code
---------------------
r442
Added a Split() function to Util::Format.
---------------------
r441
XInput fix: search for all three possible XInput DLLs (xinput1_4.dll, xinput1_3.dll, and xinput9_1_0.dll). I have not tested 32-bit builds.
---------------------
r440
Check for overflow. Fixes some fade effects
---------------------
r439
Legacy engine: fixed texture offsets (VON2 was broken by last commit). Texture coordinates are wrapped within the bank first and then the bank can be swapped. This also allows the full range of texture coordinate bits to be used as specified in the Pro-1000 SDK.
---------------------
r438
Y texture offsets are just 5 bits. Texture coordinate wrap around happens in the same texture sheet, not into the next one. Fixes various texturing bugs in sega rally.
---------------------
r437
Legacy engine: Culling node texture Y offset is only 5 bits (fixes Sega Rally 2 initials decal)
---------------------
r436
New engine: modf -> std::modf (fixes compilation on gcc)
---------------------
r435
Legacy engine: expanded color index to 12 bits from 11. Does this affect any games?
---------------------
r434
New engine: expanded color indices to 12 bits from 11. Added PolygonHeader::ColorIndex and SensorColorIndex methods.
---------------------
r433
Forgot to describe one polygon header field in Model.cpp
---------------------
r432
Updated polygon header descriptions
---------------------
r431
Legacy engine: Added stencil buffering for layered models and shadows. Not as accurate as new engine because stencil buffering is applied per-model rather than per-polygon, so the entire model must consist of stencil-tested polygons. In practice, though, this seems to work fine.
---------------------
r430
Optimise non smooth texture repeat to only effect texture boundaries, rather than poly boundaries. Fixes a few ugly artefacts
---------------------
r429
fix transparency values, values are from 0-32, not 0-16 where the top bit disables
---------------------
r428 - Some Sauce by Ian.
Stencil layered polys, fixes shadow z fighting in some of the games. Other games maybe using stipple alpha (yuck), not sure yet.
---------------------
r427
remove bad rom patches
---------------------
r426
don't clamp after spot light code, looks much closer to h/w
---------------------
r425
Hooked up Sega Bass Fishing / Get Bass controls
---------------------
r424
basic spotlight code
---------------------
r423
Fixed fog in legacy 3D engine. Now computed same as new engine, with 4-bit light modifier and corrected fog mixing in shaders.
---------------------
r422
Updated legacy engine vertex shader to use specular shininess and coefficient along with old equation. Still not correct (too strong compared to the old method).
---------------------
r421
fix alpha testing for texture format 7
---------------------
r420
remove dead code
---------------------
r419
support 4 bit textures
---------------------
r418
correctly mask pointers
---------------------
r417
optimise hash table access for better performance
---------------------
r416
support colour table pointer
---------------------
r415
remove debug code
---------------------
r414
Fog start is apparently the fog value at the viewport (0,0,0) I guess like an ambient value. Default value is negative
---------------------
r413
Non luminous polygons seem to be effected by the lightModifier also. API seems to have no restriction in this regard, neither does the SDK. The ocean hunter requires this for some of the 2d stuff. Light modifier values only seem to exist between 0-16, which is strange for 5 bits of precision. Possibly top bit disables the effect and lower 4 bits are the value. This clearly differs from the SDK, but without this the values come out clearly wrong.
---------------------
r412
adjust (hopefully correct) fog equation
---------------------
r411
preliminary specular
---------------------
r410
- Removed a stale comment
---------------------
r409
Legacy renderer changes:

- Updated shading model. Unfortunately, it is far from perfect but it seems to be the best I can do for now. Not really much of a difference from before except that the Scud Race castle is fixed at the expense of the Yosemite level in LA Machineguns being too bright.
- Added lots of notes in the shading code.
- Passing both specular coefficient and shininess to shader. This will probably break specular lighting for now until the shader is updated to use the shininess correctly.
- Color table address in polygon RAM is now obtained from culling nodes as they are traversed (found this in the Pro-1000 SDK).
---------------------
r408
Added palette bit to list of bits to dump for analysis
---------------------
r407
Disable light modifier on fog, seems not to work .. values don't make sense. Maybe the model3 doesn't use these.
---------------------
r406
remove dead code
---------------------
r405
double up polys for two sided polys, fixes some diffuse lighting problems
---------------------
r404
FLT_MAX -> std::numeric_limits<float>::max()
r403
Added some IRQ-related code (commented out for now) from MAME findings. May incorporate in the future when investigating IRQs and timing again.
r402
update header documentation
---------------------
r401
Fix bad texture seems
---------------------
r400
Reverted stencil mask change. This reintroduces the Scud Race 'ROLLING START' bug. Previous 'fix' did not work for Magical Truck Adventure anyway and also broke some games (Daytona 2 transmission and course select screen, ECA title screen). The stencil mask is not shifted by 16 pixels and I suspect that either there is some unknown trick to horizontal scrolling or that the behavior is affected by hidden raster timing registers hidden in the JTAG interface.
---------------------
r399
Added a register read handler for tilegen (although nothing seems to benefit from it)
---------------------
r398
Fixed logic for clearing bottom layer. Added new functions to 2D renderer interface. Avoid drawing top and bottom surfaces when no layers are present there. Added some comments to tile
---------------------
r397
Rewrote 2D renderer and fixed 2D layer priorities, stencil mask clipping (Scud Race 'ROLLING START'), and cleaned up code. Unfortunately, the new code is about 50% slower, mostly due to the need to perform stencil clipping after scrolling.
---------------------
r396
add texture helper functions
---------------------
r395
remove pointless loop
---------------------
r394
Split face colour from per vertex poly colour. Fixes colour bleeding between connected polys in harley.
---------------------
r393
Changed XInput DLL failure message
---------------------
r392
update poly header class
---------------------
r391
Fixed compilation on gcc (gotos cannot cross variable declarations)
---------------------
r390
Flat shaded polys can't share vertex normals with adjacent connected polys. Fixes some bad lighting in Harley on pavements
---------------------
r389
support flat shading
---------------------
r388
Make sure texture is bound to correct texture unit, stop flashing micro textures in daytona
---------------------
r387
set correct microtexture wrap mode
---------------------
r386
preliminary microtexture
---------------------
r385
skip viewports marked as disabled, might stop parsing some bad data
---------------------
r384
fix compilation
---------------------
r383
Added support for A1RGB5 to BMP file writer and added a (commented-out) example of how to use it to dump texture memory in ~CReal3D()
---------------------
r382
wrap invalid texture sizes, seems to fix bad textures in srally2 (skid marks)
---------------------
r381
Turn off lighting if fixed shading (or no normals) flag is present. Fixes some of the lighting weirdness in scud
---------------------
r380
Legacy engine: fixed per-vertex fixed shading to incorporate Ian's findings that the intensity value is signed and that fixed shading applies only when lighting is enabled
---------------------
r379
Daytona seems to use 3 bits for texture transparency, will figure it out later but for now this works
---------------------
r378
Fix fixed shading maths
---------------------
r377
Updated to-do comments
---------------------
r376
fixed shading code
---------------------
r375
Legacy engine: preliminary per-vertex fixed shading. Only limited testing with LA Machineguns (appears to work), Sega Rally 2 (appears okay), and Scud Race (fixes expert course bridge but not other mis-colored polygons).
---------------------
r374
read front buffer
---------------------
r373
Luminous bit is now also dumped in polygon header analysis because shading modes may depend on whether or not lighting is enabled
---------------------
r372
Legacy engine: extracting fixed shading component (but still can't use it because unsure of how to activate)
---------------------
r371
Fixed polygon header bit analysis code: was forgetting to swap GL buffer back to retrieve pixels from last rendered frame
---------------------
r370
color flag
---------------------
r369
update project
---------------------
r368
make compilable with visual studio
---------------------
r367
simplify
---------------------
r366
Forgot a newline
---------------------
r365
Polygon header bit analysis code (need to #define DEBUG and use -gfx-state option)
---------------------
r364
Added utility function to write BMP files
---------------------
r363
Updated polygon header description with double-sided bit (forgot it in last update!)
---------------------
r362
Added an updated description of the polygon header to the top of Legacy3D/Models.cpp
---------------------
r361
fix model normals, add code for fixed shading, as of yet flag to turn it on is unknown
---------------------
r360
Legacy engine: vertex normals are standalone and do not need to be added to polygon normal
---------------------
r359
Added a debug option to load and render a single frame of graphics state from a save state file. Only available if compiled with DEBUG defined. Invoked using: -gfx-state= on command line.
---------------------
r358
Using IEmulator interface instead of CModel3 directly
---------------------
r357
Changed save state file version (r340 changed Real3D save format, breaking compatibility with older states, and states were probably already incompatible with 0.2a)
---------------------
r356
Fixed white space and warnings. Fixed second argument to -dis option in cases where other numerical parameters are specified on command line.
---------------------
r355
Flattened out nested if-statements in new engine's fragment shader to improve compatibility with older GPUs (e.g., NVS 300)
---------------------
r354
parse viewports in normal order
---------------------
r353
walk siblings before children, fixes some of the transparency drawing issues in ocean hunter
---------------------
r352
simplify
---------------------
r351
avoid cast warning
---------------------
r350
simplify list code
---------------------
r349
Updated Mac OS X Makefile
---------------------
r348
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.
---------------------
r347
Updated Supermodel.ini with default Magical Truck Adventure controls
---------------------
r346
Hooked up Magical Truck Adventure controls
---------------------
r345
you were right Bart :) (Fixes broken sound in last build)
---------------------
r344
Don't use variable sized variables across platforms, unless needed
---------------------
r343
Fix - cannot specify explicit initializer for arrays
---------------------
r342
Figured out Step 1.0 VROM texture uploads. Fixes missing textures in VF3 and VF3TB.
---------------------
r341
Debugger compilation fixed: CBus -> IBus
---------------------
r340
Fixed Magical Truck Adventure by emulating VROM texture ports as a FIFO. Now, VF3 crashes on Akira's stage (and probably the other stages with texture glitches). Other games may be affected, too (not thoroughly tested yet).
---------------------
r339
Fixed Magical Truck Adventure country check (accidentally removed a line in previous commit).
---------------------
r338
Magical Truck Adventure expects 0x03 to be returned from MIDI control port (thanks, Ville). Game now boots but crashes because VROM texture uploads clobber memory for some reason.
---------------------
r337
Created IEmulator interface, renamed CBus to IBus and CPCIDevice to IPCIDevice. Frames now rendered when emulator paused.
---------------------
r336
tweak frustum planes
---------------------
r335
Changed help text to explain that -sound-volume and -music-volume only take effect when DSB is present
---------------------
r334
Fixes for non-Windows builds: Makefile updated and fixed header files in Vec.cpp
---------------------
r333
revert viewport code
---------------------
r332
change tex format 4
---------------------
r331
Clamping diffuse+ambient light intensity to 1.0 (legacy engine)
---------------------
r330
Added a comment about viewports
---------------------
r329
Fixed texture enable bit (fixes Star Wars light sabers and Sega Rally 2 cones) and added a hack for (and more comments about) color modulation. Scud Race, Sega Rally 2, LA Machineguns, etc. look correct now, but Fighting Vipers 2 shadows ar...
---------------------
r328
Fixed Types.h include
---------------------
r327
Do not print extra hardware message when there is none
---------------------
r326
8-bit texture upload byte selection (thanks to Ville; but not tested yet); code cleanup
---------------------
r325
rgb values were swapped for paletted colours
---------------------
r324
Use the correct texture enable bit
---------------------
r323
Added a comment: observation of Star Wars and Scud Race color modulation issues.
---------------------
r322
More textures fixed.
---------------------
r313
add missing project files
---------------------
r312
Allow asymmetric projection matrices. Fixes a bunch of missing effects and bad camera angles in harley.
---------------------
r311
update project
---------------------
r310
add LOD table data. Maybe we can get clipping planes out of these
---------------------
r309
properly mark dynamic meshes as such
---------------------
r308
allow 8 bit mono textures to be contour textures, fixes a bunch of missing transparency in harley la riders
---------------------
r307
clear the rom mesh buffer
---------------------
r306
Cache rom models, for better performance.
---------------------
r305
---------------------
r304
WIP
---------------------
r303
fix for bad matrix with NaN
---------------------
r302
Fixed detected axis printf() and compiler warnings (hopefully I did not parenthesize any conditionals incorrectly!)
---------------------
r301
finish front/back face culling code based on matrix determinant. Optimised opengl to avoid redundant state changes.
---------------------
r300
add missing project file
---------------------
r299
fix parenthesis error
---------------------
r298
add maths functions
---------------------
r297
Update project to vs 2013. Clean compile warnings
---------------------
r296
Remove double copy of shaders
---------------------
r295
fix basic compile errors (with vs)
---------------------
r294
Tweaked Windows gcc Makefile
---------------------
r293
Fixed compiler warnings, whitespace, and moved local variable declarations to site of assignment
---------------------
r292
Include Version.h
---------------------
r291
Fixed typo that broke build
---------------------
r290
Fixed warnings and whitespace
---------------------
r289
Fixed warnings and whitespace
---------------------
r288
Fixed warnings and whitespace
---------------------
r287
Moved lastCycles static int out of header file (fixes compiler warnings)
---------------------
r286
Moved
---------------------
r285
Updated to support new IRender3D interface and added FrameTimings object.
---------------------
r284
CRender3D -> CLegacy3D
---------------------
r283
Update Supermodel.h with graphics path and moved version string to separate header file
---------------------
r282
Removing legacy 3D engine files that were already moved to Graphics/Legacy3D
---------------------
r281
Adding new 3D engine by Ian Curtis. Old engine moved to Graphics/Legacy3D/.
---------------------
r280
Fixed compilation errors involving min and max functions
---------------------
r279
Added registers to debugger: ctr, xer, srr0, srr1, sdr1, imiss, dmiss, hid0, hid1
---------------------
r278
Fixed compiler warnings
---------------------
r277
53c810: do not increment DSP when executing interrupt instruction. Fixes invalid polygons in Virtua Fighter 3. Thanks to Ian Curtis for discovering that the polygons were incorrectly-copied garbage.
---------------------
r276
Fixed display of PowerPC condition code bits in debugger (were backwards) and changed XER to print as hex.
---------------------
r275
Support for loading an arbitrary (non-game) CROM image.
---------------------
r274
Gracefully handle the case when a zip file contains no known Model 3 ROM set.
---------------------
r273
Converted line endings from DOS to UNIX format.
---------------------
r272
Contribution by Luciano Lopez:
- Added vs215o ROM set.
- Security board data for vs298 now also returned for vs2v991, vs299, vs299a, and vs299b, helping them run.
---------------------
r271
Some updates to Supermodel made at beginning of the year but only now got around to checking in (better late than never...):
- hooked up the remaining controls in Supermodel (except for Magical Truck Adventure which does not work at all yet). The new controls are:
* InputAnalogJoyTrigger2 and InputAnalogJoyEvent2 for the additional second trigger and event buttons that were missing from Star Wars Trilogy,
* InputRearBrake and InputMusicSelect for the rear brake and music selection buttons that were missing from Harley Davidson,
* InputAnalogGunXXX, InputAnalogTriggerXXX, InputAnalogGunXXX2 and InputAnalogTriggerXXX2 for the analogue guns of Ocean Hunter and LA Machineguns (NOTE: these controls must be calibrated in the games' service menus otherwise they will not work properly. Also, the alignment of the gun cursor does not line up very well with the mouse position at the moment, but at least the games are a bit more playable now, although still with numerous graphical glitches...)
* InputSkiXXX for the controls of Ski Champ, making the game playable now.
- hooked up existing InputViewChange control to Harley Davidson's view change button
- improved the handling of InputGearShiftUp/Down inputs so that they work better with the driving games. With Dirt Devils, ECA, Harley and LeMans this means they map directly to the game's own shift up/down controls, while with the 4-speed games such as Daytona 2, Scud Racer and Sega Rally 2, they simulate the user shifting up and down through the gears
- added defaults for the new controls to Supermodel.ini
- other small code tweaks:
* fix small bug with handling of pos/neg inputs mapping to a control with inverted range (0XFF to 0x00) - this was needed to get Ski Champ's X-axis to work properly
* removed Wait method from InputSystem and added to CThread as CThread::Sleep instead
* added FrameTimings struct to hold all frame timings in a single place
No networking code yet as just haven't had a chance to work on it since initial progress at the beginning of the year - am *hoping* might have some time to pick it up again over Christmas...
---------------------
r270
Changed output "Pause" to "pause", as it is spelled in MAME, for MAMEHooker.
---------------------
r269
Small tweak to get to compile under GCC (Unix/MacOS)
---------------------
r268
Slight tweak to changes made to sound board synchronisation code in previous commit. The previous change was necessary to ensure no deadlock when waiting for sound board thread to exit but it introduced unwanted buffer overruns (with the end result being that the sound was often speeded up) so have added an extra check in WakeSoundBoardThread to prevent this.
---------------------
r267
- CModel3::StopThreads was rather gracelessly killing threads while they were waiting on their semaphores, which works okay Windows but not on Mac OS-X where it was preventing Supermodel from exiting properly. Hence, have instead altered StopThreads to signal to threads that they should exit and wait until until they have all done so. This is much better and is what I should have done the first time around had I not been so lazy :-)!
- Also fixed a small race condition in WakeSoundBoardThread. Previously if it happened to be called just before the sound board thread had finished processing a frame's worth of audio but before it had got around to waiting on the sync condition variable then the wake notification would be lost.
---------------------
r266
- Fixed Win32 GCC Makefile.
- Reverted Nik's polygon palette index change in Models.cpp. Subtracting 1 was breaking Scud Race.
- Added an explicit typecast in Inputs.cpp, which GCC requires for some reason.
---------------------
r265
Committing various small updates that have been hanging around in my source tree for a while now:
- Added 'crosshairs' command line and config option.
- Added 'vsync' command line and config option (so far only tested on NVidia cards on Windows 7 - other graphics drivers, O/Ss or driver settings may simply chose to ignore this).
- Added fullscreen toggle within game using Alt+Enter key combination.
- Added framework for lamp outputs and 'outputs' command line and config option. So far only the lamps for driving games are hooked up in the emulator (others to be added later).
- Added an initial outputs implementation for Windows that sends MAMEHooker compatible messages (-outputs=win to enable)
- Fixed fps calculation in Main.cpp that was producing incorrect results and so giving the impression that frame throttling wasn't working properly when in fact it was.
- Fixed palette indexed colours as the index was always off by one, causing incorrect colours in various games, eg drivers' suits and flashing Start sign in Daytona 2.
- Altered caching of models so that models with palette indexed colours use the dynamic cache rather than the static one. This is so that changes in palette indexed colours appear on screen, eg the flashing Start sign on the advanced course of Daytona 2 (although currently the START message itself is not visible due to other problems with texture decoding).
- Fixed small bug in TileGen.cpp which meant both palettes were being completely recomputed pretty much with every frame. This was a significant performance hit, particularly as palette recomputation is currently being done in SyncSnapshots (it should be moved out of here at some point, although for now it's no big deal).
- Made sure all OpenGL objects and resources are deleted in Render2D/3D destructors, in particular the deleting of the VBO buffer in DestroyModelCache.
- Made sure that GLSL uniforms are always checked to see if they are bound before using them in order to stop unecessary (but harmless) GL errors.
- Altered the default texture sheet handling to use a single large GL texture holding multiple Model3 texture sheets rather than multiple GL textures as before (if required, the old behaviour can still be selected with the mulisheet fragment shader). I believe this fixes the disappearing crosshairs/corrupt GL state problem which the multisheet fragment shader seemed to be triggering somehow.
- Fixed a bug in debugger which meant memory watches were not triggering properly
---------------------
r264
Somehow John's Build.bat and Clean.bat did not get added in r262. Here they are.
---------------------
r263
- Committing Nik's timing changes: the PowerPC's DEC and TBR now count at the correct rate and time is accurately maintained between calls to the emulator. A VBlank bit was identified in the Real3D status register space and is now timed. Unfortunately, there are still some problems and not all games are perfect, but FV2, VS2, and others are working much better or perfectly.
- Added a new dump of Scud Race Plus (scudp1). Strangely, this one uses an MPC106 instead of the MPC105 used by every other Step 1.5 game...
---------------------
r262
Applied a series of patches by John Peterson:
- Fixed a printf statement in ConsoleDebugger.cpp.
- Fixed memory watches not breaking in CPUDebug.h.
- Added some helpful batch files to the VS2008 directory.
- Added support for automatic loading of parent ROM sets.
---------------------
r261
Applied Nik's fix for cyclical scene graphs. Improves Harley Davidson, Ski Champ, Emergency Call Ambulance, and Ocean Hunter.
---------------------
r260
Brought in the near clipping plane for Step 1.5+. Objects close to camera are no longer cut-off (e.g., driver arms and steering wheels in cockpit views). Note: This change should probably be applied to Step 1.0 as well in the future. For now, I am leaving the old distance because Step 1.0 coordinates need closer investigation. Bringing in the near clipping plane extends the view frustum depth and will worsen Z-buffer accuracy. Be on the lookout for Z-fighting that did not previously exist.
---------------------
r259
DirectInputSystem's initial state wasn't being initialized properly, which would sometimes result in invalid input values until keyboard or mouse was successfully acquired
---------------------
r268
Added a clear() method to VBORef and removed unsafe memset() clear.
---------------------
r257
This update fixes (hopefully) the last of the texture upload lags that were affecting some games, in particular Daytona 2 and Spikeout.
To achieve this UploadTextures no longer clears the model cache when called. Instead the cache is kept in-tact (which should help improve cache hits) and all textures referenced by models being rendered are (re-)decoded with every frame.
To help with tracking all the unique texture references contained in a model a new class TextureRefs has been added.
---------------------
r256
Byte swapped sample ROMs. This should fix the audio distortion that many users noticed. The differences are particularly noticeable in Scud Race and Daytona 2.
---------------------
r255
Forgot to update to-do list in previous revision. Added a comment to mark CRender2D::WriteVRAM() as deprecated.
---------------------
r254
Previous "optimization" contained a mistake and made things worse. Removed unnecessary clear of the bottom layer buffer. Now, if there is no bottom layer, it will not be displayed at all and glClear(GL_COLOR_BUFFER_BIT) is used instead.
---------------------
r253
Further optimization/simplification of the 2D renderer's main loop.
---------------------
r252
- Finished cleaning up and optimizing the 2D renderer.
- Fixed up color offset register support for new 2D rendering system. Now maintains 2 computed palettes for layers A/A' and B/B'.
- Fixed a minor bug in InitPalette(); VRAM was not being typecast properly.
- Fixed specular lighting bug that occurred on some OpenGL drivers because integers were not being interpreted as floats in the vertex shader.
- Began to update copyright date in some files.
- Graphics modules now use the C++-style names for C standard library headers (e.g., stdio.h -> cstdio) consistent with the rest of Supermodel.
---------------------
r251
Contour processing (discarding of pixels when alpha==0) enabled for A4L4 texture formats. Improves smoke and fire in Daytona 2.
---------------------
r250
Default SCSP balance set to 0. Was erroneously set at +50%.
---------------------
r249
- NOTE: In this revision (possibly earlier), I've started to notice some intermittent geometry glitches in Spikeout and slowdown while playing certain characters.
- Added multi-texture fragment shader to repo.
- Added a multiTexture option (enabled by default) to use multi-texturing to decode textures.
- Added some comments regarding timing to the PowerPC execution loop.
---------------------
r248
Updated fragment shaders' floating point comparisons and also some knock-on changes from SVN revision 246.
-This line, and those below, will be ignored--
M Shaders/Fragment_Flat.glsl
M Shaders/Fragment_NoSpotlight.glsl
---------------------
r247
Added OSD/Video.h to provide OSD-dependent video functionality. The static functions in here get called by Model3.cpp from within the render thread so that any OSD related rendering can also be run in parallel for a further speed increase.
Updated OSD/SDL/Main.cpp to provide the SDL implementations of the functions in OSD/Video.h.
---------------------
r246
Added support for multiple texture sheets (with up to one per Model 3 texture format) as a rather brute-force way to handle overlapping texture formats in the current 3D engine. This fixes some corrupt textures in Daytona 2 and Virtua Striker 2 (and possibly other games) and also offers a small speed increase when some scenes load multiple overlapping textures.
This feature only enables itself when a compatible shader script is loaded. Since none have been checked in yet this means it is currently disabled.
---------------------
Supermodel v0.2a Changelog:
- New, fully customizable input system. Supports any combination of
keyboards, mice, and analog and digital controllers. [Nik Henson]
- Texture offsets. Fixes models in 'Fighting Vipers 2', 'Virtual On',
cars in the 'Scud Race' and 'Daytona USA 2' selection screens, etc.
- Fixed a 2D palette bug that would cause black pixels to occasionally
turn transparent.
- Added all remaining ROM sets. [krom]
- Got some new games to boot: 'Spikeout', 'Ski Champ', 'Sega Bass
Fishing', 'Dirt Devils', etc.
- Sound support. Special thanks to ElSemi for contributing his SCSP
emulator and Karl Stenerud for allowing us to use his 68K emulator.
- Multi-threading support. Sound and drive board emulation are off-
loaded to separate threads, substantially enhancing performance.
[Nik Henson]
- Z80 emulation based on code by Frank D. Cringle and YAZE-AG by
Andreas Gerlich.
- Digital Sound Board (MPEG music) emulation courtesy of R. Belmont and
the MPEG decoder library by Tomislav Uzelac.
- Improved ROM loader. It should no longer be as easily confused by
combined ROM sets as long as unused files are removed.
- Configuration file now supports more settings and allows game-
specific customization.
- Added light gun crosshairs ('The Lost World'), enabled by default in
full screen mode and selectable by pressing Alt-I.
- Drive board and force feedback emulation for 'Scud Race', 'Daytona
USA 2', and 'Sega Rally 2'. [Nik Henson]
- Viewable display area properly clipped. Ghost artifacts no longer
appear in border regions when the resolution exceeds the display
area.
- Changed gear shifting: added a dedicated neutral gear and sequential
shifting.
- Console-based debugger (not enabled by default, must be
enabled during compile-time). [Nik Henson]
- Source code and Makefile cleanup.
---------------------
Supermodel v0.1.2 Alpha Changelog:
- Included missing GLEW files.
---------------------
Supermodel v0.1.1a Changelog:
Thanks to Nik Henson, a 64-bit Windows build is now available from the Download page! I haven't tried it myself (I don't have 64-bit Windows) but Nik says it is a little bit faster at points where the 32-bit build normally slows down. I've also made a very minor source update, adding GLEW headers that were missing. The annoying GLEW-related warnings on Microsoft Visual C++ are now suppressed.
---------------------
Supermodel v0.1a Changelog:
First Release.
---------------------


For compatibility purposes, you can download the previous builds on this folder right here.

As for custom music, your MP2 files has to be converted to 32000 Hz MP2 and place it into the root of Supermodel's folder and make sure your MusicVolume has to be set to 100 to avoid clipping. The original MP2 file was 128 Kbps, so you need to lower down the volume of your MP2 file, the more the bitrate was getting higher, the more the music crackles.

Supported Games for Custom MP2 (as of now) were:
Daytona USA 2 / Daytona USA 2: Power Edition
Scud Race / Scud Race Plus
Sega Rally 2
Star Wars Trilogy Arcade
SpikeOut
SpikeOut: Final Edition
Star Wars Trilogy Arcade

For more information about custom music file, check the Custom MP2 text file that comes within the zip file.

This attachment below is for people who want to compile Supermodel (like on my compiled builds) with fixed BGM and have Custom Music Feature.
Attachments
DSB mod with custom BG code.zip
This modded DSB is for people who want that feature for compilers.
(14.01 KiB) Downloaded 128 times
Last edited by Jiterdomer on Sat Mar 25, 2017 1:19 am, edited 49 times in total.
Feel the heartbeat of my machine through this tight seat. I feel every motion of my machine
Image
User avatar
Jiterdomer
 
Posts: 425
Joined: Mon Sep 26, 2011 6:37 pm
Location: Los Angeles, CA

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby Abelardator2 » Sun May 29, 2016 8:18 am

Each new SVN I like better.... :lol:
User avatar
Abelardator2
 
Posts: 200
Joined: Fri Sep 02, 2011 1:43 pm
Location: Spain

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby terminator2k2 » Sun May 29, 2016 8:21 am

cheers Jiterdomer for doing this....much appreciated :)
terminator2k2
 
Posts: 35
Joined: Sat Apr 02, 2016 5:30 am

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby ConversusVans » Sun May 29, 2016 8:29 am

I'm always keeping up to date with builds. I don't care about a "new release". I'm just happy I can play Harley-Davidson & L.A. Riders at home, nearly perfectly. THAT alone is outstanding!
- Conversus W. Vans (Paul)
User avatar
ConversusVans
 
Posts: 160
Joined: Sun Apr 27, 2014 3:27 pm
Location: The Abandoned Land

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby fla56 » Sun May 29, 2016 12:53 pm

hi, thanks for this but 64bit builds not running for me via Supermodel-UI, any ideas?

happening for EmuCR builds too in case that helps...

Win10 64bit i7-980x
fla56
 
Posts: 1
Joined: Sun May 29, 2016 5:15 am

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby Kimi » Sun May 29, 2016 1:56 pm

Hello everyone.
I am new to the forum but I am from the start !!
I wonder if emulating netlink is expected soon?
seen the great progress of this emulator I am eager to fulfill connect my twin !!
Once again thank you all for your great work !!
Last edited by Kimi on Mon May 30, 2016 2:36 am, edited 1 time in total.
Kimi
 
Posts: 3
Joined: Sun May 29, 2016 1:12 pm

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby CCCP1982 » Sun May 29, 2016 7:30 pm

Jiterdomer спасибо за syn версии и за новый раздел ! .
Ян , Барт MODEL 3 должен жить ! это великие игры на MODEL 3 .
SEGA MODEL 3
User avatar
CCCP1982
 
Posts: 115
Joined: Thu Apr 12, 2012 12:27 pm
Location: City of Murmansk

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby Jiterdomer » Sun May 29, 2016 7:48 pm

fla56 wrote:hi, thanks for this but 64bit builds not running for me via Supermodel-UI, any ideas?

happening for EmuCR builds too in case that helps...

Win10 64bit i7-980x


Supermodel UI is outdated, use Emuloader. If you don't like Emuloader, you need to input the command line to run the game and setting up controls (only if you want to use Raw Input for Lightgun games).
Last edited by Jiterdomer on Mon May 30, 2016 1:24 am, edited 1 time in total.
Feel the heartbeat of my machine through this tight seat. I feel every motion of my machine
Image
User avatar
Jiterdomer
 
Posts: 425
Joined: Mon Sep 26, 2011 6:37 pm
Location: Los Angeles, CA

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby CCCP1982 » Mon May 30, 2016 12:01 am

Я использую GUI от самого разработчика Барта .
Supermodel-UI v0.9 (build 151) неплох очень удобный .
Attachments
GUI.png
GUI.png (62.69 KiB) Viewed 18814 times
SEGA MODEL 3
User avatar
CCCP1982
 
Posts: 115
Joined: Thu Apr 12, 2012 12:27 pm
Location: City of Murmansk

Re: Supermodel Latest Builds for Download (currently SVN 436

Postby Jiterdomer » Mon May 30, 2016 1:46 am

Stay tuned as I'm going back from late night shift about 4 1/2 hours left for SVN 437!!
Feel the heartbeat of my machine through this tight seat. I feel every motion of my machine
Image
User avatar
Jiterdomer
 
Posts: 425
Joined: Mon Sep 26, 2011 6:37 pm
Location: Los Angeles, CA

Next

Return to The Catwalk

Who is online

Users browsing this forum: Bing [Bot], Majestic-12 [Bot] and 8 guests