Subject: F18A

From: Owen Brand <[email-masked]>
Date: Tue, 21 Sep 2010 16:17:00 -0400

I started looking online for info on this kind of project.  What  
interests me is the scripting----  in some cases, it looks much like  
BASIC (IF, THEN, etc) but instead of coding an application, you are  
designing a machine....  It's a bit beyond me, technically, but I  
found the BASIC-esque syntax very interesting.  Do you have a snippit  
of your "code" to show us?  A couple lines--- just to maybe put a  
finer point on this project for us newbies?

Owen Brand

        **webmaster**
http://www.Opry99er.com

---

From: Owen Brand <[email-masked]>
Date: Tue, 21 Sep 2010 16:23:11 -0400

You know... This could be the beginning of our "TI-99 on-a-chip"  
dream.  :). Karsten has been talking about that for a while.

Owen Brand

        **webmaster**
http://www.Opry99er.com

On Sep 21, 2010, at 4:17 PM, Owen Brand <[email-masked]> wrote:

> found the BASIC-esque syntax very interesting.  Do you have a  
> snippit of your "code" to show us?  A couple lines--- just to maybe  
> put a finer point on this project for us newbies?
>
> Owen Brand
>
>       **webmaster**
> http://www.Opry99er.com

---

From: "Matthew" <[email-masked]>
Date: Wed, 22 Sep 2010 00:49:08 -0000

> finer point on this project for us newbies?

The HDLs (hardware description languages) like VHDL and Verilog are deceptive in the way the look.  Even though they look like programming or scripting languages, you are using them to *describe* hardware.  I don't know what I could post from the F18A project that would set it apart from any other VDHL, but here is a piece that actually draws the horizontal scan line:

-- Draw a horizontal line from the line and color buffers
process (pclk)
begin
  if rising_edge(pclk) then
    if pix_x < 640 then
      if ptrndata(pixel_idx) = '1' then
        color_out <= colrdata(0 to 3);
      else
        color_out <= colrdata(4 to 7);
      end if;
    else
      color_out <= "0000";
    end if;
  end if;
end process;

sg_color_o <= color_out;

The ptrndata and colrdata signals will contain the current tile's pixel and color data, and pixel_idx is a counter from 0 to 7 that indexes a specific bit in the ptrndata.  pclk is the pixel clock and pix_x is the horizontal pixel counter.

Matthew