--https://www.cpcwiki.eu/index.php/CPC_Palette
--Firmware Number Hardware Number Colour Name R % G % B % Hexadecimal RGB values Colour
--0 54h Black 0 0 0 #000000 0/0/0
--1 44h (or 50h) Blue 0 0 50 #000080 0/0/128
--2 55h Bright Blue 0 0 100 #0000FF 0/0/255
--3 5Ch Red 50 0 0 #800000 128/0/0
--4 58h Magenta 50 0 50 #800080 128/0/128
--5 5Dh Mauve 50 0 100 #8000FF 128/0/255
--6 4Ch Bright Red 100 0 0 #FF0000 255/0/0
--7 45h (or 48h) Purple 100 0 50 #FF0080 255/0/128
--8 4Dh Bright Magenta 100 0 100 #FF00FF 255/0/255
--9 56h Green 0 50 0 #008000 0/128/0
--10 46h Cyan 0 50 50 #008080 0/128/128
--11 57h Sky Blue 0 50 100 #0080FF 0/128/255
--12 5Eh Yellow 50 50 0 #808000 128/128/0
--13 40h (or 41h) White 50 50 50 #808080 128/128/128
--14 5Fh Pastel Blue 50 50 100 #8080FF 128/128/255
--15 4Eh Orange 100 50 0 #FF8000 255/128/0
--16 47h Pink 100 50 50 #FF8080 255/128/128
--17 4Fh Pastel Magenta 100 50 100 #FF80FF 255/128/255
--18 52h Bright Green 0 100 0 #00FF00 0/255/0
--19 42h (or 51h) Sea Green 0 100 50 #00FF80 0/255/128
--20 53h Bright Cyan 0 100 100 #00FFFF 0/255/255
--21 5Ah Lime 50 100 0 #80FF00 128/255/0
--22 59h Pastel Green 50 100 50 #80FF80 128/255/128
--23 5Bh Pastel Cyan 50 100 100 #80FFFF 128/255/255
--24 4Ah Bright Yellow 100 100 0 #FFFF00 255/255/0
--25 43h (or 49h) Pastel Yellow 100 100 50 #FFFF80 255/255/128
--26 4Bh Bright White 100 100 100 #FFFFFF 255/255/255
type T_PALETTE is array (0 to 63) --(15 downto 0)
of integer;
constant PALETTE_RGB:T_PALETTE :=
( 0, -- 00 00 00
1,-- 00 00 01
1,-- 00 00 >10< trou
2,-- 00 00 11
9,-- 00 01 OO
10,-- 00,01,01
10,-- 00,01,>10< trou
11,-- 00,01,11
9, -- 00,>10<,00 trou
10, -- 00,>10<,01 trou
10, -- 00,>10<,>10< trou
11, -- 00,>10<,11 trou
5, -- 00,11,00
4, -- 00,11,01
4, -- 00,11,>10< trou
5,-- 00,11,11
3, -- 01,00,00 fixe x cyan
4, -- 01,00,01 fixe x purple
4, -- 01,00,>10< trou
5, -- 01,00,11
12, -- 01,01,00
13, -- 01,01,01
13, -- 01,01,>10< trou
14, -- 01,01,11
6, -- 01,>10<,00 trou
7, -- 01,>10<,01 trou
7, -- 01,>10<,>10< trou
8, -- 01,>10<,11 trou
15, -- 01,11,00
-- bouclage de couleurs
1, -- 01,11,01
1, -- 01,11,>10< trou
2, -- 01,11,11
12, -- >10<<,00,00 trou
13, -- >10<,00,01 trou
13, -- >10<,00,>10< trou
14, -- >10<,00,11 trou
12, -- >10<,01,00 trou
13, -- >10<,01,01 trou
13, -- >10<,01,10 trou
14, -- >10<,01,11 trou
12, -- >10<,>10<,00 trou
13, -- >10<,>10<,01 trou
13, -- >10<,>10<,10 trou
14, -- >10<,>10<,11 trou
--0,0,0,0,
12, -- >10<,11,00 trou
13, -- >10<,11,01 trou
13, -- >10<,11,>10< trou
14, -- >10<,11,11 trou
6, -- 11,00,00 ok
7, -- 11,00,01
7, -- 11,00,>10< trou
8, -- 11,00,11
15, -- 11,01,00
-- rebouclage de couleurs
1, -- 11,01,01
1, -- 11,01,>10< trou
2, -- 11,01,11
9, -- 11,>10<,00
10, -- 11,>10<,01
10, -- 11,>10<,>10< trou
11, -- 11,>10<,11
5, -- 11,11,00
4, -- 11,11,01
4, -- 11,11,>10< trou
5 -- 11,11,11
);
[font=Verdana, Arial, Helvetica, sans-serif]type T_C64 is array (0 to 15) --(15 downto 0)[/font]
of STD_LOGIC_VECTOR(5 downto 0);
constant C64_SCREEN_RED:T_C64 :=
("000000", --black 00
"111111", --white 3F
"101011", --red 2B
"011000", --cyan 18
"101100", --purple 2C
"010010", --green 12
"001101", --blue 0D
"111001", --yellow 39
"101101", --orange 2D
"011010", --brown 1A
"111010", --pink 3A
"010011", --d. gray 13
"100001", --gray 21
"101001", --l. green 29
"101001", --l. blue 1C
"101101" --l. gray 2D
);
constant C64_SCREEN_GREEN:T_C64 :=
("000000", --black 00
"111111", --white 3F
"001010", --red 0A
"110110", --cyan 36
"001111", --purple 0F
"110001", --green 31
"001110", --blue 0E
"111011", --yellow 3B
"010110", --orange 16
"001110", --brown 0E
"011101", --pink 1D
"010011", --d. gray 13
"100001", --gray 21
"111110", --l. green 3E
"011111", --l. blue 1F
"101101" --l. gray 2D
);
constant C64_SCREEN_BLUE:T_C64 :=
("000000", --black 00
"111111", --white 3F
"001010", --red 0A
"110011", --cyan 33
"101101", --purple 2D
"010010", --green 12
"110001", --blue 31
"010011", --yellow 13
"000111", --orange 07
"000010", --brown 02
"011011", --pink 1B
"010011", --d. gray 13
"100001", --gray 21
"100111", --l. green 27
"111001", --l. blue 39
"101101" --l. gray 2D
);
canal_red<= C64_SCREEN_RED(PALETTE_RGB(conv_integer(RED_in(5 downto 4) & GREEN_in(5 downto 4) & BLUE_in(5 downto 4))));
canal_green<= C64_SCREEN_GREEN(PALETTE_RGB(conv_integer(RED_in(5 downto 4) & GREEN_in(5 downto 4) & BLUE_in(5 downto 4))));
canal_blue<= C64_SCREEN_BLUE(PALETTE_RGB(conv_integer(RED_in(5 downto 4) & GREEN_in(5 downto 4) & BLUE_in(5 downto 4))));
border 3 is C64 cyan
border 4 is C64 purple
Quote from: Bread80 on 20:09, 14 September 25Cool! Maybe you guys should collaborate and re-use the good ideas from each other!Quote from: salvogendut on 16:36, 14 September 25Mine is all my work from the ground up. It's good to have another project out there. I note their design does not fit into a '464 case.Quote from: Bread80 on 15:43, 09 September 25I'll add my CPC464 mechanical keyboard here.It seems that there is at least another project for a 464 keyboard cherry MX on github. Is your project based on this?
Main thread: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cpc464-mechanical-keyboard
Repository: https://github.com/Bread80/CPC_Keyboards/tree/main/Keyswitch_CPC464_SMT
PCBWay Shared Projects: https://www.pcbway.com/project/shareproject/Mechanical_Keyboard_for_Amstrad_CPC464_e66db4b2.html
https://github.com/rgbwalker/Amstrad_CPC_464_new_Cherry_Keyboard
Page created in 0.031 seconds with 22 queries.