As sete faces da SCREEN1 – parte 3

sete_faces-3_abertura

A ideia original era que esta série de artigos tivesse apenas duas partes mas conforme escrevia, começava a pensar em coisas interessantes que poderiam acrescentar conteúdo mas, que ao mesmo tempo, me faziam correr o sério risco de perder o foco principal. Assim resolvi pegar todas as minhas ideias, palpites e algumas promessas e colocá-las aqui em uma espécie de terceira parte de conclusões chocantes e aterradoras! 🙂

Continuar lendo

Anúncios

As sete faces da SCREEN1 – parte 2

sete_faces-2_abertura

E agora entramos na segunda parte, prometo que esta será bem menos teórica e um pouco mais prática (apesar de não ter tantos programinhas). O camarada acima ilustra a nona edição da revista em disquete Alive para computadores Atari ST e, a princípio, ele não tem relação alguma com MSX e muito menos com o TMS-9918.

E, então, o que esta imagem faz aqui? Simples, ela foi minha cobaia!

Continuar lendo

As sete faces da SCREEN1 – parte 1

sete_faces-1_abertura

Para ser sincero, tanto o modo texto de 32×24, a SCREEN 1, quanto o modo gráfico de 256×192, a SCREEN 2, dos MSX são visões diferentes do mesmo modo de vídeo. Ambas apresentam a mesma resolução física e a grande diferença é justamente a maneira como o VDP está organizando, na tela, aquilo que está armazenado na VRAM.

Falando assim até parece complicado mas minha ideia neste artigo é mostrar como mais ou menos como estão organizadas as coisas na VRAM e como é possível “dizer” ao VDP para mostrá-las de um jeito um pouco diferente para se produzir alguns efeitos bastante interessantes e com um custo (quase) zero de CPU.

Este artigo está dividido em três partes, nesta primeira temos uma enxurrada teórica e na segunda (depois de amanhã) algo um pouco mais divertido. Na terceira, as conclusões a respeito.


Em virtude da realização da 6ª edição da RetroRio (entre os dias 31/5 a 2/6/2018) como também do lançamento do 1º número da revista Clube MSX resolvi (re)publicar as três partes da série do Retrocomputaria sobre o VDP do MSX1 que, justamente, se interligam com uma série de outras coisas publicadas por aqui.

Continuar lendo

Programando em BASIC com o Inliner

inliner-1_abertura

Por melhor que seja o editor¹ embutido em um interpretador BASIC ele não contará os recursos básicos de qualquer editor de textos moderno e aos quais já estamos habituados. E ao trabalhar diretamente no editor de textos predileto, ao invés de diretamente no computador/emulador, rapidamente se percebe o quão chata é a tarefa de cuidar manualmente da numeração das linhas.

Por estes e mais alguns motivos² comecei a pensar em como seria bom prático programar em MSX-BASIC, ou em qualquer outro dialeto BASIC, em qualquer editor de textos e sem a preocupação em numerar linhas pois haveria uma ferramenta que cuidaria desta parte. E já que ela ficaria com o trabalho, que algumas facilidades interessantes também estivessem includas.

E a assim surgiu o Inliner! 🙂

(¹) Dependendo do interpretador BASIC ele será um editor de tela, onde é fácil editar diversas linhas simultaneamente, ou simplesmente um editor de linha, onde você só consegue mexer em uma linha por vez em uma espécie de “modo de edição”.

(²) Um exemplo irritante, o comportamento irritante do OpenMSX quando se pressiona uma tecla acentuada e ele fica louco repetindo o caractere do acento ad infinitum:-/

Continuar lendo

25 anos do Linux!

linux-povlogo

Há exatos 25 anos, no dia 25 de agosto de 1991, um sujeito chamado Linus Torvalds enviou para o grupo de discussão comp.os.minix da Usenet a seguinte mensagem:

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :—)

Linus (torv...@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :—(.

Foi o anúncio oficial do projeto, para facilitar as contribuições ao desenvolvimento os arquivos foram disponibilizados em FTP, em outubro foi liberada a primeira versão oficial e o resto é (¼ de século de) história!

Mas antes de terminar, três coisas:

  1. O pessoal do Fun with Virtualization lembrou da data e resolveu colocar para funcionar dentro do QEMU a versão 0.10 do Linux;
  2. No Retrocomputaria a lembrança do quão furada estava a previsão do Linus Torvalds sobre a portabilidade da sua criação e
  3. A imagem acima foi uma das candidatas a logo/mascote do Linux.

Escrevendo um jogo para MSX – parte 2

survive-2_hello_world

Programar em assembly é interagir diretamente com o hardware, mesmo que seja um “simples” joguinho. Para amenizar um pouco isto optei por preferencialmente usar as rotinas da BIOS do MSX, elas podem não garantir melhor performance mas asseguram compatibilidade, portabilidade e também agiliza a codificação já que não preciso escrever (e depurar) minhas próprias rotinas para ler o estado dos joystick, enviar dados para para o processador de vídeo etc.

Uma observação, esta parte deveria ter ficado junto da primeira mas para evitar que todo o conjunto fosse elevado à categoria de TL;DR preferi dividir em duas partes. A primeira com aspectos mais conceituais e visuais e esta aqui um pouco mais técnica.

Continuar lendo