<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://meiobit.pop.com.br" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Meio Bit - BrMSX: a história do emulador - Comentários</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador</link>
 <description>Comentários para &quot;BrMSX: a história do emulador&quot;</description>
 <language>pt-br</language>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95283</link>
 <description>&lt;p&gt;Bacana, cheguei a usar o BrMSX por algum tempo mas logo depois descobri a existencia do BlueMSX e fui pra ele. &lt;/p&gt;</description>
 <pubDate>Tue, 01 Jan 2008 02:44:51 +0000</pubDate>
 <dc:creator>Rocky</dc:creator>
 <guid isPermaLink="false">comment 95283 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: Show de bola!
Quem, como eu,</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95281</link>
 <description>&lt;p&gt;Engraçado como os tempos mudam.&lt;br /&gt;
Pra quem não se ligou ainda, o MSX era o computador da Microsoft. Não era fabricado pela mesma, mas foi um padrão criado pela MS e aderido por algumas empresas pelo mundo afora.&lt;br /&gt;
É. Naquele tempo, a Microsoft conseguia provocar &quot;vínculos emocionais&quot; com seus produtos.&lt;/p&gt;</description>
 <pubDate>Tue, 01 Jan 2008 02:36:34 +0000</pubDate>
 <dc:creator>gemc</dc:creator>
 <guid isPermaLink="false">comment 95281 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95269</link>
 <description>&lt;p&gt;Me sinto um lixo perto de uma pessoa dessas...&lt;br /&gt;
Nossa ele e um genio,alem da criatividade ainda era brasileiro. &lt;/p&gt;</description>
 <pubDate>Tue, 01 Jan 2008 00:45:19 +0000</pubDate>
 <dc:creator>Joao Lima</dc:creator>
 <guid isPermaLink="false">comment 95269 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Show de bola!
Quem, como eu,</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95255</link>
 <description>&lt;p&gt;Show de bola!&lt;/p&gt;
&lt;p&gt;Quem, como eu, teve um MSX de verdade, certamente criou vínculos &quot;emocionais&quot; com a arquitetura, tão revolucionária para a sua época.&lt;/p&gt;
&lt;p&gt;Adorei o artigo.&lt;/p&gt;
&lt;p&gt;---&lt;br /&gt;
&lt;a rel=&#039;follow&#039; href=&quot;http://sarmento.org/janio&quot;&gt;www.sarmento.org&lt;/a&gt;&lt;br /&gt;
&lt;a rel=&#039;follow&#039; href=&quot;http://lucrandonarede.com/blog&quot;&gt;www.lucrandonarede.com&lt;/a&gt;&lt;/p&gt;
</description>
 <pubDate>Mon, 31 Dec 2007 22:42:39 +0000</pubDate>
 <dc:creator>Janio Sarmento</dc:creator>
 <guid isPermaLink="false">comment 95255 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95247</link>
 <description>&lt;p&gt;Um Computador MSX! Este é um programador de verdade, nao um empilhador de classes &lt;img src=&quot;http://meiobit.pop.com.br/sites/meiobit.com/modules/smileys/packs/example/lol.png&quot; title=&quot;Laughing out loud&quot; alt=&quot;Laughing out loud&quot; class=&quot;smiley-content&quot;/&gt; &lt;/p&gt;</description>
 <pubDate>Mon, 31 Dec 2007 22:16:42 +0000</pubDate>
 <dc:creator>Shomer</dc:creator>
 <guid isPermaLink="false">comment 95247 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95240</link>
 <description>&lt;p&gt;O que esse BrMSX emulava?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.worldorg.net&quot; rel=&quot;nofollow&quot;&gt;WorldOrg.net [1 ano] - Visite e confira&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.awanahybridus.com.br&quot; rel=&quot;nofollow&quot;&gt;Awana Hybridus&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 31 Dec 2007 21:32:03 +0000</pubDate>
 <dc:creator>flaviotomazio</dc:creator>
 <guid isPermaLink="false">comment 95240 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95230</link>
 <description>&lt;p&gt;Ele sofreu, mas fez a diferença e fez algo diferente, esses exemplos que eu penso em me espelhar.&lt;/p&gt;</description>
 <pubDate>Mon, 31 Dec 2007 20:47:55 +0000</pubDate>
 <dc:creator>v1r3d</dc:creator>
 <guid isPermaLink="false">comment 95230 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>Re: BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comment-95217</link>
 <description>&lt;p&gt;&quot;programar em assembly pra DOS é legal, programar em assembly pra Windows é pra masoquistas apenas&quot;&lt;/p&gt;
