16 August 2011, 05:22 | #1 |
Registered User
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. |
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 |
|
|