English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 08 December 2018, 23:23   #1
volvo_0ne
Registered User

 
Join Date: Mar 2015
Location: Sheffield UK
Posts: 360
Immediate Blitter & Wait for Blitter...

Just a question....

Is Immediate blitter mode more or less compatible with real hardware?
volvo_0ne is offline  
Old 08 December 2018, 23:25   #2
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,370
Quote:
Originally Posted by volvo_0ne View Post
Just a question....

Is Immediate blitter mode more or less compatible with real hardware?
Less.
ross is offline  
Old 09 December 2018, 01:28   #3
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,427
Quote:
Originally Posted by volvo_0ne View Post
Just a question....

Is Immediate blitter mode more or less compatible with real hardware?
Its less, because what immediate blitter mode does is wait for the blitter to finish before continuing, whereas the software in question might not have had a blitter wait at all.

Of course not waiting for the blitter to finish before doing another blit seems stupid, but when programmers thought they were only ever going to be dealing with a 68000 Amiga and not 68020+, then the games they programmed ran without problems and no graphic corruption.
Galahad/FLT is online now  
Old 09 December 2018, 07:57   #4
Rotareneg
Registered User

 
Join Date: Sep 2017
Location: Kansas, USA
Posts: 110
You're describing the "Wait for Blitter" setting. Immediate Blitter is the "turbo blitter" setting that makes blits finish immediately instead of trying to simulate a realistic blitter speed, nice for speeding up some software, or horribly breaking others.
Rotareneg is offline  
Old 09 December 2018, 10:11   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,522
"Wait for blitter" works like normal unless CPU attempts to access blitter registers while previous blit is still active. In this case it temporarily halts the CPU and releases it when previous blit has finished.
Toni Wilen is offline  
Old 09 December 2018, 13:12   #6
Mclane
Old retro god.

Mclane's Avatar
 
Join Date: Apr 2002
Location: Northolt, West London
Age: 58
Posts: 633
Hi Toni (or anyone tech enough to answer correctly),

What is it that makes the emulator still need these immediate blit settings, what stops the emulation from handling it exactly as the hardware?

I ask simply because I've seen the emulation come on in area's I thought were already complete and in other places where it feels like it is a real 1200 or A500 being used. That's a huge credit to you and the dedication to emulation completeness but what and I imagine its the PC architecture, is holding back those blit items?

Too tight a need for cycles, no processor time to match?

I guess the real question is can those settings ever be irradiated?

And hey, no throwing the crystal ball, do you know how hard it is to try and find if this question has been answered with the right set of searches

Paul...
Mclane is offline  
Old 09 December 2018, 13:50   #7
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,291
Quote:
Originally Posted by Mclane View Post
What is it that makes the emulator still need these immediate blit settings, what stops the emulation from handling it exactly as the hardware?
These settings are needed for buggy code, the emulation doesn't require them at all. They are just there to make buggy code run on faster machines.

Quote:
Originally Posted by Mclane View Post
I guess the real question is can those settings ever be irradiated?
No. They are useful.
StingRay is online now  
Old 09 December 2018, 15:14   #8
Mclane
Old retro god.

Mclane's Avatar
 
Join Date: Apr 2002
Location: Northolt, West London
Age: 58
Posts: 633
But surely that's a bastardisation of emulation and basically a 'hack', technically should the code not run as it was intended to run on the desired emulated machine with maybe a 'special machine choice for situation where the emulation is wanted to cheat

Basically it sounds like its making a Frankenstein emulation choice?

(I can hear that crystal ball spining up on its mega fast journey to the side of my head)

Just interested and with all the many many emulators I've tested (trust me, I go back before the Ark!) the real aim has been to get the emulator as a near perfect match for the real machine.
Mclane is offline  
Old 09 December 2018, 15:22   #9
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,522
Lots of users use JIT and fastest possible (=faster than any real accelerator). Immediate blitter is very easy hack to fix most common program bug in blitter handling. EDIT: no user wants to see graphics glitches and would blame it emulator bug even if it also happens when using real 68040+ system.. This is not the only compatibility hack which is enabled when fast mode is enabled. Audio is another, lots of programs would become totally silent or miss notes without hack. (cpu loop "dma wait").

