English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 07 February 2018, 00:16   #1
rsn8887
Registered User
rsn8887's Avatar
 
Join Date: Oct 2006
Location: USA
Posts: 781
How did Toni fix PP Hammer and Spindizzy Worlds flicker?

I am trying to wrap my head around the old UAE codebase of UAE4All2, since I have it running on Vita with lots of nice options such as custom controls, shaders, touch controls, and fast. Naturally, all the old UAE bugs are present from fifteen years ago. How has it been that long?

I would like to fix one bug, the "flicker in PP Hammer and Spindizzy Worlds." It was fixed by Toni Wilen in 0.9.91.

Code:
WinUAE 0.9.91 (19.08.2004) "WinUAE 1.0 public beta #2" 
====================================================== 

Bugs in 0.9.90 fixed: 

- Multiple directory filesystem emulation bugs (files getting truncated 
to zero if opened in rw-mode, read-only files failing to open and some 
operations returning incorrect AmigaDOS error codes) 
- AGA horizontal scrolling bug in some games. 
- Stereo separation setting was not always set properly. 
- Another task-switching Direct3D/OpenGL-mode problem. 

Other fixes and updates: 

- Picasso96 black screen after CTRL-ALT-DEL. 
- bsdsocket update, fixes ~2 second pause on some systems and 
added internet connection off-line check (Stephen Riedelbeck) 
- CPU idle calculation update. CPU Idle-setting may need re-adjusting. 
- PP Hammer and Spindizzy Worlds graphics flicker fixed in non-cycle 
exact mode (again..) 

New features: 

- "uae-configuration" Amiga side program that can list current configuration, 
change all configuration parameters and send any inputevent on the fly. 
- Both right alt and ctrl are mapped to firebutton in keyboard layout B 
(some laptops don´t have right ctrl key). 
- disable quickstart-mode if using -f or -config= -command 
line parameters
It does not require cycle exact, which is good. Is there any way I can see the code changes that fixed the bug. Or, Toni, do you remember how you fixed this 15 years ago

Also, I would love to implement 4 player adapter into this old codebase, but I cannot even find where the support for it is in the modern code, and I have no clue how to transplant that into the old code. The old code has very simple joy0, joy1, and mousehack functions only.
rsn8887 is offline  
AdSense AdSense  
Old 07 February 2018, 00:25   #2
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 44
Posts: 6,909
more compatible blitter speed in non cycle-exact mode (Spindizzy Worlds, PP Hammer..)
Galahad/FLT is offline  
Old 07 February 2018, 03:25   #3
rsn8887
Registered User
rsn8887's Avatar
 
Join Date: Oct 2006
Location: USA
Posts: 781
Thanks I wish I could see the changed lines of code that made this work. It might be easy to back port into UAE4All2, if I could only see the changes. I don't think GitHub existed back then, otherwise I could just look at the commit.
rsn8887 is offline  
Old 07 February 2018, 04:38   #4
dalek
Registered User

 
Join Date: Nov 2014
Location: NSW/Australia
Posts: 192
you could compare source tarballs here: https://sourceforge.net/projects/winuae/files/WinUAE/

but sounds like you would be better of backporting the UAE4All2 changes to a newer WinUAE core.
dalek is offline  
Old 07 February 2018, 16:53   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,384
One possible change: blitter approximate timing also included number of bitplanes active, increasing time before blitter is finished. (blitter_slowdown())
Toni Wilen is online now  
Old 07 February 2018, 19:00   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,384
Quote:
Originally Posted by rsn8887 View Post
Thanks I wish I could see the changed lines of code that made this work. It might be easy to back port into UAE4All2, if I could only see the changes. I don't think GitHub existed back then, otherwise I could just look at the commit.
It didn't exist but nearly everything is there since 0.8.26-something. When I started using github, I commited every winuae source version I had, one by one.
Toni Wilen is online now  
Old 14 February 2018, 01:02   #7
rsn8887
Registered User
rsn8887's Avatar
 
Join Date: Oct 2006
Location: USA
Posts: 781
Quote:
Originally Posted by Toni Wilen View Post
It didn't exist but nearly everything is there since 0.8.26-something. When I started using github, I commited every winuae source version I had, one by one.
Thank you Toni, I found it. I don't understand much of it, but it turns out blitter_slowdown() was completely disabled in UAE4All2. According to a comment in the code, it was disabled because it caused graphical glitches in Shadow Of the Beast.

I am learning. I know that UAE4All2 has three blitter modes: immediate, normal, and improved.

From my own experience with the emulator, immediate blitter mode seems to work the best (no flicker in Rick Dangerous, less flicker in Lionheart etc.).

But none of the three modes ever had blitter_slowdown() enabled. It was completely commented out in the source. I am thinking of enabling it again, maybe only in normal mode.

Should blit_slowdown() be active even if currprefs.immediate_blits is set to true? Or should blit_slowdown be bypassed in this case to make blitting truly immediate?

EDIT: I enabled blit_slowdown() (in normal mode only for now), and it works! The flicker in PP Hammer and Spindizzy Worlds is gone. Thanks for your help!

EDIT2: And in newer versions of WinUAE, blit_slowdown seems to be ignored if immediate_blits is true, as I thought it should. That's how it is now in UAE4All2 Vita, too.

EDIT3: Fixed version of UAE4All2 Vita is here: https://github.com/rsn8887/uae4all2/releases

Last edited by rsn8887; 15 February 2018 at 00:01.
rsn8887 is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Request] Spindizzy Worlds - a better looking font Retro-Nerd project.WHDLoad 6 09 December 2013 00:50
flicker fix Marcuz request.UAE Wishlist 2 01 September 2006 21:21
spindizzy worlds jonapaloma Retrogaming General Discussion 6 14 December 2004 13:54
Spindizzy Worlds WHDload TjLaZer request.Old Rare Games 1 13 September 2004 01:21
Spindizzy Worlds - argh! andreas support.Games 3 06 December 2003 16:37

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 13:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.06572 seconds with 14 queries