tag:blogger.com,1999:blog-83964297648476846532024-03-05T13:12:41.385-08:00MSX HobbyUm blog sobre MSX, eletrônica e computação.Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-8396429764847684653.post-74920586580114321912024-01-10T06:20:00.000-08:002024-01-10T06:20:49.988-08:00Review: Transformação do Hotbit 1.1 para SM-X-HB (MSX2+) <p> Em 2023 transformei um dos meus HotBits 1.1 para MSX 2+ usando a placa <a href="https://loja.victortrucco.com/placa-mae-sm-x-hb" target="_blank">SM-X-HB</a> do <a href="https://www.victortrucco.com/" target="_blank">Victor Trucco</a>.</p><p>Para o procedimento eu segui o proprio video que o Trucco postou no you tube, <a href="https://www.youtube.com/watch?v=gMOldidNYeQ">Instalação Placa SM X-HB</a>. <br /></p><p>De modo geral o resultado ficou bom, mas tilve alguns percalsos.</p><ul><li>Rompi a solda entre a placa mãe original do HotBit e o conversor de RF.</li><li>Tive que desencaixar a placa central FPGA da placa SM-X HB e reincaixa-la meia torta (tipo rampa), pois o micro não bootava. Apenas ficava com tela vermelha. Um prroblema de montagem ou alinhamento dos conectores no lab do Trucco. Cuidado ao se fazer o procedimento pois as pernas da placa FPGCA podem entortar. Assim, se tiver o mesmo problema, remova a mesma um ppouco de cada lado até sair completamente.</li></ul><p> For isso, tudo funciona corretamente, inclusive o cartucho SD mapper. E tem Wi-fi e conexão RGB. </p><p></p><p>No momento não tenho fotos, mas a proxima vez que liga-lo. Posta-lo-ei-las.</p><p>/ <br /></p><p>Abraces<br /></p><p><br /></p><p> <br /></p>Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-82685052750516676892018-01-02T13:19:00.001-08:002018-01-07T05:31:12.110-08:00Manutenção: HotBit HB-8000 - micro não liga<b>Problema:</b> Hotbit não liga, e não acende o led vermelho de power. <br />
<b><br /></b>
<b>Posiveis causas</b>: Fusível 110 ou 220 volts queimados, fonte queimada. Defeito na chave de proteção da tampa do slot1 (superior).<br />
<b><br /></b>
<b>Procedimentos Básicos: </b><br />
<br />
<span id="bc_0_1b+seedLrmGD" kind="d">1) Sem abrir o micro, Abra a tampa do cartucho
principal (superior) com o dedo, até ouvir um clique e feche-a. Depois tente ligar o micro.
Está tampa tem um chave que desliga o micro quando abre e pode não ter
voltado a posição normal devido a idade. Pode ser isso se o led vermelho piscar ao desligar a chave de liga/desliga. Eu já tive este problema.
tente ligar o Hotbit com um cartucho também.</span><br />
<br />
<span id="bc_0_1b+seedLrmGD" kind="d"><span id="bc_0_1b+seedLrmGD" kind="d">2) Abra o hotbit e remova o teclado desconectando o cabo da placa mãe e
tenta ligar o micro com e sem cartucho. veja foto em
http://msxhobby.blogspot.com.br/2011/05/manutencao-hotbit-hb8000-mal-contato-no.html<br />Se funcionar deve ser a chave da tampa de abrir do slot superior de cartucho. Caso contrário pode ser a fonte mesmo</span></span><br />
<span id="bc_0_1b+seedLrmGD" kind="d"><b><span id="bc_0_1b+seedLrmGD" kind="d"> </span> </b></span><br />
<span id="bc_0_1b+seedLrmGD" kind="d"><b>(se não tiver prática leve a um técnico):</b></span><br />
<span id="bc_0_1b+seedLrmGD" kind="d">3) Abra o Hotbit, veja se os fusiveis não estão queimados, filamentos interrompidos. Se não estiverem, verifique os valores da fonte. Veja manual de serviço do Hotbit em www.msxpro.com/esquemas.html.<br /><br />4)
Se não for nenhum dos 3 aí é mais complicado, tem que levar à um técnico
em eletrônica ou especializado em micros antigos.</span><br />
<br />
<span id="bc_0_1b+seedLrmGD" kind="d">Abraços,</span><br />
<span id="bc_0_1b+seedLrmGD" kind="d">O Editor </span>Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com4tag:blogger.com,1999:blog-8396429764847684653.post-40061222906633495672018-01-01T04:06:00.001-08:002023-11-26T09:16:14.385-08:00História do Hotbit - Part-4, Floppy Drivers<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7H_vhE61mJJSxTY5MiDeYEQT5j4fJakY1V45apPL6zOFan0tvfKPNlDkB5r_t8nYiK6stMicDkD3p5x1nFn_aiX5d0WcmWFPBSpHzpyuqcIb3SIWzdlp3kaSChTS_tBAk6WRYmmjeok/s1600/anuncio.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="280" data-original-width="217" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7H_vhE61mJJSxTY5MiDeYEQT5j4fJakY1V45apPL6zOFan0tvfKPNlDkB5r_t8nYiK6stMicDkD3p5x1nFn_aiX5d0WcmWFPBSpHzpyuqcIb3SIWzdlp3kaSChTS_tBAk6WRYmmjeok/s400/anuncio.jpg" width="310" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Propaganda da época dos drives do Hotbit.</td></tr>
</tbody></table>
<b>HB-3600: </b>Controlador e fonte para dois drives de floppy HB-6000<b> </b>(5 e 1/4")<b></b><br />
<b>HB-6000: </b>drive de floppy de 5 e 1/4" de 360kb formatados por unidade de disco<b> </b><br />
<b>Data de Lançamento:</b>Março 1987<br />
<b>Data de termino da produção: </b>1987? <br />
<b>Versões:</b> 2? (branca original de 1987) e preta que aparece na caixa do Hotbit preto. <br />
<b>Provavelmente baseado no: </b>drive da Elebra<br />
<br />
Divulgado no final de 1986, o drive de disquete do MSX Hotbit, aparentemente foi lançado no mercado brasileiro em março de 1987. Era composto de uma base controladora (HB-3600) que podia controlar dois drives de 5 e 1/4 (HB-6000) de dupla face e 360kB formatados cada. A HB-3600 continha a fonte para os dois drives e se conectava no MSX Hotbit (HB-8000) via entrada de cartucho.<br />
<br />
Os drives podiam ser usados via o Hot-Basic, HB-DOS, ou HB-MCP (CP/M) e custavam em março de 1987, segundo a revista Micro Sistemas #66, Cz$ 18.000,00 que dividido pelo preço de capa da mesma edição da revista (Cz$40,00), equivalia ao preço de 450 revistas. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoGpHlJuVcx-zMgU7agQYdn9Gz9E23qqBTXWG5U4hWHcSjvdQ6XdYNP3ZVbaP6Q7-jDOADcR_G9SaBMQdtcGkaSGtNKTUMOBeDS8wMTAMuI2xE1OI6SjAfEXgmLdWoZYCIhOxqq1RyhYY/s1600/hotibit_drives.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="306" data-original-width="343" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoGpHlJuVcx-zMgU7agQYdn9Gz9E23qqBTXWG5U4hWHcSjvdQ6XdYNP3ZVbaP6Q7-jDOADcR_G9SaBMQdtcGkaSGtNKTUMOBeDS8wMTAMuI2xE1OI6SjAfEXgmLdWoZYCIhOxqq1RyhYY/s320/hotibit_drives.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Hotibit HB3600 e HB600 (foto: Microsistemas #66)</td></tr>
</tbody></table>
<br />
A caixa do Hotbit 1.2 Preto de 1987/1998 mostra fotos dos drives em preto combinando com a nova cor do computador. Cheguei a ver fotos da suposta versão preta na web uma vez.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcgx9TTIGOpiHQql6ZmU2R7iNxuHpWm0PF01WPN8KEc_MTaxfobCiQL_Q3iCrcZo3IN06sxKgqsQ-elRftj_oRq6Za1ycOw6qR-VhysjpGceEl8xy5b4Ij6aEj97lA0vkZQqdA7SRn_-I/s1600/caixa_hotbit_preto_verso.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="782" data-original-width="894" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcgx9TTIGOpiHQql6ZmU2R7iNxuHpWm0PF01WPN8KEc_MTaxfobCiQL_Q3iCrcZo3IN06sxKgqsQ-elRftj_oRq6Za1ycOw6qR-VhysjpGceEl8xy5b4Ij6aEj97lA0vkZQqdA7SRn_-I/s320/caixa_hotbit_preto_verso.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Drives Hotbit, versão preta, provavelmente nunca lançados.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Abraços,<br />
O Editor<br />
<br />
<a href="https://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjDx-iU3KLNAhXCQpAKHY3wCgAQjRwIBw&url=http%3A%2F%2Fforum.jogos.uol.com.br%2Fuma-coisa-que-os-pseudo-old-gamers-jamais-irao-ter_t_2979686%3Fpage%3D4&psig=AFQjCNGnLgN3V_n7bNExLRHHPV19V4j9bw&ust=1465828808353639"></a><br />
<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-47008275782379811832017-12-17T11:16:00.001-08:002017-12-19T03:08:40.940-08:00Review: Uzix, o Unix para MSXUltimamente tenho usado muito o Linux em casa e no trabalho e estou estudando para certificação LPI. Também usei o Solaris por muitos anos, mas ainda não conhecia o <a href="http://uzix.sourceforge.net/">Uzix</a>, uma implementação de Unix para o MSX criado pelo Adriano Cunha e amigos.<br />
<br />
Resolvi testa-lo, por hora, só consegui testa-lo no emulador RuMSX (não consgui rodar no BlueMSX) e achei muito interessante. Devido ainda estar em desenvolvimento o Uzix ainda não suporta todos os comandos do Unix ou do GNU/Linux.<br />
Há duas versões o Uzix 1.0 de 32k e o Uzix 2.0 (0.2.) que suporta mais features mas ainda está em versão preliminar.<br />
<br />
Baixei a imagem .dsk e carreguei no drive A do RuMSX configurado para MSX2.0. O login inicial do sistema é root, user, ou guest. No site do <a href="http://uzix.sourceforge.net/">Uzix</a> também tem uma imagem .dsk de aplicativos (tail, head, cal, etc) que carreguei no drive B e montei com <i>mount /etc/fd1 /mnt. </i><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHiEtTuu9l-pFDJlkee9cns_fZzcU4WTipFV2sM5P0bS2MQ9cJy8PZFUyQMYj4dlidXRPatQe_ONpjJjOK-lshksYXwQ8R0LDlQ512wuEuc1UgKnOoEfmhi85O9qFkeL4bf70EXhYpahs/s1600/uzix20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="595" data-original-width="595" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHiEtTuu9l-pFDJlkee9cns_fZzcU4WTipFV2sM5P0bS2MQ9cJy8PZFUyQMYj4dlidXRPatQe_ONpjJjOK-lshksYXwQ8R0LDlQ512wuEuc1UgKnOoEfmhi85O9qFkeL4bf70EXhYpahs/s320/uzix20.jpg" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQuHCoUuF18n6KcgD9FNjSX-pp1hr342CnnXZN0R1tjTY-MN-RjJuH99Xp7_D0uSrEKS9wxGIFfQLNx-V1AFxxAYlTmHS-peWr8DlnHq05IcdEACBIbSYOqeni52BFfIs1VBHy8-KMS-o/s1600/uzix20_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="596" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQuHCoUuF18n6KcgD9FNjSX-pp1hr342CnnXZN0R1tjTY-MN-RjJuH99Xp7_D0uSrEKS9wxGIFfQLNx-V1AFxxAYlTmHS-peWr8DlnHq05IcdEACBIbSYOqeni52BFfIs1VBHy8-KMS-o/s320/uzix20_2.jpg" width="320" /></a></div>
O <a href="http://uzix.sourceforge.net/uzix2.0/index.php?lang=us">Uzix 2.0</a> também tem um emulador de DOS (dosemu) e uma versão de basic. Aguns comandos que testei foram o ls, ps, top, mount, cat e tee. Infelizmente o projeto parece não ser atualizado a alguns anos, mas o codigo fonte está disponivel para quem quiser se aventurar no desenvolvimento.<br />
<br />
Existe também uma <a href="http://uzix.sourceforge.net/uzix1.0/index.php?lang=us">versão 1.0 do Uzix</a> que roda em MSX1. Assim que testar no MSX real, que precisa ter mapper posto um update.<br />
<br />
Abraços,<br />
O Editor<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com2tag:blogger.com,1999:blog-8396429764847684653.post-83549314793584506252017-09-10T06:42:00.000-07:002017-09-10T06:49:25.358-07:00Review: Teste dos Demos de Dvik & Joyrex no Hotbit<br />
<br />
Fiquei sabendo dos fantásticos <a href="http://www.dvik-joyrex.com/demos.html">demos para MSX1 de áudio e imagem de Dvik & Joyrex</a> , no site do <a href="http://www.retrocomputaria.com.br/">Retrocomputaria</a>.<br />
<br />
Vale a pena baixar e testa-los. Eles tem algoritmos avançados com efeitos de animação, transparência, zoom e rotação de dar inveja no mode-7 do Super Nes (exagerando só um pouquinho). A fluidez das animações é incrível e, fazem coisas que nem imaginávamos que seriam possíveis em um MSX1. Os efeitos de áudio, com som de bateria e sintetizadores, inclusive, um com musica cantada, também são bem legais, mas esse ultimo em formato rom, não funcionou no Hotbit com o SR3. Pode ser algum ajuste no SR3 mas é para usar a PSG padrão do MSX1, neste caso tive que rodar no BlueMSX. Os demos de áudio com versão em .dsk funcionaram bem melhor.<br />
<br />
Fiz o teste no Hotbit 1.1 com o <a href="http://msxhobby.blogspot.com.br/2016/11/msx-cartucho-sd-mappermegaram-512.html">Cartucho SD mapper de 512k </a>usando o SofaRun v3 e no Blue MSX. Alguns funcionaram melhor no emulador e outros no MSX real, sendo que as versões em formato .dsk (disquete) funcionaram melhor que as versões em ROM. As imagens com 105 cores só funcionaram no MSX real devido a frequência de vídeo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMafE9gZWa2qi4hO6ZQMiHfpmESjCJgCG7TDSm-51Q0zH_hP69TzV7cjth92c9wWMZSC-6mkHBhbckU9rKeMEEnTg3lnitjiIh-2ctEkDRVQ6KhR4A8A6jeJBXoBIS0Iv1ZNx22cqndG8/s1600/IMG_20170910_080415.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMafE9gZWa2qi4hO6ZQMiHfpmESjCJgCG7TDSm-51Q0zH_hP69TzV7cjth92c9wWMZSC-6mkHBhbckU9rKeMEEnTg3lnitjiIh-2ctEkDRVQ6KhR4A8A6jeJBXoBIS0Iv1ZNx22cqndG8/s320/IMG_20170910_080415.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8w8MvsXmGgkAxhsnG-hm4zjo9oflsgaxRyn2bsZcj7JkjRaKMudOtze5689syTuLu3EMnmr-bX0BdPuOoE6O_629MrfBHvz9DGslPBzLleMe3UFY5M7SoGFuFyt_yTnSHCQI_MJhZSCU/s1600/IMG_20170910_075745.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8w8MvsXmGgkAxhsnG-hm4zjo9oflsgaxRyn2bsZcj7JkjRaKMudOtze5689syTuLu3EMnmr-bX0BdPuOoE6O_629MrfBHvz9DGslPBzLleMe3UFY5M7SoGFuFyt_yTnSHCQI_MJhZSCU/s320/IMG_20170910_075745.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdJRVe_okHsBXqqtV_d3y08iajT-Uri2cNTOWGWNrBJRVpybo9okJTRacyWt636375fJ6lvcGIyXqz9USlCYqIVKaAHfLjTde7wptCJX-gCoG3U9XuXSuioPpPILU8fD_lUIgWYVa6g8/s1600/IMG_20170910_075031.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdJRVe_okHsBXqqtV_d3y08iajT-Uri2cNTOWGWNrBJRVpybo9okJTRacyWt636375fJ6lvcGIyXqz9USlCYqIVKaAHfLjTde7wptCJX-gCoG3U9XuXSuioPpPILU8fD_lUIgWYVa6g8/s320/IMG_20170910_075031.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrW9l8CEj2qFwAMYXYHd4Ema6x01JjXEQLGvs3UAKVvdCDF_wQWxxKDLUBiai0clbYKy6kw-fMspX9Ygq1dmBAUJd4EkXezo6IAINV2nUYorMxtw3mT6I0Ud-CQj43TMFWQIGut9Oc_Q0/s1600/IMG_20170910_075017.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrW9l8CEj2qFwAMYXYHd4Ema6x01JjXEQLGvs3UAKVvdCDF_wQWxxKDLUBiai0clbYKy6kw-fMspX9Ygq1dmBAUJd4EkXezo6IAINV2nUYorMxtw3mT6I0Ud-CQj43TMFWQIGut9Oc_Q0/s320/IMG_20170910_075017.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYIAD8pLLEDmnj33Mylff_jeFM3GLjxrjsl9GNgL3YGEeZB6cHZKv624qc04wp8QEr1EM59_cRNZxhjhRy9xkwysa6rN7hZwPuDmLE7jcLSJ1ABGAG3oKPoHFcaPHDGOCTpPFzau7spvE/s1600/IMG_20170910_074814.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYIAD8pLLEDmnj33Mylff_jeFM3GLjxrjsl9GNgL3YGEeZB6cHZKv624qc04wp8QEr1EM59_cRNZxhjhRy9xkwysa6rN7hZwPuDmLE7jcLSJ1ABGAG3oKPoHFcaPHDGOCTpPFzau7spvE/s320/IMG_20170910_074814.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ-i6Ko31mQzX-Nd6mXOdAsilSCt4Px42KrGEvuPav44s7s8Gns2gaFMswINgvlcIBHK7unhbCDOOqVMhoUDXzCOQYoxUr0Y7w6o-KLvQMUnAMfYv60LSicji_6PG1xhFgdftNkkAiLRg/s1600/IMG_20170910_074547.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ-i6Ko31mQzX-Nd6mXOdAsilSCt4Px42KrGEvuPav44s7s8Gns2gaFMswINgvlcIBHK7unhbCDOOqVMhoUDXzCOQYoxUr0Y7w6o-KLvQMUnAMfYv60LSicji_6PG1xhFgdftNkkAiLRg/s320/IMG_20170910_074547.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKOH_9mKrfgl2wS_fPkrf-8exwz4pDAs1ODxmWvYkQLiG7hgjS89rM5arByPoKivyOB3sk8EtPPh3S8rsYp9r-KcUbbFteDm7iIgh2oDv36IENJChaJmcPPzvT4iZf4bb9HoE06B5AMYA/s1600/IMG_20170910_074511.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKOH_9mKrfgl2wS_fPkrf-8exwz4pDAs1ODxmWvYkQLiG7hgjS89rM5arByPoKivyOB3sk8EtPPh3S8rsYp9r-KcUbbFteDm7iIgh2oDv36IENJChaJmcPPzvT4iZf4bb9HoE06B5AMYA/s320/IMG_20170910_074511.jpg" width="240" /></a></div>
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-48731169666382461702016-12-26T03:30:00.005-08:002017-06-26T16:01:16.008-07:00Como converter arquivos BMP em MSX SCR<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuZBnl4UF_7QOEvufXHvN7Bi4gyhuo48Gm9ib2JC5Y9_BVWavU1SAuH6e9HdoUKvDuqXhZcbwsslgJv14fF4iO2Bi3oVGF5fJi27YBxFAIeSwmK3eKl2WnSaQFalwb0QZOM2F_EjDlF8/s1600/hotbit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuZBnl4UF_7QOEvufXHvN7Bi4gyhuo48Gm9ib2JC5Y9_BVWavU1SAuH6e9HdoUKvDuqXhZcbwsslgJv14fF4iO2Bi3oVGF5fJi27YBxFAIeSwmK3eKl2WnSaQFalwb0QZOM2F_EjDlF8/s400/hotbit.jpg" width="400" /></a></div>
<div style="text-align: center;">
Original (256x 192)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbIYz6UfA6A5U-d7DPFCdt5O8FJLtHblCtU8r9vJSoIWp8u4uoV6tz1TPGEcpE4MkQSA1cfzOsFA21w6PdKngKzJYDLYtdBSkhdermsDTRGUnWgTKZY5LTCwy7heZ1zYIwiIc5hgpjUUs/s1600/hotbit_tms.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbIYz6UfA6A5U-d7DPFCdt5O8FJLtHblCtU8r9vJSoIWp8u4uoV6tz1TPGEcpE4MkQSA1cfzOsFA21w6PdKngKzJYDLYtdBSkhdermsDTRGUnWgTKZY5LTCwy7heZ1zYIwiIc5hgpjUUs/s400/hotbit_tms.jpg" width="400" /></a></div>
<div style="text-align: center;">
Conversão para SCREEN2</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Olá Pessoal,</div>
<div class="separator" style="clear: both; text-align: left;">
Atualizei este post para incluir uma segunda opção de conversão de bmp para Screen2 usando uma opção online. </div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<u>Opção-1, Off-line: Usando o Dithering and TMS9918:</u></div>
<ol>
<li>Baixe o programa <a href="https://sites.google.com/site/ragozini/dithering">Dithering and TMS9918</a> para PC.</li>
<li>Você terá que compilar o arquivo <span style="font-family: "courier new" , monospace;">scr2floyd.c </span>que vem no pacote, usando um compilador C no Windows ou Linux eu uso o <a href="http://www.codeblocks.org/downloads">Codeblocks</a> . Apenas criei um projeto C tipo console application no Codeblocks adicionei o arquivo <span style="font-family: "courier new" , monospace;">scr2floyd.c </span>e compilei. O arquivo compliado será um .exe que estará na pasta bin do projeto.</li>
<li> Então, no PC, use na linha de comando: <span style="font-family: "courier new" , monospace;">scr2floyd arquivo.tga</span></li>
<li>O arquivo de input do programa deve ser um .tga (Truevision Targa) 24-bit uncompressed devidamente cortado no formato 256 x 192 pixels. O <span style="font-family: "courier new" , monospace;">scr2floyd </span>fará o mapeamento e redução de cores para o formato screen2 usando algoritmos de seleção de cores.</li>
<li>O programa vai gerar o arquivo final em duas partes arquivo.chr e arquivo.clr.</li>
<li>Salve os arquivos em uma imagem .dsk para ler no emulador ou no MSX. (eu uso o <a href="https://www.msx.org/downloads/related/disk/dskexplorer-084">diskexplorer </a>no emulador e o SD card pois tenha o cartucho SD) </li>
<li> Use o programa basic abaixo para ler o arquvo no msx ou emulador e salvar no formato .SC2 (o extensão do arquivo na verdade não importa, é somente referencia):<br /><br /><span style="font-family: "courier new" , "courier" , monospace;">10 SCREEN 2: COLOR 15,4,4<br />20 BLOAD"NAME.CHR",S<br />30 BLOAD"NAME.CLR",S<br />40 BSAVE"A:NAME.SC2",&H0,&H4000,S<br />50 GOTO 50</span></li>
<li>Para ler arquivos .SC2 use o program .bas abaixo:<br /><br /><span style="font-family: "courier new" , "courier" , monospace;">10 REM LOAD TELA.SC<span style="font-family: "courier new" , "courier" , monospace;">2</span><br />20 CLS:SCREEN2<br />30 BLOAD"A:NAME.SC2",S<br />40 GOTO 40 </span></li>
</ol>
<span style="font-family: inherit;">Veja <span style="font-family: inherit;">o exemplo </span>abaixo, e também o do topo d<span style="font-family: inherit;">o artigo,</span> todos para MSX1 na SCREEN2. Como podem ver até que as 16 cores do MSX1 mandam bem. </span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbWhwO7kxXeHafnWK9_8tfg2jXuBkvOjPkoqtXro6kl_VUDlyJdkGJ8KPallBVnwElhQU_wT6B0wGfPmmx_9qfdPXRhM4mtWsU2o0u6ELKdgwlWWDTXF3la8Gn7csoAFoBb5Ds3khADuM/s1600/solario_orig.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbWhwO7kxXeHafnWK9_8tfg2jXuBkvOjPkoqtXro6kl_VUDlyJdkGJ8KPallBVnwElhQU_wT6B0wGfPmmx_9qfdPXRhM4mtWsU2o0u6ELKdgwlWWDTXF3la8Gn7csoAFoBb5Ds3khADuM/s400/solario_orig.jpg" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-family: inherit;"> Foto Original 256x192 (deve ser salva em .tga 24 bits unc<span style="font-family: inherit;">o</span>mpressed)</span></div>
<div style="text-align: center;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGx2iHDq6bQVPWxWy9zJW_AEo7kGKv1-j68rznN44CsD4h4yCX2Hh3IjxM2C_Ew9d-2nYJ2ykaYdGmKSd8Twck0u8utXRksB0JCQBj0eQsYG8hpIXj1-T8uygmBy9Bk_eQwNIGhzYDnIs/s1600/solario_tms.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGx2iHDq6bQVPWxWy9zJW_AEo7kGKv1-j68rznN44CsD4h4yCX2Hh3IjxM2C_Ew9d-2nYJ2ykaYdGmKSd8Twck0u8utXRksB0JCQBj0eQsYG8hpIXj1-T8uygmBy9Bk_eQwNIGhzYDnIs/s400/solario_tms.jpg" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-family: inherit;">Convers<span style="font-family: inherit;"><span style="font-family: inherit;">ão</span> para MSX1 <span style="font-family: inherit;">S</span>creen2.</span></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw1IrHLLEPZRknzuven993TQrIpfMTDlQ97gd4mbsUpvRMSPfb390mOdkL9rPA5chTpnbj1co_5-vHA26qtE15hjj4-MBJIdev1vQmc9BQfa8baza5ADw-4R_vgi_2rW31QmFJBB3fWxY/s1600/20161226_175649.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw1IrHLLEPZRknzuven993TQrIpfMTDlQ97gd4mbsUpvRMSPfb390mOdkL9rPA5chTpnbj1co_5-vHA26qtE15hjj4-MBJIdev1vQmc9BQfa8baza5ADw-4R_vgi_2rW31QmFJBB3fWxY/s400/20161226_175649.jpg" width="300" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0BmcCW7ygF71u2_MCkTuiR3_dmmQwOBpg9F3dSsDLvvMQ7YBlRlz7JcLgYFvmPfYMAKTFobE-J6zuIKcRnBFwntw_DllZCG0WATBXqSkRrQu6DcONaxbEkeSX0_65erG3iwfh-GatEt0/s1600/20161226_175940.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0BmcCW7ygF71u2_MCkTuiR3_dmmQwOBpg9F3dSsDLvvMQ7YBlRlz7JcLgYFvmPfYMAKTFobE-J6zuIKcRnBFwntw_DllZCG0WATBXqSkRrQu6DcONaxbEkeSX0_65erG3iwfh-GatEt0/s400/20161226_175940.jpg" width="300" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<u>Opção-2, On-line: Usando o: MSX Screen Converte:</u></div>
<ol>
<li>Esta opção e bem mais fácil e intuitiva</li>
<li>Acesse o MSX Converter em <a href="http://msx.jannone.org/conv/">http://msx.jannone.org/conv/</a></li>
<li>Selecione um arquivo .jpg, .png ou .gif de no máximo 400kb, não é necessário ajustar o tamanho ou cores da imagem original.</li>
<li>Clique em upload</li>
<li>Selecione as opções de conversão (Recomendo selecionar "Scale to compansate resolution" e "Error Difusion" </li>
<li>Clique em Converter, o site já gera a imagem convertida e o BAsic de carregamento.</li>
</ol>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbz_2FjzYn6U5VWvCVSNx0Z4Is9E4GnzhxVOsS8htjz4KXN29cudi7HjtHquEBlhRnQgNkl58ncQvbDSNiZMRxiXRJO4lft5YvaABNdKasFl7AdWP5SVP4x2Wo-SouTasKfElgQ9rKPdI/s1600/DSCF0012.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1280" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbz_2FjzYn6U5VWvCVSNx0Z4Is9E4GnzhxVOsS8htjz4KXN29cudi7HjtHquEBlhRnQgNkl58ncQvbDSNiZMRxiXRJO4lft5YvaABNdKasFl7AdWP5SVP4x2Wo-SouTasKfElgQ9rKPdI/s320/DSCF0012.JPG" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-fO7CcPtqcC3oCoRUq8pcL8QdzRrAE2s_AnAT450cYmaHLFvNo-QlEjfpzPDJ3kMwK9vMy6dWo1sjY2R1NklJJvGw84qKGD79TF3Wc_aRAwZ1Pm-QMVFMRvaZ2ijBORkqbWWjGaC97qY/s1600/praca_sc2.php.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="256" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-fO7CcPtqcC3oCoRUq8pcL8QdzRrAE2s_AnAT450cYmaHLFvNo-QlEjfpzPDJ3kMwK9vMy6dWo1sjY2R1NklJJvGw84qKGD79TF3Wc_aRAwZ1Pm-QMVFMRvaZ2ijBORkqbWWjGaC97qY/s320/praca_sc2.php.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3uzqsZ3XE-q3_mEskRQRXDRTuGEfvn3kjn8nVZxO6VVGl_5Vh86mRLl1x0ywmuXbbTiHSA5MXMsKx-509G03ztPWN8xtaBqGvnukkP336d5BNXd-xITuKsKuSW_6Y1XsaL-X6NIYydsg/s1600/SAM_0240.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="616" data-original-width="821" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3uzqsZ3XE-q3_mEskRQRXDRTuGEfvn3kjn8nVZxO6VVGl_5Vh86mRLl1x0ywmuXbbTiHSA5MXMsKx-509G03ztPWN8xtaBqGvnukkP336d5BNXd-xITuKsKuSW_6Y1XsaL-X6NIYydsg/s320/SAM_0240.JPG" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY9lCDUUL7tGwVDNW9PJYaJT7uDIq_man5NFlWGD-J5IYPdVopiK7n5fX7v3lIwlrBYavVDYcJmrRn-8j2FNzWuJg_6YKnBGkra0sXmvUUPnybIpVNCBgQvklKG2F_7IiC5QyZYQfY5Zo/s1600/elkazum_sc2.php.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="256" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY9lCDUUL7tGwVDNW9PJYaJT7uDIq_man5NFlWGD-J5IYPdVopiK7n5fX7v3lIwlrBYavVDYcJmrRn-8j2FNzWuJg_6YKnBGkra0sXmvUUPnybIpVNCBgQvklKG2F_7IiC5QyZYQfY5Zo/s320/elkazum_sc2.php.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijJfuKL68wkI24saeArq9Rsi0QQIATSccy3eHrc1wBz6JYRagxFFyEiNzplGGKGhbXhHKmKG6NOYagak9LXRb6wglLjFi13EnQZoNd4DrC0UJH8myuRaxWSdxEkmni8qBEot7fEMGWkzE/s1600/hotbit_03.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijJfuKL68wkI24saeArq9Rsi0QQIATSccy3eHrc1wBz6JYRagxFFyEiNzplGGKGhbXhHKmKG6NOYagak9LXRb6wglLjFi13EnQZoNd4DrC0UJH8myuRaxWSdxEkmni8qBEot7fEMGWkzE/s320/hotbit_03.JPG" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVmpAj8iOVSPscgecbDC8Y4K8xR05I7TI2No3Pxd-Pg3Zu65HOpD4brlQAXwdmUBtOLdT4aD09GQGb7TgOrNcZnfNfOTZ-u436d4vIpTh8d1Llhr_myG-agfnOfy8tK-eCE6ZtYXrjs8/s1600/hotbit_sc2.php.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="256" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVmpAj8iOVSPscgecbDC8Y4K8xR05I7TI2No3Pxd-Pg3Zu65HOpD4brlQAXwdmUBtOLdT4aD09GQGb7TgOrNcZnfNfOTZ-u436d4vIpTh8d1Llhr_myG-agfnOfy8tK-eCE6ZtYXrjs8/s320/hotbit_sc2.php.png" width="320" /></a></div>
<br />
<br />
<div style="text-align: center;">
</div>
<br />
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-family: inherit;">Abraços,</span></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-family: inherit;">O Editor </span></span></div>
<div style="text-align: center;">
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: center;">
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-21529157536372566852016-12-21T03:20:00.001-08:002016-12-27T05:16:42.437-08:00Dica de Livro: Dossiê OLD!Gamer: MSX<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKAyml4pzUypTUl3IEosJgHxbxx_t8eKWyorvv13CqCDi_PI77qI98ev7onb88o93pTZdI6fkbw6_wOWuO2-tb_QSV4hzlU0cmsJPshY5EfJVDcziPNfJtFvJWvn9WcX56JiC3qFAebNk/s1600/msx_old_gamer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKAyml4pzUypTUl3IEosJgHxbxx_t8eKWyorvv13CqCDi_PI77qI98ev7onb88o93pTZdI6fkbw6_wOWuO2-tb_QSV4hzlU0cmsJPshY5EfJVDcziPNfJtFvJWvn9WcX56JiC3qFAebNk/s320/msx_old_gamer.jpg" width="222" /></a></div>
<br />
<br />
<b>Título:</b> <a href="https://www.europanet.com.br/livraria/games/dossie-oldgamer-msx/">Dossiê OLD!Gamer: MSX</a><br />
<b>Autores:</b> Vários<br />
<b>Editora: </b>Europa<br />
<b>Ano: </b>2016<br />
<b>Páginas: </b>274<br />
<b>ISBN:</b> 978-85-7960-355-6 <br />
<div id="stcpDiv" style="left: -1988px; position: absolute; top: -1999px;">
9788579603556 </div>
<br />
<b>Sinopse: </b>Conheça a história do microcomputador MSX que fez sucesso nos anos 1980. O livro conta sobre os modelos, fabricantes, HW e faz a resenha de 496 Jogos. Só senti falta de alguns jogos clássicos como Payload, Crazy Cars, Knight Leon, Kungfu Master e 10th Frame. Parte da coleção da revista Biblioteca Old Gamer da Editora Europa a seria conta com mais 13 títulos sobre consoles e arcades, sendo que o do MSX é o volume 5. O livro pode ser adquirido individualmente ou junto com a coleção no<a href="http://www.europanet.com.br/livraria/colecoes/colecao-completa-dossie-oldgamer-13-volumes/"> site da editora Europa.</a><br />
<br />
Abraços,<br />
O Ediotr <b> </b>Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-61465378391610747452016-11-20T05:30:00.000-08:002016-11-24T13:39:16.270-08:00Review: MSX Cartucho SD Mapper/Megaram 512kB<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPp1Wdrscy3Zfcp1KhftwduApSTjKRSxUrFhtdNEq1k-MuHXGFn4s5fvBqh5vDrBsmF_I71uNRduWTZ2jlo8GesPbJDNU7Dsz8zfN6_01Seb4eJw2DnowmIQRjyssdqMqJBO4k0UcFVY/s1600/CAM00252.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPp1Wdrscy3Zfcp1KhftwduApSTjKRSxUrFhtdNEq1k-MuHXGFn4s5fvBqh5vDrBsmF_I71uNRduWTZ2jlo8GesPbJDNU7Dsz8zfN6_01Seb4eJw2DnowmIQRjyssdqMqJBO4k0UcFVY/s320/CAM00252.jpg" width="320" /></a></div>
<br />
<div style="text-align: center;">
Cartucho leitor duplo SD Mapper/Megaram 512kB <br />
(projeto do Fabio Belavenuto e PCB do Luciano Sturaro)</div>
<br />
Apesar de ser legal relembrar o carregamento de jogos e programas no MSX via porta cassete queria uma interface de floppy emuladora USB. Porém o preço de uma interface IDE, o de um emulador de disquete USB e mais a fonte ia sair muito caro (melhor custo beneficio comprar um MSX que vem com interface e drive no pacote). Mas me deparei com outro item desejado no ML: O cartucho leitor duplo SD Mapper/Megaram 512kB, projeto do Fabio Belavenuto e PCB do Luciano Sturaro. <b>Nota1: </b>Quando aparece no ML para vender tem que comprar logo pois acaba rápido. <b>Nota-2:</b> Não estou certo se este cartucho funciona ou não nos Expert plus e DD plus que tem slots expandidos e fazerem uso do BUSDIR, que apesar de ser parte do padrão MSX, não sei se o cartucho está adaptado a esta funcionalidade. Segundo a documentação do mesmo do <a href="https://github.com/fbelavenuto/msxsdmapper">github </a>, quando a função mapper/megaram esta desativada o expansor de slots é desativado e com isso a função SD poderia ser usada em slots expandidos. <br />
<br />
O <a href="https://www.youtube.com/watch?v=YPoBfv2id-Q">cartucho leitor duplo SD Mapper/Megaram 512kB</a> além de prover o MSX com uma megaram 512kB e uma mapper de 512kB tem dois leitores de cartão SD que funcionam de modo similar aos floppy disks e HDs. Este modelo suporta o formato FAT12 do MSX-DOS 2.x e o FAT16 do PC via sistema <a href="http://www.konamiman.com/msx/msx-e.html">Nextor-DOS do Konamiman </a>(Ver post anterior). Sendo assim podemos ler e gravar arquivos no PC ou MSX com SD formatado em FAT16, inclusive, com suporte a subdiretórios. É até possível editar arquivos texto e binários nos dois sistemas. Uma chave ativa a função mapper/megaram e ativa extensão de slots, uma outra seleciona entre o modo mapper ou modo megaram.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAxbbddNgEeJXI890gVl8F_WoWIrjJVwa2DMHttaq6k7JwRWMro0bCNKjHv8mjvV4aKk0lQZc0o-Q2ZIdM7hAb-ymh7WgZX_FBYFLNLFQDKqtycBj_k_a8Rit7LHfQmXThu4QI8Y6b5Hk/s1600/CAM00244.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAxbbddNgEeJXI890gVl8F_WoWIrjJVwa2DMHttaq6k7JwRWMro0bCNKjHv8mjvV4aKk0lQZc0o-Q2ZIdM7hAb-ymh7WgZX_FBYFLNLFQDKqtycBj_k_a8Rit7LHfQmXThu4QI8Y6b5Hk/s320/CAM00244.jpg" width="320" /></a></div>
<div style="text-align: center;">
Tela do Nextor DOS 2</div>
<br />
Os comandos do Nextor-DOS, que está na versão 2, são os mesmos do MSX-DOS 2.31 com 100% de compatibilidade nominal. Para tanto é necessário ativar a chave mapper no cartucho de outro modo será possível usar somente o BASIC de disco ou o MSX-DOS-1.<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj32Vew2sTDPht-UCDLyvF_bH-wPPHRzaPt0pvSD-DhbBXKt-gYw5OQ9pZ8Kegh2jWtxKqseIVLhLbtyW16GIIK3o7QV6ZZ75ZJnlLRwireTYbESojfT9BmoQpsJi0h1ySXx-W_ioK6roY/s1600/CAM00250.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj32Vew2sTDPht-UCDLyvF_bH-wPPHRzaPt0pvSD-DhbBXKt-gYw5OQ9pZ8Kegh2jWtxKqseIVLhLbtyW16GIIK3o7QV6ZZ75ZJnlLRwireTYbESojfT9BmoQpsJi0h1ySXx-W_ioK6roY/s320/CAM00250.jpg" width="320" /> </a><br />
Hotbit:1.1 é nois na Fita </div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
O meu cartucho veio com um SD card de 2G brinde e aparentemente o sistema suporta SD de 4G. Eu conectei um segundo SD de 512kB sem problemas. É possível ler arquivos .BAS, ROMs e SDK e usar vários aplicativos para MSX-DOS normalmente. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Também é possível conectar um floppy disk ao slot 2 do MSX e carregar jogos de megaram no cartucho (em modo megaram) que esta no slot1.Nos anos 1980 e 1990, nem sonhávamos com isso - a propaganda dos drivers do Hotbit à epoca exaltavam os 720k com dois disk drivers! - mas este cartucho SD tornou meu Hotbit com maior "HD" que meu PC 200MMX de 1997 que tinha um HD de 2G! E sem contar que o cartucho SD é solid state! </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Ainda estou fazendo testes, mas até agora tudo ok. Fica o agradecimento ao pessoal da comunidade MSX que dedicou tempo projetando e fabricando o HW e SW que mantêm vivos nossos MSX e cada vez mais poderosos.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Abraços,</div>
<div style="text-align: left;">
O Editor </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com7tag:blogger.com,1999:blog-8396429764847684653.post-44941506981486756802016-11-15T04:28:00.001-08:002016-11-15T04:28:29.285-08:00Dica de OS para MSX: Nextor Decobri o <a href="http://www.konamiman.com/msx/msx-e.html">OS Nextor</a> do Konamiman, um OS para MSX compatível com o MSX-DOS, quando encomendei um cartucho SD.<br />
<br />
Ele pode ser usado tanto em emuladores quanto no próprio MSX. No site do <a href="http://www.konamiman.com/msx/msx-e.html">Konamiman </a>, você encontra os arquivos e tools bem como tutorias de uso. eu testei no OpenMSX e funcionou perfeito. Quando chegar meu cartucho SD postarei mais informações.<br />
<br />
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-63557310772234224252016-10-02T04:43:00.002-07:002016-11-02T04:28:02.345-07:00Dica de App: Carregue programas no MSX com o MSX2CAS<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCOMDZAQGVGYkVljQyWR9ZNEfpLBd6Kdnh8zuQue0IB8MYITR4gUCBpNx2-D-hsxeKy4WK0029AsGgTH11Vzw40sORsz1jqZ-EQ4zccqQpzEW9sTeprUKCbj1q3lRUeAsUxr7SaXHMxtU/s1600/msx2cas.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCOMDZAQGVGYkVljQyWR9ZNEfpLBd6Kdnh8zuQue0IB8MYITR4gUCBpNx2-D-hsxeKy4WK0029AsGgTH11Vzw40sORsz1jqZ-EQ4zccqQpzEW9sTeprUKCbj1q3lRUeAsUxr7SaXHMxtU/s320/msx2cas.jpg" width="320" /></a></div>
<br />
<br />
Disponível para Windows/Mac/Linux e Android o <a href="https://sites.google.com/site/msx2cas/home">MSX2 CAS</a> é um aplicativo capaz de transformar arquivos de MSX no sinal padrão do cassete.<br />
<br />
Os formatos suportados são .rom (mas 32k) e. bin files (pode requerer. un loader .bas).<br />
<br />
No site do <a href="https://sites.google.com/site/msx2cas/home">MSX2 CAS</a> você encontra uma dica de como construir um cabo para conectar no computador ou no celular/tablet. O cabo padrão do MSX que vem com plug mono só funciona em entradas ear que não combinam a entrada de microfone no mesmo pino. Para essas deve-se construir um cabo com pino que junto os canais L e R na ponta do pino e o ground no centro.<br />
<br />
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-7541812335463594332016-06-12T07:49:00.002-07:002017-05-27T16:32:18.730-07:00História do Hotbit - Part-3, Joysticks<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLDazAPjheTmNcUSD3iqjD1OdLSlFY5AHiZUy1oBoIVbS9ct1P3BulPJDrU1wk8CJ_nlZAQPUA55tpT2YoYq9quntpvmFjfFFz2f3qDApl4Idfk9hpeENJyhBqFUzJoiOJDFVrzO0bXLU/s1600/CAM00174.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Joysticks Hotbit Sharp" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLDazAPjheTmNcUSD3iqjD1OdLSlFY5AHiZUy1oBoIVbS9ct1P3BulPJDrU1wk8CJ_nlZAQPUA55tpT2YoYq9quntpvmFjfFFz2f3qDApl4Idfk9hpeENJyhBqFUzJoiOJDFVrzO0bXLU/s320/CAM00174.jpg" title="Joysticks Hotbit Sharp" width="320" /></a></div>
<br />
<b>HB-100: </b>Joystick, digitais 8 posições com 2 botões com funções independentes<br />
<b>Data de Lançamento:</b>1985<br />
<b>Data de termino da produção: </b>1987? <br />
<b>Versões:</b> 1, <br />
<b>Provavelmente baseado no: </b> <a href="https://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjDx-iU3KLNAhXCQpAKHY3wCgAQjRwIBw&url=http%3A%2F%2Fforum.jogos.uol.com.br%2Fuma-coisa-que-os-pseudo-old-gamers-jamais-irao-ter_t_2979686%3Fpage%3D4&psig=AFQjCNGnLgN3V_n7bNExLRHHPV19V4j9bw&ust=1465828808353639">joystick Dynacom preto padrão Atari.</a><br />
<br />
Os joysticks da marca Hotibit da Sharp, eram obviamente baseados nos joysticks da Dynacom, a diferença estava na cor cinza e branca dos joysticks do Hotibit e dos botões terem funções diferentes. Algumas pessoas até compravam o joystick preto da Dynacom para combinar com o Hotbit preto, alheios ou, não se importando que perderiam a função do botão 2. Nunca abri um "dyna-stick" mas creio que poderia se converter o mesmo para padrão MSX com 2 botões funcionais, trocando-se o cabo e fazendo jumpers internos no joystick.<br />
<br />
O joystick do Hotbit, assim como seu primo do Dynacom, era um tanto duros e com pouco curso da manopla, porém duráveis e ótimos para jogos de nave. É um pouco raro nos leilões web, mas ainda aprece de vez em quando e com caixa para vender. A sua manutenção consiste em troca do cabo apenas.<br />
<br />
Abraços,<br />
O Editor Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com2tag:blogger.com,1999:blog-8396429764847684653.post-1732392092880869912015-12-29T03:12:00.003-08:002016-07-26T06:03:34.058-07:00História do Hotbit - Part-2Nesta continuação da história do Hotbit vamos falar um pouco dos periféricos lançados para este MSX. Foram eles:<br />
<br />
- Gravador Cassete - HB-2400<br />
- Joysticks - HB-100<br />
- Controladora de floppy - HB-3600<br />
- Floppy Driver 5 e 1/2" HB-6000<br />
- Interface RS232 - HB3000<br />
- Placa de 80 colunas - HB-4000 <br />
- Expansão de Memória 64k - HB-4100<br />
<br />
Uma curiosidade na numeração dos produtos é que ela apresenta uma característica de cada um. Por exemplo: O Hotbit é o HB-8000, que representa o endereço de memória RAM, em hexadecimal onde começa a área para os programas em BASIC. Já o gravador cassete HB-2400, se refere a velocidade máxima de leitura e gravação, 2400 bauds. Ao passo que o HB-3600 representa uma controladora de floppy drivers de 360kbytes.<br />
<br />
<b>HB-2400: </b>Gravador cassete<br />
<b>Data de Lançamento:</b>1985<br />
<b>Data de termino da produção: </b>1987? <br />
<b>Versões:</b> 3, com pequenas melhorias e modificações estéticas. A última versão apresenta uma modificação no espelho que tem a marca da Sharp e, é muita rara.<br />
<b>Provavelmente baseado no: </b>Spectravideo SV-903 cassettte recorder<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiquGuloxDg75KQ7Em58aw7RExC9nwMQMDMvFwko3oCDWfA-CWroS5WSenN5jW0Sv9RgMPjLsTE2MhSFjUKba0qYopmHkdPQ__OPlyS1FaWH007cpqcz9P_rw3t_wSHVdlcADiEwCQgDs/s1600/hb-2400.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Gravador HB2400 Hotbit Sharp" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiquGuloxDg75KQ7Em58aw7RExC9nwMQMDMvFwko3oCDWfA-CWroS5WSenN5jW0Sv9RgMPjLsTE2MhSFjUKba0qYopmHkdPQ__OPlyS1FaWH007cpqcz9P_rw3t_wSHVdlcADiEwCQgDs/s320/hb-2400.jpg" title="Gravador HB2400 Hotbit Sharp" width="320" /></a></div>
<div style="text-align: center;">
"À esquerda HB-2400 (1985-1987), à direta 2a revisão (1987)</div>
<br />
Continua...<br />
<br />
<br />
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-62201490168477624122015-05-03T07:43:00.002-07:002015-05-10T08:42:19.814-07:00MSX como um OS ou Virtual MachineNós que curtimos o MSX e retro computação não podemos negar que o padrão morreu mas muitas vezes pensamos em como ressuscita-lo.<br />
<br />
Creio que a nível de HW seria muito difícil algum fabricante pensar em um conceito MSX visto que até os fabricantes de consoles de videogames da ultima geração estão usando arquiteturas parecidas com a do PC.<br />
<br />
Em sua época de lançamento o MSX fazia concorrência aos videogames de seu período e era uma boa alternativa aos caros PCs que nem placa de video ou monitor coloridos tinham em suas versões mais baratas. O MSX servia além de jogos, como ferramenta para fazer trabalhos escolares, da faculdade, pesquisadores, aprender programação e computação.<br />
<br />
Então pensei, e se tivéssemos uma plataforma de software que fosse mais que um simples emulador, mas uma máquina virtual que além de compatível com o MSX original estendesse suas capacidades?<br />
<br />
Poderíamos estender o BASIC (Eca! Ok, ou criar ou usar outra linguagem) para trabalhar facilmente com desenhos 3D e programar jogos da mesma maneira divertida que era em BASIC. <br />
<br />
Esta MSX VM ou OS, seria instalada em um PC de forma a resgatar as caracteríssticas que faziam do MSX um computador divertido para programar além de poder se otimizada para fazer frente aos videgames de última geração.<br />
<br />
Bom, esta lançada a ideia. Se alguém ver este artigo, por favor comente, pode ser em Inglês ou Espanhol mesmo.<br />
<br />
Abraços,<br />
O Editor<br />
<br />
<br />
<br />
<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com1tag:blogger.com,1999:blog-8396429764847684653.post-17760583131416577782015-04-21T12:14:00.001-07:002015-04-21T12:14:15.218-07:00Conversão de joystick de Master System / Megadrive para o MSXPodemos encontrar ótimos artigos para conversão de joysticks padrão Master System / Megadrive para o MSX. Porém, apresento aqui também, minha experiência neste tipo de modificação.<br />
<br />
Para esta conversão usei um joystick com 8 botões (A, B, C, X, Y, Z, START, MODE). Porém o procedimento é o mesmo para joysticks de 2 botões (A, B) ou de 3 botões (A, B, C) dada a compatibilidade destes joysticks entre o SMS e SMG.<br />
<br />
<b>Nota: </b>Após a conversão o joystick irá funcionar no MSX, com os botões B (como botão 1 do MSX) e C (como botão 2 do MSX) , mas no SMS, SMD, somente o botão B irá funcionar. <br />
<br />
Abaixo uma tabela comparando o padrão de pinagem: <br />
<table border="1" cellpadding="4" cellspacing="0" style="width: 348px;"><colgroup><col width="64"></col>
<col width="79"></col>
<col width="78"></col>
<col width="94"></col>
</colgroup><tbody>
<tr valign="TOP">
<td bgcolor="#b3b3b3" width="64"><div class="western">
<b>Pino</b></div>
</td>
<td bgcolor="#b3b3b3" width="79"><div class="western">
<b>MSX</b></div>
</td>
<td bgcolor="#b3b3b3" width="78"><div class="western">
<b>SMS/SMD</b></div>
</td>
<td bgcolor="#b3b3b3" width="94"><div class="western">
<b>Cor</b></div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
1</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
↑</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
↑</div>
</td>
<td width="94"><div class="western">
Amarelo</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
2</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
↓</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
↓</div>
</td>
<td width="94"><div class="western">
Laranja</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
3</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
←</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
←</div>
</td>
<td width="94"><div class="western">
Vermelho</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
4</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
→</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
→</div>
</td>
<td width="94"><div class="western">
Marrom</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
5</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
+5V</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
+5V</div>
</td>
<td width="94"><div class="western">
Preto</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
6</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
Botão 1</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
A/B</div>
</td>
<td width="94"><div class="western">
Verde</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
7</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
Botão 2</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
Seletor</div>
</td>
<td width="94"><div class="western">
Azul</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
8</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
OUT</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
GND</div>
</td>
<td width="94"><div class="western">
Cinza</div>
</td>
</tr>
<tr valign="TOP">
<td width="64"><div class="western">
9</div>
</td>
<td width="79"><div align="CENTER" class="western" style="widows: 132;">
GND</div>
</td>
<td width="78"><div align="CENTER" class="western" style="widows: 132;">
Start/C</div>
</td>
<td width="94"><div class="western">
Branco</div>
</td></tr>
</tbody></table>
<br />
<br />
Para converter o joystick, basta abri-lo e realizar as seguintes resoldagens:<br />
1) Solte o fio branco da placa do joystick (pino 9) e solde o no mesmo lugar do fio Cinza (pino 8).<br />
2) Solte o fio Azul (pino 7) e solde o no lugar onde estava antes o fio Branco (pino 9)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif3Av34IV5koY8d0FZEtY4_Gq4yFmbGx-LroT4FR_RH7yZeCeYyH4c1MrHBfcVU3PaPYQeZxhJiGXGFSGLeuFOQS4S9lVitsexq6OO7WQsAQYDZ7R4DTy9ZiG18OZTS_a-Qk72HLDiZHk/s1600/joystick_msx.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif3Av34IV5koY8d0FZEtY4_Gq4yFmbGx-LroT4FR_RH7yZeCeYyH4c1MrHBfcVU3PaPYQeZxhJiGXGFSGLeuFOQS4S9lVitsexq6OO7WQsAQYDZ7R4DTy9ZiG18OZTS_a-Qk72HLDiZHk/s1600/joystick_msx.JPG" height="240" width="320" /></a></div>
<br />
<b>Nota: </b>No meu caso não foi necessário reconectar nada onde estava o fio Azul (pino 7 no SMD), que é o seletor que controla a leitora do pino 6 para os botões A/B e do pino 9 para botões Start/C. Isto se deve ao fato de que o pino 7 da placa do joystick ficou em nível 1, fazendo com que os pinos 6 e 7 do MSX consigam ler os botões B e C respectivamente.<br />
<br />
<b>Nota:</b> Também não foi necessário realocar o fio Cinza (OUT do MSX, GND no SMS/SMD) e ao soldar o fio Branco no mesmo lugar, visto que, o OUT do MSX normalmente tem valor zero vindo do MSX. <br />
<br />
Pronto, agora é só remontar o joystick e estará funcionando com os botões B(1) e C(2) no MSX.<br />
<br />
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com2tag:blogger.com,1999:blog-8396429764847684653.post-47204857774999794992015-03-01T03:24:00.001-08:002015-03-01T03:24:50.376-08:00Movimentação de sprites em BASICQuando tive meu primeiro Hotbit, nos anos 1990, tentei por muito tempo criar joguinhos em BASIC. Meu problema era que quando conseguia movimentar o sprite do jogado não conseguia movimentar o cenário, ou os sprites do jogo.<br />
<br />
A solução é estudar o loop básico de jogos:<br />
1) Ler movimento dos controles<br />
2) Atualizar posição do jogador<br />
3) Atualizar posição do cenário e sprites do jogo<br />
4) Checar colisões<br />
5) Desenhar tudo<br />
<br />
Assim, 25 anos depois consegui faze-lo!<br />
Abaixo, temos o exemplo em BASIC do lançamento de um sprite de foguete vinha no manual do Hotbit. A diferença é que as nuvens se movimentam ao mesmo tempo que é possível mover a base do foguete e durante seu lançamento.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><br />10 SCREEN 2,3:COLOR 1,4,1<br />20 DATA 0,0,0,0,3,7,15,63<br />30 DATA 63,127,127,63,31,1,0,0<br />40 DATA 0,0,0,0,192,252,255,255<br />50 DATA 255,255,255,255,255,255,28,0<br />60 DATA 0,0,0,1,15,31,255,255<br />70 DATA 255,255,255,255,255,255,30,0<br />80 DATA 0,0,0,128,224,248,248,252<br />90 DATA 252,248,248,240,240,224,0,0<br />100 DATA 0,0,0,28,126,127,255,127<br />110 DATA 31,15,7,3,0,0,0,0<br />120 DATA 0,0,0,0,96,240,248,252<br />130 DATA 254,254,252,252,248,0,0,0<br />140 DATA 0,0,0,0,0,0,3,15<br />150 DATA 63,255,255,127,63,31,0,0<br />160 DATA 0,0,0,0,0,248,252,254<br />170 DATA 254,252,252,252,252,248,248,0<br />180 DATA 0,0,0,0,0,0,0,0<br />190 DATA 0,0,0,0,0,0,0,0<br />200 DATA 3,3,7,7,7,7,7,15<br />210 DATA 15,15,15,31,31,31,31,31<br />220 DATA 0,0,0,0,0,0,0,0<br />230 DATA 0,0,0,0,0,0,0,0<br />240 DATA 255,255,255,16,40,16,0,0<br />250 DATA 0,0,0,0,0,0,0,0<br />260 DATA 255,255,255,0,1,0,0,0<br />270 DATA 0,0,0,0,0,0,0,0<br />280 DATA 240,240,240,128,64,128,0,0<br />290 DATA 0,0,0,0,0,0,0,0<br />300 DATA 8,28,28,62,62,62,127,255<br />310 DATA 62,62,62,62,127,255,201,128<br />320 DATA 0,0,0,0,0,0,0,128<br />330 DATA 0,0,0,0,0,128,128,128<br />340 DATA 8,28,28,62,62,62,62,28<br />350 DATA 28,20,0,0,0,0,0,0<br />360 DATA 0,0,0,0,0,0,0,0<br />370 DATA 0,0,0,0,0,0,0,0<br />380 FOR J=1 TO 9:A$=""<br />390 FOR I=1 TO 32:READ A:A$=A$+CHR$(A):NEXT I<br />400 SPRITE$(J)=A$:NEXT J<br />410 CIRCLE(88,120),16,6,-1E-04,-3.415,.5<br />420 PAINT(88,118),6<br />430 LINE(0,192)-(255,120),12,BF<br />440 I=120:J=144:FG=0:SP9=0<br />450 ONKEY GOSUB 790<br />460 KEY(1)ON<br />470 '<br />480 IF FG=1 THEN GOTO 520<br />490 IF STRIG(0)=-1 THEN FG=1<br />500 IF STICK(0)=3 THEN GOSUB 750<br />510 IF STICK(0)=7 THEN GOSUB 770<br />520 IF FG=1 THEN GOSUB 670<br />530 D=D+1<br />540 GOSUB 570<br />550 GOTO 480<br />560 '<br />570 PUT SPRITE 5,(I,J),1,5<br />580 PUT SPRITE 6,(I,J+32),1,6<br />590 PUT SPRITE 7,(I+32,J+32),1,7<br />600 PUT SPRITE 8,(I+32,J+K),7,8<br />610 PUT SPRITE1,(80+D,16),15,1<br />620 PUT SPRITE2,(112+D,16),15,1<br />630 PUT SPRITE 10,(160+D,80),15,3<br />640 PUT SPRITE 11,(16+D,48),15,3<br />650 RETURN<br />660 '<br />670 K=K-1<br />680 M=K+32<br />690 IF SP9=1 THEN GOTO 710<br />700 PUT SPRITE 9,(I+32,J+M),9,9:SP9=1<br />710 PUT SPRITE 9,(I+32,209),9,9:SP9=0<br />720 IF K=-177 THEN GOSUB 790<br />730 RETURN<br />740 '<br />750 I=I+1:IF I>200 THEN I=200<br />760 RETURN<br />770 I=I-1:IF I<0 THEN I=0<br />780 RETURN<br />790 COLOR 15,4,4:END</span><br />
<br />
Abraços,<br />
O Editor<br />
Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-45173073240869417642015-02-02T05:35:00.002-08:002023-11-26T08:41:02.589-08:00História do Hotbit - Part-1<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI9GcgxVZDmJWsbLYP_RkQHSdrg1y1Ub1tdhNRK-oYXLikjvDDFazD1Xr0DmMEVkG9d5C97JK4C8LNtBFXEG_a99yD-czuzNZnhoWVMs7S_1C-JoYdSgQnzRYZyyoVAXPHOl9fQfHou08/s1600/hotbit_5.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI9GcgxVZDmJWsbLYP_RkQHSdrg1y1Ub1tdhNRK-oYXLikjvDDFazD1Xr0DmMEVkG9d5C97JK4C8LNtBFXEG_a99yD-czuzNZnhoWVMs7S_1C-JoYdSgQnzRYZyyoVAXPHOl9fQfHou08/s1600/hotbit_5.JPG" width="320" /></a></div>
<br />
O Hotbit Branco 1.1<br />
<br />
<b>Modelo:</b> Hotbit MSX 1 <br />
<b>Fabricante:</b> Epcom/Sharp, Brasil<br />
<b>Anos de fabricação:</b> 1985-1988<br />
<b>Nota do Editor: </b>*****<br />
<b>Provavelmente baseado no: </b> Canon V-20<br />
<br />
O Hotbit foi um MSX 1 lançado pela Sharp/Epcom no Brasil no de 1985 a 1988. Tenho tentado procurar mais informações sobre seu projeto na web, porém sem muitas informações. Então aqui vão algumas observações:<br />
<br />
O design do Hotbit parece ter sido inspirado levemente no Canon V-20, notoriamente, o formato e tamanho das teclas de setas, a disposição das teclas do teclado e, o formato geral do console. Mas o Hotbit está longe de ser uma mera copia, ele tem um design próprio que até hoje parece moderno.<br />
<br />
A construção da placa interna do Hotbit é boa, do ponto de vista de montagem, e conta com bons componentes, não sendo um projeto eletrônico perfeito, ainda acho-a melhor resolvida esteticamente que a do Expert. Muitos Hotbits estão funcionando até hoje depois de 30 anos, e as teclas não perderam o desenho das letras como no caso de algumas versões dos Experts. Porém, as teclas de função e de setas poderiam ser melhores, sua ventilação poderia ser melhor e a fonte poderia ter mais potência para acessórios, como o Expert que era muito melhor nestes quesitos. Há relatos de que a fonte original do Hotbit esquentava muito quando transformado para versão 2.0 e alguns trocaram a fonte original por uma de PC. De qualquer modo é sempre recomendado usar um estabilizador de computador e não liga-lo direto a rede elétrica.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnDb-MPYVSDTx3CKaUamkHimpONxnTxISd2PzCcl1V7sYrEswUnaPCbhrNL9gqrg6Ywyt6I4PwN6YM_YqQO0-FMjE-LYMHkUoyZXeZTgmioqtbJztxo33U0rlfXC26xgI5IaAU-FicwEM/s1600/hb_2_i_01.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="MSX Hotbit por dentro" border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnDb-MPYVSDTx3CKaUamkHimpONxnTxISd2PzCcl1V7sYrEswUnaPCbhrNL9gqrg6Ywyt6I4PwN6YM_YqQO0-FMjE-LYMHkUoyZXeZTgmioqtbJztxo33U0rlfXC26xgI5IaAU-FicwEM/s1600/hb_2_i_01.JPG" title="MSX Hotbit por dentro" width="320" /></a></div>
Placa mãe, a esquerda e centro, conversor de RF, no meio, e fonte a direita.<br />
<br />
As versões do Hotbit foram:<br />
<br />
<ul>
<li>1985 -1.0, Branco e cinza esta nunca vi uma versão comercial, pode ter sido o protótipo apresentado em feiras. Algumas fotos em antigas revistas apresentam a tecla shift esquerda na cor branca.</li>
<li>1985- 1.1, Branco e cinza, sem o logo MSX em relevo a cima das teclas Home, Insert e Del (dificil achar um nos sites de usados).</li>
<li>1985 -1987, 1.1 Branco e cinza, com o logo MSX em relevo a cima das teclas Home, Insert e Del. Tenho um modelo Branco de 1987 em versão 1.2, pode ter tido a BIOS ou até mesma a placa interna substituída por uma assistência técnica quando as placas de reposição já estavam esgotadas. Mas parece que os últimos brancos saíram de fabricas com ROM 1.2.</li>
<li>1987,1.1 ou 1.2 Branco e cinza, série especial. Há noticias e fotos de um Hotbit branco e cinza com grafismos diferentes no gabinete e logo da EPCOM. </li>
<li>1987 - 1988, Preto, com o logo MSX em relevo a cima das teclas Home, Insert e Del. e com um adesivo prateado com a indicação de 64kBytes de RAM (este é o tipo de adesivo de coleção, se for retirado o micro perde o valor para colecionadores!). A tampa do slot lateral tem a inscrição slot 2 e a traseira do micro onde tem as conexões tem uma tampa plástica que foi usada para esconder a inscrição RGB que foi cancelada de ultima hora. Esta versão apresenta também um conversor de RF mais eficiente garantindo melhor imagem tanto no sinal de vídeo quanto na saída para TV (eu pude comprovar isso comparando a imagem dos meus Hotbit brancos. Há uma história de que esta versão poderia ter sido prepara para ser um MSX2 (<a href="http://www.jogos80.com.br/edicoes/">ver revista jogos 80 #16</a>) porém por decisões empresarias continuou sendo um MSX1.</li>
<li>Todas versões do Hotbit, são de boa qualidade, contam com teclado com acentuação em língua portuguesa, 32k bytes de ROM, 64kbytes de RAM e 16kbytes de vídeo, 16 cores na tela, dois conectores para joystick, 2 slots (Sendo um no topo e um lateral, porta de impressora padrão Centronix, saídas de TV (canais 3 ou 4), áudio e vídeo.</li>
<li>Principais problemas ao comprar um usado (só tem usado mesmo): teclados com a barra de espaço e setas quebradas ou afundadas, devido a usuários que jogavam muito no teclado, CI-s de memória com defeito fazendo o micro resetar frequentemente, conversor de RF com defeito fazendo as letras ficarem achatadas na tela, chave do slot 1, com mal contato, fazendo o micro desligar, teclado com mal contato ou curto.</li>
<li>Quanto a comparações com seu colega de MSX o Expert da Gradiente, não posso comentar muito além do já mencionado acima., pois não o tive (por em quanto), vi somente o de amigos e sei que é uma questão de gosto, mas é tido pela comunidade como muito melhor que o Hotbit. São raros os Hotbits transformados para 2.0 ou 2.0+ devido a falta de espaço no gabinete e as limitações da fonte. Se você procura um MSX 2.0+ fique com os Experts ou importados, mas provavelmente quem vai comprar um, hoje em dia, é porque teve um dos dois na época e vai comprar o seu preferido.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzGKpzsPSt43czjUGwj1ejl-Ei3d22du6KAHk8GjA4UZ99bjbc0iDOiXNBAmrWhQsoLVEoHSpbkMFnjIkd6DAil_B8s8aTGC0hMZGzXXWRH7vFSKt7JC0mItXX1O77YZYOrpJjdJISgxE/s1600/hotbit_preto_04.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="MSX Hotbit HB8000 Preto Sharp" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzGKpzsPSt43czjUGwj1ejl-Ei3d22du6KAHk8GjA4UZ99bjbc0iDOiXNBAmrWhQsoLVEoHSpbkMFnjIkd6DAil_B8s8aTGC0hMZGzXXWRH7vFSKt7JC0mItXX1O77YZYOrpJjdJISgxE/s1600/hotbit_preto_04.jpg" title="MSX Hotbit HB8000 Preto Sharp" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZOB514t0tzYLEzfDDZJhf83HqE_Zsnml90O6gPnipNjA3PUm9JncI3gHcWxFMEfUmgsnjoEOEQIOMYhibNxDnDp17lXNlMltJrvfLEEkKMR1M-NoWopNdGBzlkotv6F21cMX0Rjhxkrs/s1600/20161227_083046.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZOB514t0tzYLEzfDDZJhf83HqE_Zsnml90O6gPnipNjA3PUm9JncI3gHcWxFMEfUmgsnjoEOEQIOMYhibNxDnDp17lXNlMltJrvfLEEkKMR1M-NoWopNdGBzlkotv6F21cMX0Rjhxkrs/s320/20161227_083046.jpg" width="320" /></a></div>
<div style="text-align: center;">
Meu Hotbit 1.2 Preto.</div>
<br />
Hoje, ainda é possível comprar Hotbits na internet de todas as sérias em bom estado. Eu particularmente recomendo os fabricados a partir de 1986 que tem o logo do MSX no gabinete, pois foi a versão do segundo ano e sua fabricação parecia melhorada. Porém os da seria de 1985 são mais raros de achar para vender e podem até valer mais. Lembre-se de perguntar ao vendedor se ele está completo e com a tampa do slot lateral. Quanto a cor é questão de gosto, com o preto apresentando leve melhora na qualidade do conversor de RF. <br />
<br />
Abraços e até a próxima,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com3tag:blogger.com,1999:blog-8396429764847684653.post-82856734853375242152014-11-16T04:53:00.001-08:002014-11-16T04:53:23.342-08:00A Origem dos Tiles em jogos 2DOs tiles, ou ladrilhos, são pequenos quadradinhos com caracteres ou desenhos usados para montar as telas dos jogos 2D desde a geração 8 bits. Os tiles são usados até hoje para criar jogos 2D devido sua facilidade de reuso nas telas dos jogos.<br />
<br />
OS tiles se originam do fato de no modo texto básico , SCREEN 0 ou texto avançado SCREEN 1, os caracteres (sim, as letras de texto) são desenhados em quadradinhos na memória do computador. Assim, quando se quer desenhar uma letra, o computador pega o desenho correspondente daquela área de memória e o desenha na tela quantas vezes forem necessárias.<br />
<br />
Muitos jogos de MSX, como Zanac e outros, usam a SCREEN 1 com os desenho dos tiles definidos na memoria de padrões mais, a facilidade de sprites provida pela SCREEN1. Assim o efeito de movimento da tela é feito como os tiles sendo redesenhados uma linha para baixo para baixo.<br />
<br />
Assim ao criar, jogos 2D a dica é desenhar a tela do jogo em um papel quadriculado, reusando o máximo de padrões de tiles repetidos para economizar memória. Lembres-se que na screen 1 podemos usar uma área visível de até 32 x 24 tiles com até 2kbytes para desenhar os tiles na tabela de padrões da VDP (TMS9918).<br />
<br />
Infelizmente a VDP do MSX 1 , a TMS9918, não possui scroll de tela por HW, assim, para simular o efeito de movimento da tela temos que redesenhar os caracteres que serão visíveis na área tela por SW. Lembrando que a área de memória da VDP que define a posição dos tiles é de 768 bytes que vai de 6144 a 6911.<br />
<br />
Por hoje é só pessoal, <br />
Abraço forte,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-8214692550252592062014-04-18T09:53:00.001-07:002014-11-16T04:34:20.043-08:00Melhor tipo de Fita Cassete para DadosOlá Pessoal,<br />
<br />
Recentemente, depois de muitos anos, descobri que o melhor tipo de fita cassete para dados é a Type I bias normal feita de Óxido Metal.<br />
<br />
Não a toa o manual do gravador do Hotbit, da Sharp, o HB-2400 continha uma nota informando para usar somente fitas Type I bias normal e, evitar as de Cromo e ferro extra. Estas últimas, são boas para gravações de áudio, mas não para dados , devidos a melhor gravação em determinadas frequências.<br />
<br />
Infelizmente, devido a pouco informação na época se pensava que era melhor usar uma fita de "melhor qualidade" do que a Type I. Um equívoco que custava muitos erros de leitura no MSX, dada a maior dificuldade do micro "escutar" uma onde de áudio não otimizada.<br />
<br />
Após a reparação do meu HB-2400 pude constatar que a gravação e leitura de dados foi mais bem sucedida com as fitas Type I bias normal, mesmo as com mais de 20 anos de uso.<br />
<br />
Hoje o uso do gravador é mais nostálgico do que eficiente devido a facilidade de usar notebooks e players com carga rápida, vide outro post neste blog. Mas se quiser gravar dados com um gravador cassete, fica a dica de usar a Type I. <br />
<br />
Abraços,<br />
O editorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com2tag:blogger.com,1999:blog-8396429764847684653.post-44348067160127597652013-07-14T12:42:00.001-07:002013-07-14T12:42:23.291-07:00Carregamento Rápido de Software no MSX via porta CasseteComplementando o último poste, sobre usar um netbook para carregar programas via porta cassete do MSX, fiz alguns teste com carregamento rápido usando o carregador otla.<br />
<br />
Os programas de MSX gravados em cassete usavam as velocidades de 1200 ou 2400 bauds. Essa limitação era devido a qualidade de áudio provida pelas fitas e gravadores cassete. Porém, a porta de leitura cassete do MSX e o Z80 conseguem ler o stream de áudio em velocidades superiores a essas.<br />
<br />
Seguem se os passos e parametros que usei com sucesso para carregamento rápido em um Hotbit. Programas que demoravam 5 min agora demoram apenas alguns segundos para carregar:<br />
<br />
1) Baixe o <a href="http://code.google.com/p/otla/w/list">Otla </a><br />
2) Descompacte o Otla em uma pasta de sua preferencia<br />
3) Execute o programa e selecione MSX na opção header<br />
4) Clique em "add blocks" e escolha um arquivo no formato .cas ou .rom<br />
5) Selecione o valor 4 (11025 bps) na opção sample/bit <br />
6) Digite o comando BLOAD ou CLOAD correspondente no MSX<br />
7) Clique em Play no Otla.<br />
8) O programa deve carregar com sucesso<br />
<br />
Se a placa de som do PC e o cabo cassete do MSX forem de boa qualidade pode-se tentar velocidades mais rápidas no passo 5). Porém a velocidade 11025 bps já e quase 10x mais rápida que os 1200 bps que eram padrão das gravações cassete originais do MSX.<br />
<br />
Até a próxima,<br />
O Editor <br />
<br />
Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-19132707738376914502013-06-30T10:52:00.001-07:002015-11-22T09:25:15.521-08:00Usando um Netbook como gravador casseteApesar da nostalgia de usar um gravador cassete para carregar programas no MSX, esta cada vez mais difícil fazer a manutenção dos gravadores sem peças adequadas.<br />
<br />
Após levar vários tutorias e várias tentativass consegui usar um netbook para ler programas no MSX. Obiviamente pode ser usar um PC ou notebook. Aqui vão algumas dicas:<br />
<br />
1) Arquivo .cas que pode ter sido salva através de um emulador.<br />
2) Baixe o freeware <a href="http://www.finnov.net/~wierzbowsky/caslink2.htm">caslink2</a><br />
3) Converta seus arquivos .cas para .wav, mono, usando o caslink2 (não use a opção 2400 bauds), por default o programa usa 1200 bauds<br />
4) Salves seus arquivos .wav em uma pasta do netbook<br />
5) Conecte o plug leitor (preto) do cabo cassete do MSX na entrada de phone de ouvido do netbook<br />
6) Conecte o plug de gravação (vermelho) do cabo cassete na entrada de microfone do netbook<br />
7) Abra o arquivo .wav no netbook usando um media player de sua preferência e coloque o volume do máximo<br />
8) Visto que a saída do netbook é estéreo e o MSX só consegue ler mono, ajuste o balanço de saída do fone totalmente para o canal esquerdo (L). Para isso, use o software de mixer da placa de som do netbook.<br />
9) Pronto agora digite o comando correto de leitura para seu arquivo no MSX, que pode ser CLOAD, BLOAD, ou LOAD.<br />
10) Clique no play do media player para tocar o arquivo .wav.<br />
11) Se tudo der certo o MSX ira achar o programa e prosseguir com o carregamento. Não tive problemas usando a receita acima.<br />
<br />
Para Gravar programas do MSX no netbook:<br />
<br />
1) Use um programa editor de áudio no netbook , que pode ser o gravador de som do seu OS ou outro.<br />
2) Configure o programa de gravação para mono 44kHz<br />
3) Coloque o programa p/ gravar<br />
4) Use os comandos correspondentes ao seu programa no MSX: CSAVE, BSAVE, SAVE<br />
5) Pode ser necessário usar o programa editor de áudio p/ aumentar o volume do arquivo .wav, pois a saída do MSX é de baixa potência, o que normalmente era amplificado pelos gravadores cassete reais.<br />
<br />
O plug remote do gravador cassete não é usado com o netbook, por razões obvias, porem em teoria, poderia ser simulado se o programa gravador de áudio do PC só começasse a gravar quando percebesse áudio na entrada de microfone.<br />
<br />
Até a próxima,<br />
O Editor. <br />
<br />
Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-87036053446360006132013-01-19T14:51:00.000-08:002014-04-18T09:55:07.522-07:00O Fator MSXO que fazia do MSX um micro tão divertido? O que fazia do MSX um MSX? Qual o conceito? Como seria o MSX nos dias de hoje? Por que usar um MSX ao invés de um Micro moderno ou um das pequenas placas de desenvolvimento modernas?<br />
<br />
Vamos rever algumas características do MSX:<br />
<ul>
<li>Projetado para ser expandido e atualizado</li>
<li>Linguagem de programação de fácil aprendizado, o BASIC</li>
<li>Linguagem de programação Assembly com total controle sobre o hardware</li>
<li>Boa capacidade gráfica e sonora para sua época</li>
<li>Boa capacidade de jogos para sua época</li>
<li>Boa gama de periféricos</li>
<li>Aplicações versáteis como: terminal, controlador MIDI, entre outros.</li>
<li>Design compacto, fácil de carregar, ou tipo console</li>
<li>Dispositivos on-board, Placa de vídeo, placa de som, conexão a periféricos, fonte.</li>
</ul>
Uma das diversões maiores era no aprendizado da linguagem BASIC, onde a familia podia aprender os conceitos de computação, programar joguinhos simples, gráficos e jogar video game.<br />
<br />
Já os mais avançados faziam programas em Assembly, estudavam computação e eletrônica e até hoje, há que faça projetos p/ MSX: interfaces novas para armazenamento, use de joysticks de outros videogames, novas placas de upgrade, entre outros.<br />
<br />
Quanto a transportar o conceito MSX aos dias de hoje, há de se pensar o que os notebooks de hoje e as plaquinhas de desenvolvimento não tem, ou podem ter que um projeto MSX teria. Olhando as características acima, talvez poderíamos pensar num console que fosse tanto um vídeo game de ultima geração quanto um micro de fácil programação, que pudesse ser expandido, ser usado para controlar outros dispositivos, ser de fácil uso para recursos educacionais e de pesquisa, ter uma comunidade de desenvolvimento de HW e SW, e de quebra, ter um preço acessível.<br />
<br />
Abraços,<br />
O Editor<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-70748485033808448742012-11-02T05:36:00.002-07:002013-01-29T14:35:40.904-08:00Especificações: Tabelão de Modos Gráficos da VDPSegue um Tabelão dos modos gráficos da VDP do MSX e a compração com a VDP melhorada do sms.<br />
<br />
<br />
<table border="1" bordercolor="#000000" cellpadding="4" cellspacing="0" style="page-break-after: avoid;">
<colgroup><col width="55"></col>
<col width="39"></col>
<col width="40"></col>
<col width="39"></col>
<col width="41"></col>
<col width="42"></col>
</colgroup><tbody>
<tr valign="TOP">
<td width="22%"><div class="western">
<br /></div>
</td>
<td bgcolor="#e6e6e6" width="15%"><div class="western">
<b>Screen 0</b></div>
</td>
<td bgcolor="#e6e6e6" width="15%"><div class="western">
<b>Screen 1</b></div>
</td>
<td bgcolor="#e6e6e6" width="15%"><div class="western">
<b>Screen 2</b></div>
</td>
<td bgcolor="#e6e6e6" width="16%"><div class="western">
<b>Screen 3</b></div>
</td>
<td bgcolor="#e6e6e6" width="17%"><div class="western">
<b>Screen4</b></div>
<div class="western" style="font-weight: normal;">
TMS9918A</div>
<div class="western" style="font-weight: normal;">
(SMS)</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Resolução (pixels)</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
256 x 192</div>
</td>
<td width="15%"><div align="CENTER" class="western">
256 x 192</div>
</td>
<td width="15%"><div align="CENTER" class="western">
256 x 192</div>
</td>
<td width="16%"><div align="CENTER" class="western">
256 x 192</div>
</td>
<td width="17%"><div align="CENTER" class="western">
256 x 192</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Numero de Caracteres (Tiles) na tela</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
40 x 24</div>
<div align="CENTER" class="western">
(8 x 6)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
32 x 24</div>
<div align="CENTER" class="western">
(8x8)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
32 x 24</div>
<div align="CENTER" class="western">
(8x8)</div>
</td>
<td width="16%"><div align="CENTER" class="western">
32 x 24</div>
<div align="CENTER" class="western">
(8x8)</div>
</td>
<td width="17%"><div align="CENTER" class="western">
32 x 24</div>
<div align="CENTER" class="western">
(8x8)</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Cores simultaneas</b></div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="16%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="17%"><div align="CENTER" class="western">
16</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Numero de cores an Paleta</b></div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="15%"><div align="CENTER" class="western">
16</div>
</td>
<td sdnum="1046;" sdval="16" width="16%"><div align="CENTER" class="western">
16</div>
</td>
<td width="17%"><div align="CENTER" class="western">
32</div>
<div align="CENTER" class="western">
(configuraveis)</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Cores por caracter (tile)</b></div>
</td>
<td sdnum="1046;" sdval="2" width="15%"><div align="CENTER" class="western">
2</div>
</td>
<td width="15%"><div align="CENTER" class="western">
2 por grupo de 8 carcateres</div>
</td>
<td width="15%"><div align="CENTER" class="western">
2 para cada linha em um caracter</div>
</td>
<td sdnum="1046;" sdval="2" width="16%"><div align="CENTER" class="western">
2</div>
</td>
<td width="17%"><div align="CENTER" class="western">
multicolor</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Numero de Sprites simultaneos na Tela</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
32</div>
<div align="CENTER" class="western">
Sincle color</div>
</td>
<td width="15%"><div align="CENTER" class="western">
32</div>
<div align="CENTER" class="western">
Sincle color</div>
</td>
<td width="16%"><div align="CENTER" class="western">
32</div>
<div align="CENTER" class="western">
Sincle color</div>
</td>
<td width="17%"><div align="CENTER" class="western">
64</div>
<div align="CENTER" class="western">
multicolor</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Número de sprites em uma mesma linha</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td sdnum="1046;" sdval="4" width="15%"><div align="CENTER" class="western">
4</div>
</td>
<td sdnum="1046;" sdval="4" width="15%"><div align="CENTER" class="western">
4</div>
</td>
<td sdnum="1046;" sdval="4" width="16%"><div align="CENTER" class="western">
4</div>
</td>
<td sdnum="1046;" sdval="8" width="17%"><div align="CENTER" class="western">
8</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Tamanho dos sprites</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
8 x 8</div>
<div align="CENTER" class="western">
16 x 16</div>
</td>
<td width="15%"><div align="CENTER" class="western">
8 x 8</div>
<div align="CENTER" class="western">
16 x 16</div>
</td>
<td width="16%"><div align="CENTER" class="western">
8 x 8</div>
<div align="CENTER" class="western">
16 x 16</div>
</td>
<td width="17%"><div align="CENTER" class="western">
8 x 8</div>
<div align="CENTER" class="western">
8 x 16</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Scrolling Vertical e Horizoltal</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="16%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="17%"><div align="CENTER" class="western">
Sim</div>
</td>
</tr>
<tr>
<td bgcolor="#e6e6e6" valign="TOP" width="22%"><div class="western">
<b>Espelhamento de caracateres</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="16%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="17%"><div align="CENTER" class="western">
Sim, vertical e Horizontal</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Memoria de Video (VRAM)</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
16k</div>
</td>
<td width="15%"><div align="CENTER" class="western">
16k</div>
</td>
<td width="15%"><div align="CENTER" class="western">
16k</div>
</td>
<td width="16%"><div align="CENTER" class="western">
16k</div>
</td>
<td width="17%"><div align="CENTER" class="western">
16k</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Memória para padrões de caracteres (tiles)</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(2048 a 4095)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(0 a 2047)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
6k</div>
<div align="CENTER" class="western">
(0 a 6143)</div>
</td>
<td width="16%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="17%"><div align="CENTER" class="western">
14k</div>
<div align="CENTER" class="western">
(448 chars/sprites)</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Memória para posição de caracteres (tiles
na tela, ou Backdrop Map)</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
960 bytes</div>
<div align="CENTER" class="western">
(0 a 959)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
768
</div>
<div align="CENTER" class="western">
bytes</div>
<div align="CENTER" class="western">
(6144 a 6911)</div>
<div align="CENTER" class="western">
<br /></div>
</td>
<td width="15%"><div align="CENTER" class="western">
768
</div>
<div align="CENTER" class="western">
bytes</div>
<div align="CENTER" class="western">
(6144 a 6911)</div>
<div align="CENTER" class="western">
<br /></div>
</td>
<td width="16%"><div align="CENTER" class="western">
1,5k</div>
<div align="CENTER" class="western">
(2048 a 3583)</div>
</td>
<td width="17%"><div align="CENTER" class="western">
1792 bytes</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Tabela de Cores dos caracteres (tiles)</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
32 bytes</div>
<div align="CENTER" class="western">
(8192 a 8223)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
6k</div>
<div align="CENTER" class="western">
(8192 a 14335)</div>
</td>
<td width="16%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(0 a 2047)</div>
</td>
<td width="17%"><div align="CENTER" class="western">
n/a</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Memória para padrões de sprites</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(256s 8 x 8</div>
<div align="CENTER" class="western">
64x 16x16)</div>
</td>
<td width="15%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(256s 8 x 8</div>
<div align="CENTER" class="western">
64x 16x16)</div>
</td>
<td width="16%"><div align="CENTER" class="western">
2k</div>
<div align="CENTER" class="western">
(256s 8 x 8</div>
<div align="CENTER" class="western">
64x 16x16)</div>
</td>
<td width="17%"><div align="CENTER" class="western">
Compartilhada c/ Memoria de padrão
de caracteres</div>
</td>
</tr>
<tr>
<td bgcolor="#00ffff" valign="TOP" width="22%"><div class="western">
<b>Tabela de Atributos de Sprites</b></div>
</td>
<td width="15%"><div align="CENTER" class="western">
n/a</div>
</td>
<td width="15%"><div align="CENTER" class="western">
128 bytes</div>
</td>
<td width="15%"><div align="CENTER" class="western">
128 bytes</div>
</td>
<td width="16%"><div align="CENTER" class="western">
128 bytes</div>
</td>
<td width="17%"><div align="CENTER" class="western">
256 bytes</div>
</td>
</tr>
</tbody></table>
<br />
Abraços.<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-77736889880761193842012-10-31T15:07:00.003-07:002013-01-31T15:35:29.319-08:00Emuladores: Como escrever um emuladorEssa semana fiquei pensando como os emuladores de computadores e consoles são programados. <br />
<br />
O primeiro passo para criarmos um emulador é emular o processador central. No caso do MSX que é o tema principal do nosso blog (lembre-se que em outro post eu disse que o blog é de eletrônica e computação também :) . No caso do Z80, precisamos pensar nos seguintes aspectos: input, processamento e output. Sabendo que o Z80 tem: 40 pinos, 22 registradores internos, uma ULA (Unidade Logica Aritimetica) e, 158 instruções elementares. O clock do Z80 é de ~3,58MHZ<br />
<br />
Então vamos lá. Sugiro fazer a implementação em C/C++ ou em Java. <br />
<br />
O nosso processador emulado deve ser capaz de ler as instruções da ROM e da RAM virtuais, processa-las e então mudar o estado de seus pinos de acordo com o resultado. Isso tudo em um loop de programação que é "regulado" pelo nosso clock emulado que deve ser de ~3,58MHZ (mesmo que nossos PCs sejam de 2,20GHZ e com dois processadores!). Esse seria um tipo de emulador interpretador. O clock do Z80 é no pino 6 que em HW verdadeiro é alimentado por um gerador de clock que gera uma onda quadrada. No emulador devemos simular isso calculando e ajustando a velocidade do loop, ou se você preferir, criando uma função geradora de clock que chama uma função principal que vai emular o Z80 no nosso emulador a frequência do clock.<br />
<br />
Assim, vamos precisar de 22 variáveis no escopo interno da função do processador (locais) que são os registradores do Z80. Sendo que 18 delas são de 8 bits (A, B, C, D, E, F, H, I, L, R, A', B', C', D', E', F', H', I', L', R') e 4 são de 16 bits (IX, IY, SP, PC).<br />
<br />
Também vamos precisar de 40 variáveis para representar os pinos do Z80. Tanto no escopo interno da função do processador quanto para serem retornadas globalmente para o emulador, já que os pinos estão "soldados" a nossa placa-mãe virtual. Assim, por exemplo, as variáveis que representam os barramentos de dados, endereços e controle são vistas pelo escopo do emulador inteiro. Lembre-se que os barramento de dados tanto pode ler quanto escrever na memoria RAM.<br />
<br />
A brincadeira começa quando o Z80 lê do registrador PC (Program Conter) o endereço de memoria RAM da próxima instrução a ser executada. Lembre que no Z80 os endereços são de 16 bits e o conteúdo de cada endereço da memoria é de 8 bits. Assim, a nosso loop deve ler da nossa memoria virtual essa instrução processa la e em seguida atualizar os valores de todos os pinos de saída (Variáveis corres pondentes) e incrementar o PC.<br />
<br />
Quanto as 158 instruções do Z80, você já deve estar imaginado que vamos precisar de um swith/case para tratar todas elas e quem sabe chamar método específicos para cada uma delas.<br />
<br />
Não parece tão difícil, mas também não e tão fácil escolher a melhor estrutura do programa emulador. Lembre-se que o emulador dever emular outros circuitos como a VDP e o processador de som, entre outros e você terá que atualizar o estado de cada elemento do computador virtual no loop principal do emulador.<br />
<br />
Por hora é só pessoal. Em tempo atualizarei esse post quando tiver mais ideias ou melhorias no texto.<br />
Abraços,<br />
<br />
O Editor.Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-76375637462832010622012-10-27T15:00:00.001-07:002013-01-29T14:32:22.331-08:00Manutenção: Caracteres deformados no HotbitEu tive um problema de letras deformadas em meu HB8000 original de 1985 1.1, o modelo branco que não tem o logo MSX no teclado. As
letras apareciam achatadas (o O, o 0 ou G pareciam um D, mas não em todas as posições da
tela). Esse defeito era no conversor de RF. Os primeiros HB fabricados em 1985
não tinham um conversor de RF muito eficiente. Alias esses dispositivos e os de alguns videogames de 8 bits geravam interferências em TVs próximas e eram o terror das irmãs que assistiam as novelas. Meu pai até havia imposto um horário para eu ligar meu Hotbit. Há artigos informando que a
fabrica melhorou o conversor de RF a partir do HB preto 1.2. Eu tenho esse versão e
realmente a imagem parece melhor que os meus HB brancos (mesmos os mais novos de 1986 e 1987 são que
já apresentam o logo MSX acima das teclas de setas, no teclado). Porém se o problema
for caracteres com pixels estranhos o problema pode estar na ROM que contem o
mapa de caracteres. Neste caso o problema pode estar no CI da ROM que contem o mapa de caracteres. Recomendo neste caso testar o aparelho com um cartucho de jogo e ver o que acontece. Se funcionar
sem o problema pode estar mesmo no CI da ROM cujos caracteres não serão usados
pelo jogo. O fato é que é melhor abrir o aparelho e fazer uma revisão
completa.<br />
<br />
Abraços,<br />
O EditorMenino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0tag:blogger.com,1999:blog-8396429764847684653.post-51076148328801921342012-06-06T17:56:00.000-07:002013-01-29T14:37:33.146-08:00Programação: Jogos MSX1Da primeira vez que possui um MSX 1.0, no final dos anos 80 e começo dos 90, sempre tentava programar jogos. Fazia varias telas com desenhos elaborado em modo screen 2, telas de apresentação, sprites em movimento. Porém, sempre esbarrava em três problemas: 1) quando movimentava o sprite do jogador com o teclado ou joystick, os sprites controlados pelo computador não se movimentavam, ou quando conseguia o contrario o jogador não se movia, ou quando conseguia os dois, o cenário ficava paralisado; 2) as figuras formadas por mais de um sprite não se moviam juntas e sempre parecia que não estavam "coladas" uma nas outras; 3) as telas de cenários sempre eram mostradas sendo pintadas pela comando paint. Naquela época não havia internet e muito pouca informação havia nos manuais.<br />
<br />
Depois de muito tempo, após fazer engenharia e aprender a programar para PC em 2D e 3D, voltei ao velho exercício em basic e descobri a solução para os problemas acima.<br />
<br />
1) O loop básico de jogos:<br />
Para conseguir que tudo na tela se mova ao mesmo tempo é preciso implementar o conceito mais básico de loop de jogos eletrônicos:<br />
<ul>
<li>Ler o input do usuário (joystick Teclado) </li>
<li>Atualizar as coordenadas X,Y ( e Z, se houver) do jogador segundo regras de movimentação ( física do jogador, etc.).</li>
<li>Atualizar a posição dos objetos do cenário</li>
<li>Atualizar a posição dos personagens controlados pelo computador</li>
<li>Verificar colisão de sprites e tomar as ações necessárias</li>
<li>Desenhar tudo na tela.</li>
<li>voltar p/ o 1o passo.</li>
</ul>
O loop básico pode apresentar algumas variações, mais esse o minimo necessário para fazer um jogo. Note que no MSX, provavelmente para a maioria dos jogos, não era feito contagem de tempo em cada interação do loop como nos PCs modernos, para que o jogo rode com a mesma velocidade em diferentes micros.<br />
<br />
2) neste caso a melhor opção é codificar o jogo em assembler, pois é muito mais rápido do que o Basic, e há técnicas que não serão discutidas neste post para evitar o problema.<br />
<br />
3) neste caso a saída e desenhar direto na memória de video usando comandos POKE ou assembler. Ñão seria possível usar a técnica conhecida como double buffer, muito usado para jogos de hoje. Esta técnica consiste em criar o desenho da tela em um porção de memória (buffer) e depois copiar o buffer na memória de video. Isso dado a limitação de memória do MSX1 ser de 32k para programas residentes na RAM e 16k para o VDP. Mesma questão dos video games de 8 bits da época.<br />
<br />
No que dis respeito aos modos da VDP para o MSX1, as opções são:<br />
<ul>
<li>Screen 1 (modo texto 2)</li>
<li>Screen 2 (modo gráfico 1)</li>
</ul>
Tanto no screen 1 como no 2 temos uma resolução de 256 por 192 pixels de imagem e até 32 sprites.<br />
<br />
No screen 1 cada setor de 8 x 8 pixels pode usar 2 cores das 16 disponiveis. Sendo que cada grupo de 8 characteres na memoria de padrões devem usar somente duas cores.<br />
No screen 2 cada linha de 8 pixels pode usar 2 cores das 16 disponiveis.<br />
<br />
Parece que muitos jogos da época usavam o screen 1 ao invés do screen 2. Assim os desenhos dos plano de fundo eram construídos usando caracteres (tiles) redefinidos com até duas cores cada um. Na verdade ao inves de "escrever" texto na tela o código do jogo escrevia texto mas com os caracteres redefinidos como elementos gráficos. Depois era so desenhar os sprites e pronto.<br />
<br />
Assim em resuma os jogos de MSX eram compostos de um plano de fundo (background) com 32 colunas x 24 linhas, assim como no modo texto, em cada posição era colocado um tile (caractere) de até duas cores, formando assim o cenário.<br />
<br />
Em cima do plano de fundo eram desenhados os sprites de 8x8 ou 16x16 que eram monocromáticos. Assim muitos personagens eram compostos de vários sprites para se obter personagens coloridos.<br />
<br />
O por quê desta diferença é que a VDP não faz verificação de colisão coms os tiles do background. Ao passo que para os sprites a VDP pode fazer o check de colisão. Então como restringir um sprite em relação ao background, isso pode ser limitado por um mapa de coordenadas mas não há verificação "gráfica" de sprites verus tiles na VDP.<br />
<br />
Sabemos também que a limitação da VDP é de 5 sprites por linha. Então como havia jogos com muitos sprites. Para isso era usado uma técnica que consistia em desenhar até 5 sprites por linha em uma interação do loop básico e alternar os sprites que aparecia na tela nas prximas passagens do loop. como o olho humano não percebe o truque, temos a sensação de fluide s gráfica.´<br />
<br />
Já quanto a divisão da memória da VDP para os modos 1 e 2 temos:<br />
<ul>
<li>background map: 768 bytes (32 colunas * 24 linhas) onde cada posição aponta para um tile (caracter) na tabela de padrões (tile set)</li>
<li>tabela de padrões (tile set): 2048 bytes no screen 1 e 6144 bytes no screen 2. Lembre-se que no screen 1 cada conjunto de 8 tiles no tile set, pode ter no máximo duas cores (exemplo: os 8 primeiros tiles, no tile set, usam verde claro e verde escuro os próximo 8 amarelo e vermelho, os próximos 8 azul e branco e assim por diante). Ao passo que no screen 2 cada tile pode usar duas cores sem a amarração do grupo de 8 tiles no tile set e, por esse motivo, o screen 2 consome mais memória da VDP do que o screen1.</li>
<li>Tabela de atributos de sprites 128 bytes (32 sprites * 4 bytes) onde temos em cada bytes os parâmetros, X, Y, Cor , padrão do sprite na tabela de sprites</li>
</ul>
<br />
Bom, por hoje é só folks,<br />
O Editor<br />
<br />Menino Engenheirohttp://www.blogger.com/profile/08042205640020930365noreply@blogger.com0