Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- em swioports.vhd
- RatioMode : inout std_logic_vector( 2 downto 0 ); -- Pixel Ratio 1:1 for VGA Output (default is 0) (toggle 0-7) (60Hz only)
- -- in assignment: 'Port $41 ID212 [Smart Commands]' (write only)
- if( req = '1' and wrt = '1' and (adr(3 downto 0) = "0001") and (io40_n = "00101011") )then
- io41_id212_n <= not dbo;
- case dbo is
- -- SMART CODE #000
- -- when "00000000" => -- 0x00 Null Command (Reserved)
- -- null;
- when "01111111" => -- 0x7f Pixel Ratio Toggle for VGA output
- RatioMode <= RatioMode - 1;
- ----------------------------------
- em vdp_vga.vhd linha 186
- -- PIXEL RATIO 1:1 (NTSC MODE ONLY)
- PROCESS( CLK21M )
- BEGIN
- IF( CLK21M'EVENT AND CLK21M = '1' )THEN
- IF( PALMODE = '1' )THEN
- DISP_START_X <= "00001010111"; -- 88 = CENTER (PAL MODE)
- ELSIF( PALMODE = '0' AND RATIOMODE = "000" )THEN
- DISP_START_X <= "00001000111"; -- 71 = CENTER (NTSC MODE)
- ELSIF( VCOUNTERIN < 56 )THEN
- IF( VCOUNTERIN(0) = '0' )THEN
- CASE RATIOMODE IS
- WHEN "111" => DISP_START_X <= "00000100011"; -- 35 = LEFT -3
- WHEN "110" => DISP_START_X <= "00000100100"; -- 36 = LEFT -2
- WHEN "101" => DISP_START_X <= "00000100101"; -- 37 = LEFT -1
- WHEN "100" => DISP_START_X <= "00000100110"; -- 38 = LEFT (NTSC MODE) (CENTER - 33)
- WHEN "011" => DISP_START_X <= "00000100111"; -- 39 = LEFT +1
- WHEN "010" => DISP_START_X <= "00000101000"; -- 40 = LEFT +2
- WHEN "001" => DISP_START_X <= "00000101001"; -- 41 = LEFT +3
- WHEN OTHERS => NULL;
- END CASE;
- ELSE
- DISP_START_X <= "00001101010"; -- 106 = RIGHT (NTSC MODE) (684 - 576 - 2)
- END IF;
- ELSE
- DISP_START_X <= "00001000111"; -- 71 = CENTER (NTSC MODE) (RIGHT - 35)
- END IF;
- END IF;
- END PROCESS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement