English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 16 August 2011, 05:22   #1
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
Indivision GFX CLUT8 Palette....any ideas?

I've been playing around with the new Indivision direct chunky mode and have found that the way you setup the palette is a little strange, anyone know what it's doing?

Code:
// Palette translation for Indivision GFX
UBYTE ptranslate[] =
{
 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
};

ULONG video_colourtable[1 + 3*256 + 1];




Code:
    // Indivision GFX uses 15bit palette
      for (i=0; i<128; i++)
      {
       video_colourtable[ptranslate[i]]=
        ( (((UBYTE)(palette[6*i+3]] & 0xf8) >> 3) |
        (((UBYTE)(palette[6*i+4]) & 0xf8) << 2) |
        (((UBYTE)(palette[6*i+5]) & 0xf8) << 7) |
        (((UBYTE)(palette[6*i+0]) & 0xf8) << 13) |
        (((UBYTE)(palette[6*i+1]) & 0xf8) << 18) |
        (((UBYTE)(palette[6*i+2]) & 0xf8) << 23) );
      }


I think it's creating 128 32bit words with each 32bit word represents 2 15bit palette entries.

I think the format for each 32 word is: [red2, green2, blue2, red1, green1, blue1]


Where red1 is an 8 bit RGB value....


I've also attached the Indivision assembler file so you can see what it's doing with the palette values.



God only knows why it needs to use that 'ptranslate' array.

Last edited by NovaCoder; 31 January 2013 at 11:52.
NovaCoder 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
[feature] palette Asle project.Maptapper 2 06 July 2013 02:14
[WTB] Indivision AGA (for CD32/4000) + Indivision ECS Seaside MarketPlace 3 15 March 2012 22:03
Trading my Indivision AGA for an Indivision ECS 8bitbubsy Swapshop 3 11 May 2011 23:02
Standard Palette Brakus Coders. General 3 04 May 2009 07:08
Palette Problems Locash support.WinUAE 13 21 October 2003 16:10

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:05.

Top

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