&lt;p&gt;demorou, mas ele descobriu &lt;img src=&quot;http://meiobit.pop.com.br/sites/meiobit.com/modules/smileys/packs/example/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; class=&quot;smiley-content&quot;/&gt;&lt;/p&gt;
&lt;p&gt;Interessante esse texto... O cara sofreu, hein!&lt;/p&gt;</description>
 <pubDate>Mon, 31 Dec 2007 19:59:13 +0000</pubDate>
 <dc:creator>FelipeBZ</dc:creator>
 <guid isPermaLink="false">comment 95217 at http://meiobit.pop.com.br</guid>
</item>
<item>
 <title>BrMSX: a história do emulador</title>
 <link>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.meiobit.com/files/180px-Brmsx.logo_2.gif&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;Para os f&amp;#227;s do sistema &lt;a href=&quot;http://www.msx.org&quot; rel=&quot;nofollow&quot;&gt;MSX&lt;/a&gt;, um marco inesquec&amp;#237;vel foi o lan&amp;#231;amento do BrMSX: um emulador completamente escrito em assembly e muito superior ao fMSX dispon&amp;#237;vel na &amp;#233;poca (at&amp;#233; eu dei minha microsc&amp;#243;pica contribui&amp;#231;&amp;#227;o, verificando algumas temporiza&amp;#231;&amp;#245;es com os oscilosc&amp;#243;pios da faculdade).&lt;/p&gt;