Accurate 68020+ CPU emulation is also extremely complex (and currently practically impossible to emulate 100% because internal cycle sequences are unknown) and not really worth it unless you want to emulate plain unexpanded A1200.

Most other 8/16-bit platforms does not have so huge CPU/memory performance difference between different configurations (unexpended vs 68040+ accelerator board)
Toni Wilen is offline  
Old 09 December 2018, 16:10   #10
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 43
Posts: 16,295
In my collection, out of 2600 configurations, these 16 games need "Immediate Blitter" ticked otherwise there are small issues:

Quote:
Search "immediate_blits=true" (16 hits in 16 files)
C:\WinUAE\Configurations\1943 - The Battle of Midway.uae
C:\WinUAE\Configurations\Altered Beast.uae
C:\WinUAE\Configurations\Ballistix.uae
C:\WinUAE\Configurations\Batman - The Caped Crusader.uae
C:\WinUAE\Configurations\Bazza 'n' Runt.uae
C:\WinUAE\Configurations\Cadaver - Gate House [demo].uae
C:\WinUAE\Configurations\Dizzy's Excellent Adventures - Kwik Snax, Bubble Dizzy, Prince of the Yolkfolk.uae
C:\WinUAE\Configurations\Dune.uae
C:\WinUAE\Configurations\Eye of the Beholder II - The Legend of Darkmoon [AGA] [MS-DOS conversion].uae
C:\WinUAE\Configurations\Eye of the Beholder [AGA] [MS-DOS conversion].uae
C:\WinUAE\Configurations\Firefly.uae
C:\WinUAE\Configurations\Flood.uae
C:\WinUAE\Configurations\G-LOC - R360 Air Battle.uae
C:\WinUAE\Configurations\Puzzle BOBS [AmigaCD].uae
C:\WinUAE\Configurations\The Games - Summer Edition.uae
C:\WinUAE\Configurations\Uropa² - The Ulterior Colony [AmigaCD].uae
DamienD is offline  
Old 09 December 2018, 17:04   #11
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,370
Quote:
Originally Posted by DamienD View Post
In my collection, out of 2600 configurations, these 16 games need "Immediate Blitter" ticked otherwise there are small issues:
Hi Damien, this is interesting
As 'immediate blitter' is an unnatural requirement, these used versions need a fix.
Can you somehow remember/derive what is the glitch they present?
ross is offline  
Old 09 December 2018, 17:39   #12
Steve
Truth seeker...
Steve's Avatar
 
Join Date: Jul 2001
Location: UK
Age: 41
Posts: 2,286
Quote:
Originally Posted by ross View Post
Hi Damien, this is interesting
As 'immediate blitter' is an unnatural requirement, these used versions need a fix.
Can you somehow remember/derive what is the glitch they present?
I have noticed problems with 'Sensible World of Soccer' if you don't enable the immediate blitter. The problem is only minor but it affects the sprite graphics during the game 'team sheet' screen before a match and also the spinning logo during the game which glitches out. If you enable 'immediate blitter' (while the emulation is already running) the problem doesn't correct itself!

It only works if you select 'immediate blitter' from the start of emulation.

See attached screenshots.
Attached Thumbnails
Click image for larger version

Name:	SWOS Save Disk_005.png
Views:	105
Size:	69.9 KB
ID:	61156   Click image for larger version

Name:	SWOS Save Disk_006.png
Views:	108
Size:	66.9 KB
ID:	61157  
Steve is offline  
Old 09 December 2018, 17:43   #13
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,427
Just to clarify what Ross is saying and DamienD's findings are.... if a game was written with a 68000 A500 in mind AND has graphical problems on a real A500 because of the blitter, then the game itself is buggy, NOT WinUAE.

WinUAE is correcting a problem that shouldn't occur on a 68000, its generally to fix problems with faster processors.

So if any on that list that Damien has provided have problems on a real A500, then as Ross said, they require fixing.

Although G-Loc 360 is such a pile of shit, I couldn't bring myself to boot it up again.
Galahad/FLT is online now  
Old 09 December 2018, 18:04   #14
Mclane
Old retro god.

Mclane's Avatar
 
