English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 06 September 2009, 02:55   #1
FrenchShark
FPGAmiga rulez!
 
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
EHB sprites with AGA chipset ?

Hello,

I am just wondering if the sprites will have EHB colors with the AGA chipset if :
- We have 6 bitplanes with BPLCON2.KILLEHB = 0
- ESPRM = 0010 and OSPRM = 0010 (colors 33 - 47 for the sprites)
Do we have half-brite sprites or is it just on the bitplanes ?

Regards,

Frederic
FrenchShark is offline  
Old 06 September 2009, 14:53   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
I haven't tested but I am absolutely sure bitplanes and sprites have separate processing path until priority selection logic merges sprite or bitplane pixels.

There is no HAM or DPF sprites either
Toni Wilen is offline  
Old 16 September 2009, 06:07   #3
FrenchShark
FPGAmiga rulez!
 
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
Quote:
Originally Posted by Toni Wilen View Post
I haven't tested but I am absolutely sure bitplanes and sprites have separate processing path until priority selection logic merges sprite or bitplane pixels.

There is no HAM or DPF sprites either
Hello Toni,

just a follow-up on this topic : after implementing the sprites and bitplanes display pipeline, I think you are totally right on the separate path.

I actually discovered that a double color palette is even necessary to correctly render the HAM bitplanes with sprites on top.

I still have a question about BPLCON4.BPLAM : under WinUAE (variable "bplxor"), it is only implemented for HAM modes.
Moreover, I am surprised that it alters the HAM commands. It would have been smarter for C= to put it on the color index path only so we could get 4 x 64 color palettes in HAM8 by poking bits BPLAM7 and BPLAM6 with the copper.
What about the other modes ? Dual playfield ? Half-brite ?
Can we swap palette and get 512 colors on screen in Half-brite mode ?

Something else : are you sure that the HAM6 mode on the AGA chipset should clear the lowest R,G or B nibble of the "ham_lastcolor" variable ? It should be more logical to duplicate the upper nibble to the lower nibble, like it is done with the palette handling.

in drawing.c:
case 0x10: ham_lastcolor &= 0xFFFF00; ham_lastcolor |= (pv & 0xF) << 4; break;
case 0x20: ham_lastcolor &= 0x00FFFF; ham_lastcolor |= (pv & 0xF) << 20; break;
case 0x30: ham_lastcolor &= 0xFF00FF; ham_lastcolor |= (pv & 0xF) << 12; break;
must be:
case 0x10: ham_lastcolor &= 0xFFFF00; ham_lastcolor |= ((pv & 0xF) << 4) | (pv & 0xF); break;
case 0x20: ham_lastcolor &= 0x00FFFF; ham_lastcolor |= ((pv & 0xF) << 20) | ((pv & 0xF) << 16); break;
case 0x30: ham_lastcolor &= 0xFF00FF; ham_lastcolor |= ((pv & 0xF) << 12) | ((pv & 0xF) << 8); break;

Regards,

Frederic

Last edited by FrenchShark; 16 September 2009 at 07:01.
FrenchShark is offline  
Old 16 September 2009, 08:50   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Quote:
Originally Posted by FrenchShark View Post
I still have a question about BPLCON4.BPLAM : under WinUAE (variable "bplxor"), it is only implemented for HAM modes.
It is used in all modes, HAM is special case in display.c, other more "normal" modes are handled in linetoscr.c (generated by genlinetoscr.c)

Quote:
Moreover, I am surprised that it alters the HAM commands. It would have been smarter for C= to put it on the color index path only so we could get 4 x 64 color palettes in HAM8 by poking bits BPLAM7 and BPLAM6 with the copper.
What about the other modes ? Dual playfield ? Half-brite ?
Can we swap palette and get 512 colors on screen in Half-brite mode ?
I don't think these never were fully tested (if tested at all), HAM/DPF/EHB are very rarely used, HAM/DPF/EHB+BPLCON4 is practically never used.. I guess this is yet another boring project I need to do

EDIT: I just remembered I did test HAM few months ago and it required some updates.

Quote:
Something else : are you sure that the HAM6 mode on the AGA chipset should clear the lowest R,G or B nibble of the "ham_lastcolor" variable ? It should be more logical to duplicate the upper nibble to the lower nibble, like it is done with the palette handling.
I am not sure

Last edited by Toni Wilen; 16 September 2009 at 09:03.
Toni Wilen is offline  
Old 17 September 2009, 06:37   #5
FrenchShark
FPGAmiga rulez!
 
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
Hello,

I have just finished the video pipeline (well, I still need to put the DIW masking). I put BPLCON4.BPLAM xor operation on the 8-bit address bus that goes to the palette RAM.

IMHO, there are only two logical locations for BPLAM : just after the bitplanes serializers or just before the palette RAM.

Between these two locations, I have the playfield and the priority logic.

Regards,

Frederic
FrenchShark 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
Converting JPG to HAM6/EHB with ImageStudio jman support.Apps 0 21 June 2011 17:42
C2P Assember update required (6bit EHB hacking!) NovaCoder Coders. General 14 16 April 2011 12:26
Whatever happened to the AAA chipset? Paul_s support.Hardware 16 12 December 2009 11:01
The RIGHT resolution for chipset modes Gaula92 support.WinUAE 25 11 May 2009 11:00
Does "Cycle-exact" do nothing with the AGA chipset? fmcpma support.WinUAE 10 26 October 2006 13:11

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 15:16.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09868 seconds with 13 queries