
Сообщение от
vlad
shurik-ua, почему не сделать 512х384? Мне было легче переделать его на VGA 1024x768x8bpp@60Hz. Можно было-бы масштабировать х1 256х192, x2 512x384 x3 1024x768

этот формат выбран из-за удобства программирования именно на 8-мибитных процессорах.
все эти форматы с соотношением сторон 4:3 потихоньку устаревают, мониторы и телевизоры сейчас выпускаются в основном широкоформатные 16:9 или 16:10.
на тюнере я выставил пропорции экрана 16:9 и картинка выглядит абсолютно симметричной - просто тюнер сохраняет только с такими пропорциями.
кстати пока писал этот ответ придумал, что если тактировать схему 32 MHz кварцем и изменить несколько констант в коде то получим режим 384х256 - что можно использовать как компромисс для любителей "квадратных" пропорций. ))
Да и вот ещё - в будущем планирую подключить Циклон какой нибудь и 3128 использовать как преобразователь уровней - в проекте Reverse есть что-то похожее, но исходников не нашёл. Так как я ещё начинающий - могу ошибиться , вот взгляните на код - покритикуйте:
Код:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity extender is
port (
dir: in std_logic;
cpu_adr: inout std_logic_vector(15 downto 0);
adr: inout std_logic_vector(15 downto 0);
cpu_data: inout std_logic_vector(7 downto 0);
data: inout std_logic_vector(7 downto 0);
wr,rd,mreq,iorq,m1: inout std_logic;
busrq,cpu_busak: in std_logic;
int,nmi,clock,reset,wait0: in std_logic;
cpu_int,cpu_nmi,cpu_clock: out std_logic;
cpu_busrq,busak: out std_logic;
cpu_reset,cpu_wait0: out std_logic;
cpu_wr,cpu_rd,cpu_mreq,cpu_iorq,cpu_m1: inout std_logic);
end extender;
architecture ext of extender is
begin
cpu_clock <= clock;
cpu_int <= int;
cpu_nmi <= nmi;
cpu_reset <= reset;
cpu_wait0 <= wait0;
cpu_busrq <= busrq;
busak <= cpu_busak;
mreq <= cpu_mreq when cpu_busak = '1' else 'Z';
cpu_mreq <= mreq when cpu_busak = '0' else 'Z';
iorq <= cpu_iorq when cpu_busak = '1' else 'Z';
cpu_iorq <= iorq when cpu_busak = '0' else 'Z';
wr <= cpu_wr when cpu_busak = '1' else 'Z';
cpu_wr <= wr when cpu_busak = '0' else 'Z';
rd <= cpu_rd when cpu_busak = '1' else 'Z';
cpu_rd <= rd when cpu_busak = '0' else 'Z';
m1 <= cpu_m1 when cpu_busak = '1' else 'Z';
cpu_m1 <= m1 when cpu_busak = '0' else 'Z';
data <= cpu_data when dir = '1' else "ZZZZZZZZ";
cpu_data <= data when dir = '0' else "ZZZZZZZZ";
adr <= cpu_adr when cpu_busak = '1' else "ZZZZZZZZZZZZZZZZ";
cpu_adr <= adr when cpu_busak = '0' else "ZZZZZZZZZZZZZZZZ";
end ext;