Join Date: Apr 2002
Location: Northolt, West London
Age: 58
Posts: 633
So in some respects its correcting abnormal configurations rather than out of the box machine specs, that would make sense and a fair fix but shouldn't those users using 68030 cpus etc expect a bit of an issue here and there, I know I had all sorts with my 68030 board in my 1200.

I understand folk would moan at the emu rather than these future based upgrades to the initial machines and I can see a reason to help them, I presume adding the immediate blitter does not cause any problems in non fixing needed games?

I'm not trying to pick holes in the emulator, it just was a question I meant to ask ages ago and for the emulation purists it seems a weird thing to add hacks to fix poor programming if it would cause the same issue on the real hardware.

I hope people understand where I'm coming from, like I say I was around when home computers were not even out and my living was selling old (boo hiss) Atari 8 bit machines so I've seen soo many emulators come, go or stay and often got involved in beta testing them so precise emulation always seemed the main aim with as few (if any) hacks as possible..
Mclane is offline  
Old 09 December 2018, 18:49   #15
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,427
Quote:
Originally Posted by Mclane View Post
So in some respects its correcting abnormal configurations rather than out of the box machine specs, that would make sense and a fair fix but shouldn't those users using 68030 cpus etc expect a bit of an issue here and there, I know I had all sorts with my 68030 board in my 1200.

I understand folk would moan at the emu rather than these future based upgrades to the initial machines and I can see a reason to help them, I presume adding the immediate blitter does not cause any problems in non fixing needed games?

I'm not trying to pick holes in the emulator, it just was a question I meant to ask ages ago and for the emulation purists it seems a weird thing to add hacks to fix poor programming if it would cause the same issue on the real hardware.

I hope people understand where I'm coming from, like I say I was around when home computers were not even out and my living was selling old (boo hiss) Atari 8 bit machines so I've seen soo many emulators come, go or stay and often got involved in beta testing them so precise emulation always seemed the main aim with as few (if any) hacks as possible..
The 'problem' is that the Amiga survived longer than developers expected. Amigas with 68020 and other faster processors were not seen as games machines, they were certainly more expensive by quite some degree, so if Xenon 2 didn't work on those Amigas, developers considered that the market with those machines for games to work was so small as to be ok to ignore, their core spec was a 68000 based A500 or very similar spec Amigas.

So with the release of the A1200 and A4000, people simply expect software to work on them, because lots of software did, without problems.

WinUAE is a great emulator, and if you keep it to precise settings, games written for A500 that had graphical problems on a real A1200 will look the same in emulation.... i.e. the same graphical glitches will occur.

However, forcing a user to only experience games through emulation as precisely as possible doesn't always lend itself to a great emulation experience.

What you have to remember is that lots of people using WinUAE, didn't EVER have an Amiga back in the day, they don't care why a game doesn't work correctly, they don't understand why it doesn't work correctly, but if they are told "tick this box to fix graphic glitches" and that option works, then they will be happy and WinUAE is doing its job.

In the same way that people did AGA fixes for A1200 to fix A500 games to work on faster machines, most people didn't understand why the games didn't work, they just wanted them to work.

For those of us that need WinUAE to act like a real Amiga, it can and does.
Galahad/FLT is online now  
Old 09 December 2018, 20:48   #16
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,291
Quote:
Originally Posted by Mclane View Post
But surely that's a bastardisation of emulation and basically a 'hack'
That's the advantage of using emulators instead of a real machine, you can do things easily that would require quite a bit of work on the real deal.

Of course it's a "hack" and if games/demos were coded with faster CPUs in mind it wouldn't be necessary.

Quote:
technically should the code not run as it was intended to run on the desired emulated machine with maybe a 'special machine choice for situation where the emulation is wanted to cheat
Code does run as intended if these options aren't used. And nobody forces you to use them.

Quote:
Basically it sounds like its making a Frankenstein emulation choice?
I'd rather say it's making the emulator more user friendly.
StingRay is online now  
Old 09 December 2018, 21:30   #17
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 43
Posts: 16,295
Quote:
Originally Posted by ross View Post
Hi Damien, this is interesting
As 'immediate blitter' is an unnatural requirement, these used versions need a fix.
Can you somehow remember/derive what is the glitch they present?
Sorry been busy

