Arquivo da tag: programação

MSXPad Revived… And fixed.

Há pouco mais de 2 anos atrás, eu falei sobre o MSXPad, ambiente de desenvolvimento feito pelo Slotman para programar em Pascal para MSX no PC, e dos acertos que foram feitos para que ele funcionasse no Windows 8 e 10. Está tudo aqui, nesse post.

Acontece que o Pedro Tagwato, nosso leitor e ouvinte, encontrou alguns bugs e enviou-nos um comentário, explicando como corrigí-los. Como a explicação dele é muito útil, decidi colocar num post para torná-la mais permanente.

Continue lendo MSXPad Revived… And fixed.

Crônica de uma morte anunciada: o Coprocessador Numérico x87

Assim como quem não quer nada, resolvi começar a ler sobre programação Assembly para processadores Intel do seu PC velho… mas a versão muderna, cheia de zilhões de instruções, registradores a dar com pau, mil maneiras de fazer operações paralelas e o escambau. Por que alguém faria algo tão insano? Ora raios…

Pois bem, ao longo dos mais de 40 anos que a arquitetura sobreviveu, níveis e mais níveis de funcionalidade foram sendo adicionados uns por cima dos outros, mantendo sempre todas as estruturas anteriores presentes:

16 bits modo real16 bits modo protegido32 bitsMMX64 bitsSSEAVX … e contando.

Correndo por fora, existiu, lá nos primórdios, um bicho chamado 8087 – o Coprocessador Matemático. Se seu PC tivesse esse chip, ele adicionava instruções para fazer operações matemáticas com números reais, não apenas inteiros, e também operações como seno, cosseno, logaritmos… a partir do 486, ele passou a ser incorporado ao processador principal, mas todas as velhas instruções como FMUL, FDIV, FCOS etc estavam lá, e usá-las sempre foi a melhor maneira de fazer contas. A alternativa era usar bibliotecas de ponto flutuante, lentas e nem sempre dentro do padrão (é o que os nossos retromicros clássicos usam).

Mas aí que tá… os novos conjuntos de instruções SSEn e AVX, planejados para realizar várias operações ao mesmo tempo num conjunto grande de números, também fazem operações de ponto flutuante. Aí, no capítulo sobre otimização deste livro, leio o seguinte:

Os seguintes critérios devem ser observados ao escrever código em Assembly que realize aritmética de ponto flutuante:
* (…)
* Em código novo, use as funções escalares das arquiteturas SSE ou AVX, em vez da FPU x87.

Pois é, a utilidade do velho chip, amigão dos estudantes de engenharia (e de tantas outras áreas) nos anos 80, chegou ao fim. Mais um dinossauro se dirigindo lentamente ao poço de piche. É provável que daqui a alguns anos, os quatro primeiros itens da cadeia de setas acima sejam abandonados e os novos processadores sejam puramente 64 bits.

[UPDATE] Montando um ambiente de desenvolvimento cruzado para MSX (ou tentando)…

Continuamos confinados aos nossos domicílios, em quarentena. A pandemia do coronavírus está atingindo seu auge no Brasil e para encher o tempo, vamos fudebar. Afinal, fudebar é preciso. Então, eu comecei a reaprender Pascal, escrever código (recomecei do início, fazendo programas banais) e a tocar um projetinho simples que eu tenho… No futuro, espero trazer pra vocês maiores novidades.

Mas não é pra falar das minhas desventuras que eu vi aqui, mas sim pra trazer uma atualização importante no esquema que eu falei na semana passada.

Continue lendo [UPDATE] Montando um ambiente de desenvolvimento cruzado para MSX (ou tentando)…

Montando um ambiente de desenvolvimento cruzado para MSX (ou tentando)…

Sim, o prometido artigo saiu. Agradeçam ao vírus aí do lado por isso. A desculpa acabou, aqui está o texto que estou devendo há anos. Finalmente, a solução que eu desenvolvi está disponível, encerrei o artigo, revisei, fiz um pacote zip, subi pra um canto (não, eu não consigo me entender com o git e o github) e documentei o que faltava. Espero que vocês usem, comentem, e me ajudem a incrementar essa solução.

Continue lendo Montando um ambiente de desenvolvimento cruzado para MSX (ou tentando)…

BASIC clássico na Web.


Assim como nós, é provável que você tenha começado no louco mundo da programação rabiscando código em BASIC. Seja em Spectrum, CoCo, MSX ou Apple II, o BASIC foi a porta de entrada de muita gente. Alguns ainda continuam por lá, mas vários começaram pelo 10 PRINT "Oi Mundo" mesmo.

Então, o grande G lançou um projeto (no Github, claro) para você poder programar em BASIC na Web. É o WWWBasic, e pelo que entendemos, ele converte o código BASIC para Javascript e executa. Dá para importar como um módulo do Node.js também, e caso você tenha interesse, tem vários exemplos de código fonte para brincar.

Se você quiser uma abordagem mais tradicional, tem o QB64, o QuickBasic de 64 bits. Se você quiser experimentar algo mais MS-DOS… O js-dos resolve seu problema.

Fonte: Hackaday.