<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:osnews="http://osnews.com/rss2#">
	<channel>
		<title>OSNews: </title>
		<link>http://www.osnews.com/story/21358/Video_of_OGD1_VGA_Emulation_Booting_in_PC</link>
		<description>Exploring the Future of Computing</description>
		<language>en-us</language>
		<copyright>Copyright 2001-2009, David Adams</copyright>
		<webMaster>adam+nospam@osnews.com</webMaster>
		<lastBuildDate>Thu, 26 Nov 2009 09:04:06 GMT</lastBuildDate>
		<image>
			<url>http://www.osnews.com/images/osnews.gif</url>
			<title>OSNews.com</title>
			<link>http://www.osnews.com</link>
		</image>
		<item>
			<title>Comment by abstraction</title>
			<link>http://osnews.com/thread?360052</link>
			<guid isPermaLink="true">http://osnews.com/thread?360052</guid>
			<description>There is something I really do not understand. If they build a graphic chip with an FPGA. Why do they need to emulate VGA? Doesnt the chip produce VGA by itself?</description>
			<pubDate>Thu, 23 Apr 2009 10:45:00 GMT</pubDate>
			<author>donotreply@osnews.com (abstraction)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: Comment by abstraction</title>
			<link>http://osnews.com/thread?360061</link>
			<guid isPermaLink="true">http://osnews.com/thread?360061</guid>
			<description>There is something I really do not understand. If they build a graphic chip with an FPGA. Why do they need to emulate VGA? Doesnt the chip produce VGA by itself?<br />
<br />
No, the chip on the OGD1 is a general purpose CPU. You can program it to do anything you wish, even run a freaking web server if you wish. It just happens to be also capable of doing graphical output, but it has to be programmed to do that first. This would be easy if they could just implement their own calls for setting video mode and all such and implement their own driver for it. But VGA emulation is a completely different beast; you are emulating a whole different card.</description>
			<pubDate>Thu, 23 Apr 2009 12:00:00 GMT</pubDate>
			<author>donotreply@osnews.com (WereCatf)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: Comment by abstraction</title>
			<link>http://osnews.com/thread?360067</link>
			<guid isPermaLink="true">http://osnews.com/thread?360067</guid>
			<description>No it doesn't have a general purpose CPU it has a FPGA which can be used to make a CPU or in this case a GPU<br />
<br />
If you check the materials list you will see it actually has two FPGAs<br />
<br />
<a href="http://spreadsheets.google.com/pub?key=ps980ejSIf-3DeoBkURvDZQ" rel="nofollow">http://spreadsheets.google.com/pub?key=ps980ejSIf-3DeoBkURvDZQ</a> <br />
<br />
A Xilinx  and a LatticeEdited 2009-04-23 13:08 UTC</description>
			<pubDate>Thu, 23 Apr 2009 13:02:00 GMT</pubDate>
			<author>donotreply@osnews.com (cb88)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE: Comment by abstraction</title>
			<link>http://osnews.com/thread?360079</link>
			<guid isPermaLink="true">http://osnews.com/thread?360079</guid>
			<description>Hmm... perhaps I didnt make myself quite clear here. With the FPGA they essentially construct a chip that works like a VGA-chip. The thing I did not quite understand was the use of the word &quot;emulate&quot; because when the FPGA has been programmed it does not &quot;emulate&quot; a VGA-chip. It IS a VGA-chip.<br />
<br />
I guess you can use the word &quot;emulate&quot; to explain the programming of the FPGA to look like an VGA-chip but that doesnt mean it emulates it? Ah whatever...<br />
<br />
On a sidenote: I think it is weird to get voted down for asking a question?</description>
			<pubDate>Thu, 23 Apr 2009 14:05:00 GMT</pubDate>
			<author>donotreply@osnews.com (abstraction)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: Comment by abstraction</title>
			<link>http://osnews.com/thread?360085</link>
			<guid isPermaLink="true">http://osnews.com/thread?360085</guid>
			<description>It is not a VGA chip in the sense that it doesn't use the same internal working than the real (old) VGA chips. But that should be the case of most other graphic card today I suppose. But, it is VGA compatible. <br />
