<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vítor Baptista &#187; Emuladores</title>
	<atom:link href="http://vitorbaptista.com/category/artigos/emuladores/feed/" rel="self" type="application/rss+xml" />
	<link>http://vitorbaptista.com</link>
	<description>&#34;Você deve ser a mudança que deseja ver no mundo.&#34; Gandhi</description>
	<lastBuildDate>Thu, 17 May 2012 02:04:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Como funciona um emulador?</title>
		<link>http://vitorbaptista.com/como-funciona-um-emulador/</link>
		<comments>http://vitorbaptista.com/como-funciona-um-emulador/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 10:07:54 +0000</pubDate>
		<dc:creator>Vítor Baptista</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Emuladores]]></category>
		<category><![CDATA[chip-8]]></category>
		<category><![CDATA[jogos]]></category>

		<guid isPermaLink="false">http://vitorbaptista.com/?p=88</guid>
		<description><![CDATA[Sempre achei muito interessante a idéia de emular jogos antigos, de video-games da minha infância, acho que todo mundo que joga e programa também acha, e, com as aulas de Arquitetura de Computadores que venho tendo na faculdade, o interesse voltou. Pesquisando sobre o assunto, descobri que criar um emulador de um console dos mais [...]]]></description>
			<content:encoded><![CDATA[<p>Sempre achei muito interessante a idéia de emular jogos antigos, de video-games da minha infância, acho que todo mundo que joga e programa também acha, e, com as aulas de Arquitetura de Computadores que venho tendo na faculdade, o interesse voltou. Pesquisando sobre o assunto, descobri que criar um emulador de um console dos mais antigos não é nada de outro mundo, como sempre imaginei, então resolvi tentar. Aproveitando o embalo, pretendo escrever uma série de artigos explicando passo a passo como criar um emulador de <a href="http://en.wikipedia.org/wiki/CHIP-8">Chip-8</a>, que é um dos mais simples que você pode criar.</p>
<h2 class="title">Certo, mas o que é um emulador mesmo?</h2>
<p>É um programa que simula o funcionamento de algum sistema. Nele vão existir partes que simulam uma CPU, a memória, os periféricos de entrada, o vídeo. Enfim, todo o hardware que se deseja simular. Além do sistema, você precisará de uma <a href="http://pt.wikipedia.org/wiki/Imagem_ROM">ROM</a>, que é uma cópia exata do conteúdo do cartucho do video-game. É nela que está o jogo.</p>
<h2 class="title">E como eu faço isso?</h2>
<p>Primeiro, você precisa conhecer muito bem o sistema que quer emular. Depois você precisa identificar e interpretar todos os comandos do sistema, os <a href="http://pt.wikipedia.org/wiki/Opcode">opcodes</a> (operation codes). Por exemplo, um comum a diversas máquinas é:</p>
<blockquote><p>ADD x,n</p></blockquote>
<p>que significa:</p>
<blockquote><p>x = x + n</p></blockquote>
<p>.<br />
Então, onde você encontrar esse opcode, deve executar este comando. Fazendo isso com todos, você terminará com um emulador completo. Simples, não?</p>
<p>No próximo post vou falar sobre o Chip-8.</p>
]]></content:encoded>
			<wfw:commentRss>http://vitorbaptista.com/como-funciona-um-emulador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

