-
Notifications
You must be signed in to change notification settings - Fork 2.2k
sega/model2: Various improvements #14592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Moved geo_parse() and frame number update to start of vblank; fixes high score scrolling in segawski, 2D palette in dynamcopc, and 3D graphics in bel not displaying after first booting up - Z-Sort mode value uses an exponent point to adjust the z-value scale - Merged model2_3d_process_quad() and model2_3d_process_triangle() into a single template function, since most of the code was identical - Original Model 2 does have FIFO control; it uses the same 315-5673 buffer controller as Model 2A and 2C - Clear burst stall when resetting the i960; prevents games hanging on soft reset
|
Note that moving geo_parse to the start of scanline 384 means it's after screen_update. So 1 frame delay compared to before, is that something you intended? |
|
Generally speaking a renderer displays the previously prepared framebuffer and swaps drawing at vblank time, it's pretty much settled that at least one frame of lag should happen (in this case there's also a 30 Hz setting that iirc most games uses). |
The emulated screen for Model 2 uses the attribute When we eventually emulate the geometry DSP to get Last Bronx and Top Skater working properly it will involve the geometry DSP processing the T&L for frame N while the i960 and copro are processing the game logic for frame N+1, so an extra frame of latency will be inevitable. |
That should be renamed to just |
Done :-) I also renamed |
Believe it was made that way to mimic what So yes for the conversion but make sure that nothing breaks in the process. |
- Use static_assert for model2_3d_process_polygon() - Remove all excess spaces inside parentheses in model2_v.cpp
I left it with I've tested with the vblank code moved from |
geo_parse()and the frame number update to the start of vblank; this fixes high score scrolling insegawski, 2D palette indynamcopc, and 3D graphics inbelnot displaying after first booting up.srallycexceed the maximum exponent and so are not displayed properly.model2_3d_process_quad()andmodel2_3d_process_triangle()into a single template function, since most of the code was identical.