<br />
VGA is realy just a specification, just like VESA VBE or DirectX 10 Certified graphic card.</description>
			<pubDate>Thu, 23 Apr 2009 14:23:00 GMT</pubDate>
			<author>donotreply@osnews.com (werfu)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[2]: Comment by abstraction</title>
			<link>http://osnews.com/thread?360100</link>
			<guid isPermaLink="true">http://osnews.com/thread?360100</guid>
			<description>As the original architect of the way VGA is done on this board, perhaps I can offer an explanation.<br />
<br />
There is perhaps a more straightforward way of implementing VGA than the way we did it.  The direct route would require two components.  One piece is the host interface that interprets I/O and memory accesses from PCI and manipulates graphics memory appropriate.  The other piece is a specialized video controller that is able to translate text (which is encoded in two bytes as an ASCII value and color indices) in real-time into pixels as they're scanned out to the monitor.  This is actually how others still do it.<br />
<br />
To us, VGA is legacy.  It should be low-priority and have minimal impact on our design.  We didn't want to hack up our video controller in nasty ways (or include alternate logic) for such a purpose, and we didn't want to dedicate a lot of logic to it.  Doing it the usual way was going to be too invasive and wasteful.  Also, we want eventually to do PCI bus-mastering, which requires some high-level control logic, typically implemented in a simple microcontroller.<br />
<br />
So we thought, if we're going to have a microcontroller anyhow, why not give it dual purpose.  When in VGA mode, the uC we designed (which we call HQ) intercepts and services all PCI traffic to OGD1.  Microcode we wrote interprets the accesses and stores text appropriately in graphics memory.  Then, to avoid hacking up the video controller, we actually have HQ perform a translation from the text buffer to a pixel buffer over and over in the background.  Its input is VGA text.  Its output is pixels suitable for our video controller.<br />
<br />
Aside from the logic reduction, this has other advantages.  The screen resolution as seen by the host is decoupled from the physical display resolution.  So while VGA thinks it's 640x400, the monitor could be at 2560x1600, without the need for a scaler.  It's easily programmable, and we have complete control over how the text is processed into pixels; for instance, we could have HQ do some scaling or use a higher-res font different from what the host thinks we're using.<br />
<br />
We call it emulation because, in a way, our VGA is implemented entirely in software, albeit microcode that's loaded into or own microcontroller.</description>
			<pubDate>Thu, 23 Apr 2009 15:18:00 GMT</pubDate>
			<author>donotreply@osnews.com (theosib)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>RE[3]: Comment by abstraction</title>
			<link>http://osnews.com/thread?360119</link>
			<guid isPermaLink="true">http://osnews.com/thread?360119</guid>
			<description>Thank you for a very good explanation. Keep up the good work!</description>
			<pubDate>Thu, 23 Apr 2009 16:26:00 GMT</pubDate>
			<author>donotreply@osnews.com (abstraction)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>Don't forget the LinuxFund</title>
			<link>http://osnews.com/thread?360241</link>
			<guid isPermaLink="true">http://osnews.com/thread?360241</guid>
			<description>I forgot to mention this:<br />
<a href="http://www.linuxfund.org/projects/ogd1/" rel="nofollow">http://www.linuxfund.org/projects/ogd1/</a><br />
 <br />
 Linux Fund is raising funds to buy 10 OGD1 boards (at cost) for developers.Edited 2009-04-24 01:39 UTC</description>
			<pubDate>Fri, 24 Apr 2009 01:39:00 GMT</pubDate>
			<author>donotreply@osnews.com (theosib)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>I'm sold</title>
			<link>http://osnews.com/thread?360534</link>
			<guid isPermaLink="true">http://osnews.com/thread?360534</guid>
			<description>That is good enough for nethack <img src="/images/emo/grin.gif" alt=";)" /></description>
			<pubDate>Sat, 25 Apr 2009 19:12:00 GMT</pubDate>
			<author>donotreply@osnews.com (helf)</author>
			<category>Comments</category>
		</item>
	</channel>
</rss>