&lt;p&gt;Seu autor, o brilhante &lt;a href=&quot;http://www.mundobizarro.tk&quot; rel=&quot;nofollow&quot;&gt;Ricardo Bittencourt&lt;/a&gt; escreveu sobre os dez anos de sua cria&amp;#231;&amp;#227;o na lista &lt;a href=&quot;mailto:msx-rb@yahoogroups.com&quot; rel=&quot;nofollow&quot;&gt;MSX-rb&lt;/a&gt;, contando detalhes &amp;quot;fudebas&amp;quot; e o eventual abandono do desenvolvimento. Para todos que gostam de programa&amp;#231;&amp;#227;o, &amp;#233; uma &amp;#243;tima leitura. &lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Provavelmente ningu&amp;#233;m lembrou, mas dia 27 de setembro passado o BrMSX fez 10 anos de idade. Hooray pro BrMSX ! &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Passados 10 anos, acho que agora &amp;#233; tempo de abrir o ba&amp;#250; e contar a hist&amp;#243;rias secretas do BrMSX. Por exemplo, uma delas &amp;#233; a hist&amp;#243;ria da tela de boot do 2+. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Naquela &amp;#233;poca, ningu&amp;#233;m achava que existia emulador de 2+. Mas isso n&amp;#227;o era verdade, o fMSX emulava parcialmente algumas features na vers&amp;#227;o unix. O problema &amp;#233; que ele n&amp;#227;o emulava a tela de boot, ent&amp;#227;o ningu&amp;#233;m realmente levava a s&amp;#233;rio. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Quando eu coloquei a emula&amp;#231;&amp;#227;o de screen 12 e 10, eu previ que iria acontecer o mesmo comigo, caso eu n&amp;#227;o emulasse o boot. E, de fato, o boot n&amp;#227;o funcionava no BrMSX tamb&amp;#233;m. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;O segredo do boot &amp;#233; que o MSX 2+ tem um registro secreto que controla a tela de boot. Na &amp;#233;poca, o &amp;#250;nico brasileiro que sabia da exist&amp;#234;ncia desse registro era o Ademir, e ele n&amp;#227;o contava pra ningu&amp;#233;m, porque era um dos segredos comerciais dele. S&amp;#243; os kits CIEL tinham o registro funcionando direitinho. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Isso me deixou numa posi&amp;#231;&amp;#227;o delicada. Se eu fizesse o release sem o boot, o povo n&amp;#227;o iria levar a s&amp;#233;rio; e consertar o boot seria muito dif&amp;#237;cil, j&amp;#225; que eu n&amp;#227;o sabia do tal registro, e, por isso, n&amp;#227;o entendia porque o boot n&amp;#227;o funcionava. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Pra sair dessa, eu apelei. Se n&amp;#227;o ia por bem, ia por mal, hehe. A minha solu&amp;#231;&amp;#227;o foi ignorar o boot original da bios e refazer a anima&amp;#231;&amp;#227;o de boot do zero. Se voc&amp;#234;s pegarem a rom que vem no BrMSX e fizerem um diff com a rom do CIEL, v&amp;#227;o ver que o finalzinho da subrom tem um monte de diferen&amp;#231;as, esse a&amp;#237; &amp;#233; o c&amp;#243;digo que eu adicionei pra fazer o boot funcionar na ra&amp;#231;a &lt;img src=&quot;http://meiobit.pop.com.br/sites/meiobit.com/modules/smileys/packs/example/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; class=&quot;smiley-content&quot;/&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Mais ou menos nessa &amp;#233;poca, eu fiz o erro que matou o BrMSX. Voc&amp;#234;s lembram que o BrMSX &amp;#233; feito todo em assembly, e dada a magnitude do projeto, iria ser imposs&amp;#237;vel trabalhar nele se ele n&amp;#227;o fosse muito bem estruturado. Ele &amp;#233; todo comentado por dentro, e todo modular tamb&amp;#233;m, ali&amp;#225;s foi isso que me permitiu transformar o BrMSX em BrSMS em apenas uma tarde. N&amp;#227;o sei se voc&amp;#234;s sabem, mas o BrMSX foi eleito melhor software criado por aluno da USP em 99, e um dos crit&amp;#233;rios do j&amp;#250;ri foi justamente a modularidade do c&amp;#243;digo, eles ficaram impressionados em como um tro&amp;#231;o daquele tamanho, todo em assembly, era t&amp;#227;o leg&amp;#237;vel por dentro. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Pois bem, isso era s&amp;#243; parcialmente verdade. O BrMSX teve um projeto muito s&amp;#243;lido, de fato, mas apenas dentro do escopo inicial. Ele foi feito para ser um emulador operado por linha de comando, todo o c&amp;#243;digo que envolvia GUI foi marretado posteriormente. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;O problema era que todos os sites de emula&amp;#231;&amp;#227;o diziam que o BrMSX era &amp;quot;quase perfeito&amp;quot;, a &amp;#250;nica coisa que faltava nele era uma GUI. A&amp;#237; eu pensei, saco, l&amp;#225; vou eu ter que enfiar uma GUI num neg&amp;#243;cio que n&amp;#227;o foi planejado pra suportar GUI. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Acabei colocando a GUI, e o efeito psicol&amp;#243;gico foi o esperado. A GUI era uma droga, mas agora todo mundo falava que o BrMSX era perfeito, porque tinha GUI. Na verdade, ningu&amp;#233;m usava aquele lixo, estava l&amp;#225; s&amp;#243; pra marcar presen&amp;#231;a mesmo. E no final foi isso que detonou o projeto. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Na &amp;#233;poca que eu coloquei as features de MSX 2+, eu deixei passar um ponteiro perdido, que crashava o emulador caso voc&amp;#234; tentasse ligar a GUI em modo 2+. Isso foi por volta da vers&amp;#227;o 203. Mas, como ningu&amp;#233;m usava aquela coisa, ningu&amp;#233;m percebeu esse erro. Eu s&amp;#243; recebi o bug report dele quando estava na vers&amp;#227;o 206. Quando eu percebi que o bug tinha sido introduzido tr&amp;#234;s vers&amp;#245;es atr&amp;#225;s, e era dentro da GUI, a &amp;#250;nica parte ileg&amp;#237;vel do c&amp;#243;digo, bateu o des&amp;#226;nimo. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Debugar aquele c&amp;#243;digo ruim estava fora de quest&amp;#227;o, a &amp;#250;nica maneira era voltar no CVS tr&amp;#234;s vers&amp;#245;es pra tr&amp;#225;s e reimplementar as features das vers&amp;#245;es novas. Isso iria tomar mais ou menos um m&amp;#234;s, e nem seria tarefa dif&amp;#237;cil, s&amp;#243; meio chata. O problema &amp;#233; que a essa altura eu achei que n&amp;#227;o valia a pena. Estava claro pra mim que o DOS como plataforma n&amp;#227;o tinha muito tempo de vida, se fosse pra investir um m&amp;#234;s da minha vida em c&amp;#243;digo chato, era melhor jogar fora aquela GUI de uma vez e portar pra windows. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;E de fato eu comecei a fazer isso. Mas a&amp;#237; me veio a constata&amp;#231;&amp;#227;o fat&amp;#237;dica: programar em assembly pra DOS &amp;#233; legal, programar em assembly pra Windows &amp;#233; pra masoquistas apenas. Os compiladores da &amp;#233;poca n&amp;#227;o eram a coisa mais intuitiva do mundo, e tinha um monte de truques que eu usava no c&amp;#243;digo de DOS que simplesmente n&amp;#227;o funcionavam em windows. Por exemplo, o x86 tem s&amp;#243; 7 registradores de uso geral, o que &amp;#233; extremamente limitante. No DOS, quando batia o desespero, eu ainda tinha uma alternativa: desligar as interrup&amp;#231;&amp;#245;es e usar o stack pointer pra fazer aritm&amp;#233;tica. Isso era usado extensivamente no c&amp;#243;digo do PSG, e foi por isso que nenhuma vers&amp;#227;o do BrMSX para windows tinha som, j&amp;#225; que no windows voc&amp;#234; n&amp;#227;o pode desligar as interrup&amp;#231;&amp;#245;es. &lt;/em&gt;&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;&lt;em&gt;Depois de bater a cabe&amp;#231;a v&amp;#225;rias vezes, eu percebi que o BlueMSX tinha uma interface boa, e melhor, tinha um programador que gostava de fazer GUI. A&amp;#237; eu decidi que era a hora de pular do barco e me juntar &amp;#224; equipe do BlueMSX, assim eu poderia fazer s&amp;#243; as partes que eu gostava, e a parte pentelha da interface ficava por conta do Vik.&amp;#160; Hoje em dia, acho que quase ningu&amp;#233;m usa o BrMSX pra emular de fato, os poucos que ainda usam, o fazem pra usar o debugger. Ainda assim, fico feliz por ter tido uma receptividade t&amp;#227;o boa naquela &amp;#233;poca. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;___________________________________________________________________&lt;/p&gt;
&lt;p&gt;&lt;em&gt;* Reprodu&amp;#231;&amp;#227;o permitida ao Meio Bit pelo autor.&lt;/em&gt;&lt;/p&gt;</description>
 <category domain="http://meiobit.pop.com.br/categoria/entrevista">Entrevista</category>
 <category domain="http://meiobit.pop.com.br/categoria/hardware_1">Hardware</category>
 <category domain="http://meiobit.pop.com.br/categoria/miscelaneas">Miscelâneas</category>
 <comments>http://meiobit.pop.com.br/meio-bit/hardware/brmsx-a-historia-do-emulador#comments</comments>
 <pubDate>Mon, 31 Dec 2007 18:57:06 +0000</pubDate>
 <dc:creator>Marcellus Pereira</dc:creator>
 <guid isPermaLink="false">13035 at http://meiobit.pop.com.br</guid>
</item>
</channel>
</rss>