...not off the top of my head; except for these:
  • Ballistix - balls on screen where selecting number of players don't move.
  • Eye of the Beholder [AGA] [MS-DOS conversion] - corrupt character icons.
  • Eye of the Beholder II - The Legend of Darkmoon [AGA] [MS-DOS conversion] - corrupt character icons.
  • Uropa² - The Ulterior Colony [AmigaCD] - slightly corrupt graphics in the intro video.
DamienD is offline  
Old 09 December 2018, 23:17   #18
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,370
I looked quickly so I might have overlooked something:

Quote:
Originally Posted by DamienD View Post
[*]Ballistix - balls on screen where selecting number of players don't move.
With Quickstart A500 default config (KS1.3/512+512), balls are moving.
Balls are sprites so unrelated with blitter, maybe your setting miss a CE opt and for a few different cycles there are desyncs? Or something in recent WinUAEs solved it?

Quote:
[*]Eye of the Beholder [AGA] [MS-DOS conversion] - corrupt character icons.
[*]Eye of the Beholder II - The Legend of Darkmoon [AGA] [MS-DOS conversion] - corrupt character icons.
Tested only the former with Quicstart A1200+4MB (so a full CE), no problem on character icons. I suppose the latter share same code.
Can be that you have disabled CE to speed up the game(s)?

Quote:
[*]Uropa² - The Ulterior Colony [AmigaCD] - slightly corrupt graphics in the intro video.
Tested on Quickstart A600+4MBfast (but probably 2MB chip only or lower fast ram it would allow a start). No glitches.
But for a faster processor there are glitches everywhere due to a tight sync between CPU and blitter that is no more.
So yes, on 020+ you need patched intro code or 'immediate blitter' in WinUAE

Ciao!
ross is offline  
Old 09 December 2018, 23:31   #19
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 43
Posts: 16,295
Quote:
Originally Posted by ross View Post
With Quickstart A500 default config (KS1.3/512+512), balls are moving.
Balls are sprites so unrelated with blitter, maybe your setting miss a CE opt and for a few different cycles there are desyncs? Or something in recent WinUAEs solved it?
Maybe something in recent WinUAEs solved it; I added "Ballistix" many years ago now...

Quote:
Originally Posted by ross View Post
Tested only the former with Quicstart A1200+4MB (so a full CE), no problem on character icons. I suppose the latter share same code.
Can be that you have disabled CE to speed up the game(s)?
Again, maybe something in recent WinUAEs solved it; I posted about this issue in the related "EOB AGA" thread when I initially added both games.

Quote:
Originally Posted by ross View Post
Tested on Quickstart A600+4MBfast (but probably 2MB chip only or lower fast ram it would allow a start). No glitches.
But for a faster processor there are glitches everywhere due to a tight sync between CPU and blitter that is no more.
So yes, on 020+ you need patched intro code or 'immediate blitter' in WinUAE

Ciao!
Gotcha

Feel free to check the others I've listed if you can be bothered
DamienD is offline  
Old 10 December 2018, 14:08   #20
mcbpete
Zone Friend
mcbpete's Avatar
 
Join Date: Oct 2004
Location: London, England
Age: 37
Posts: 192
Send a message via MSN to mcbpete Send a message via Yahoo to mcbpete
Got myself a bit confused here .... So which is combo the most 'accurate' to the hardware: Ticking 'Wait for blitter' or leaving it unticked? I'm guessing ticking 'Immediate blitter' unticks 'Wait for blitter' (and vice versa), but if they're both unticked does it wait for blitter or not ?!
mcbpete is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Blitter C2P? How? Samurai_Crow Coders. Asm / Hardware 21 24 April 2018 20:12
"Wait for Blitter"... DamienD support.WinUAE 3 01 April 2017 22:09
Blitter Mimterm Help sandruzzo Coders. Asm / Hardware 7 19 April 2016 18:52
Blitter busy flag with blitter DMA off? NorthWay Coders. Asm / Hardware 9 23 February 2014 22:05
Please help me!! Blitter pain! h0ffman Coders. Asm / Hardware 5 15 June 2013 19:59

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 22:56.


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