English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 07 October 2018, 12:30   #41
ross
Sum, ergo Cogito

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,335
Quote:
Originally Posted by Toni Wilen View Post

EDIT: One correction in 32-pixel wide sprites: if FMODE has normal 32-bit sprite mode enabled (FMODE bit 2 set), both 16 pixel halves contain written data. Only if FMODE bit 3 is set (without bit 2 being set = sprite DMA mode works strangely) results in first 16 pixel having data bus contents and last 16 pixels contain written data.
This make more sense to me (and is why I've demanded about double CAS usage differences in a previous message).
So all is time related: early fetched data for the double CAS mode is lost and that one on bus used instead.

Quote:
Remaining unknown: sometimes first two 16-pixel sprite "parts" contains duplicated chipset data.
I suppose for the 64bit mode.
Can be even this related to some double CAS timing?
ross is offline  
Old 07 October 2018, 13:10   #42
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,107
Quote:
Originally Posted by Toni Wilen View Post
Remaining unknown: sometimes first two 16-pixel sprite "parts" contains duplicated chipset data.
It seems to happen if previous cycle before $144 write was bitplane DMA cycle, in this situation first 32 pixels of sprite data is replaced with current bitplane data. Data written to $144 is only visible in last 32 pixels of sprite. Only affects 64 pixel wide sprites.

Interestingly it is always whole 32-bits of bitplane data, even if bitplane fetch mode is 0. Another proof is that if bitplane pointer is not long word aligned (word aligned only), sprite's first 32 pixels contain first 16 pixels of bitplane data duplicated.

So apparently Alice always does 32-bit fetches.

EDIT: Lisa most likely uses same buffers for both sprites and bitplanes because situation where SPRxDATx gets DMA updated _after_ bitplane DMA can never happen.

Last edited by Toni Wilen; 07 October 2018 at 13:54. Reason: previous, not following cycle
Toni Wilen is offline  
Old 07 October 2018, 13:42   #43
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,107
This is also emulated now. Yes, probably not worth the trouble but because UAE is used for development (I want it to be useful for low level development), it needs to handle bad situations accurately instead of showing "expected too correct" results.
Toni Wilen is offline  
Old 07 October 2018, 13:50   #44
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 632
Quote:
Originally Posted by ross View Post
Ah, and thanks roondar for your last 'proof of concept'.
You're welcome, though I admit I mostly did all of this to satisfy my curiosity

Quote:
Originally Posted by Toni Wilen
This is also emulated now. Yes, probably not worth the trouble but because UAE is used for development (I want it to be useful for low level development), it needs to handle bad situations accurately instead of showing "expected too correct" results.
I'm glad for your effort, I'd much rather have the same behaviour in UAE than not
roondar is offline  
Old 12 October 2018, 06:15   #45
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 47
Posts: 1,090
I am late to the party but what a party it is!
Great effort roondar and fantastic idea, both for OCS and AGA.

I agree with you regarding the limitations of the Dual Playfield mode,
7 + 8
is awfully limiting and it would have been so much more useful to have more varied combinations.
The sad part being that the Amiga has enough DMA bandwidth to display a
15 + 4
and even a
15 + 16
Dual Display mode as well as enough color registers for both. Why they decided to cap each playfield bit depth to 3 was already a mystery for me in 1992 and it still is.

Moreover, a
15 + 4
Dual Playfield mode would only require as much DMA bandwidth as a HalfBrite mode and would still allow to use sprites on top of it as well as freeing cycles for Blitter and CPU.

But hey, enough useless regrets, once again, great idea and fantastic effort! Keep it up.
I love your video as well, looking forward to your other articles/videos.
ReadOnlyCat is offline  
Old 12 October 2018, 15:53   #46
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 632
Yeah, Dual Playfield mode would have been nicer with more split options.

I'm guessing the split being as is might be a technical issue (it may just be much easier to have one option, namely odd/even bitplanes and harder that I think for different splits). Not having a 15+16 split is kind of understandable though, that would use as much DMA cycles as a 16 colour hires screen - which would really limit the amount of bobs etc that can use used on such a mode.

Oh well, perhaps be happy with what we got - it wasn't all that bad for 1985

I'll think about some new effect/thing to do in the meantime. I enjoyed making that video quite a bit.
roondar is offline  
Old 12 October 2018, 17:41   #47
DanScott
Lemon. / Core Design

DanScott's Avatar
 
Join Date: Mar 2016
Location: Belgrade, Serbia
Posts: 319
Quote:
Originally Posted by roondar View Post
Not having a 15+16 split is kind of understandable though, that would use as much DMA cycles as a 16 colour hires screen
Not to mention the fact that there are not 8 bitplanes for that either
DanScott is offline  
Old 12 October 2018, 17:42   #48
DanScott
Lemon. / Core Design

DanScott's Avatar
 
Join Date: Mar 2016
Location: Belgrade, Serbia
Posts: 319
Quote:
Originally Posted by roondar View Post
Oh well, perhaps be happy with what we got - it wasn't all that bad for 1985
That's all part of the joy of this little bag of tricks
DanScott is offline  
Old 15 October 2018, 20:08   #49
Steril707
OCS rocks!

 
Join Date: Sep 2016
Location: Amiga Island
Posts: 494
Quote:
Originally Posted by ReadOnlyCat View Post
The sad part being that the Amiga has enough DMA bandwidth to display a
15 + 4
That would be my most wanted feature, if I could go back in time and ask them OCS designers something.

With this playfield split setup, the OCS Amiga would have been a muuuuuch more competitive machine.
Steril707 is offline  
Old 15 October 2018, 22:23   #50
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 632
Colours wise, yes. But it would still have lost pretty badly to the 16 bit consoles in the 'number of objects on screen before it starts slowing down' fight. Not that this is in any way surprising or a mark against the machine.

I still feel it did pretty good against VRAM powered console hardware that was 3 or 5 years newer, all things considered
roondar is offline  
Old 02 December 2018, 17:55   #51
kamelito
Zone Friend
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 929
Quote:
Originally Posted by Toni Wilen View Post
Executable that shows the "problem" is fine. I'll write my own test later, I only want confirmed test case first.
@Toni,
Are all the tests cases you wrote for testing WinUAE accuracy available somewhere? It could be useful for other emulators or FPGA implementation.
kamelito is offline  
Old 02 December 2018, 18:43   #52
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,107
Quote:
Originally Posted by kamelito View Post
@Toni,
Are all the tests cases you wrote for testing WinUAE accuracy available somewhere? It could be useful for other emulators or FPGA implementation.
No, they are only quick hacks that show confusing graphics garbage differently..
Toni Wilen 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
Any way to free sprite 0 (mouse pointer)? StingRay Coders. System 9 19 October 2017 10:43
Parallax scrolling layer with sprites possible? phx Coders. Asm / Hardware 21 12 July 2015 19:15
UAE Scripting Layer FrodeSolheim support.FS-UAE 15 26 January 2014 16:56
Opus Magellan source is free now! OlafSch Amiga scene 5 18 December 2012 17:43
Opus Magellan source is free now OlafSch News 0 18 December 2012 12:34

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 11:24.


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