Arquivo da tag: Assembly

Coisinhas para usuários aventureiros de CoCo 1 e 2 brincarem, parte 1

Sabe as ROMs alteradas que eu mencionei no post sobre a mega-procrastinação? Pois taqui um pacotinho pra  vocês se divertirem. ROMs para as várias variantes de controladores de disco* (ou acesso a disco virtualizado via serial ou rede), listagens em Assembly 6809 à la Unravelled para cada uma, patch contra o fonte do Toolshed e um README – que tá em inglês, então vou traduzir pelo menos a parte das novas funcionalidades.
Continue lendo Coisinhas para usuários aventureiros de CoCo 1 e 2 brincarem, parte 1

Você se acha um procrastinador? Pffft.

Pois eu vou lhe mostrar como os procrastinadores profissionais procrastinam. Vou tentar resumir o contexto ao máximo, mas senta que a história é longa.

1984: Sou contratado como estagiário na LZ Equipamentos, fabricante do Color64, clone do TRS-80 Color, mais conhecido como CoCo.

1985: Amei a máquina, aprendi linguagem de máquina Motorola 6809, domino as mumunhas do hardware e da ROM de BASIC, mas acho ridículo que o modo texto dele tenha míseros 32 caracteres por linha (o TRS-80 original tinha 64). Crio meus programas para a empresa usando um editor chamado Super Color Writer, que desenha caracteres na tela gráfica e portanto consegue exibir 64 caracteres por linha. Ou 51, com caracteres um pouco mais bonitinhos. Ou 85, se você realmente se odeia e não dá valor à saúde dos seus olhos.

1986: Desde ano passado estou com a ideia na cabeça: não seria legal se o BASIC pudesse operar nesse modo? Melhor resolução de texto, e poder fazer programas gráficos com texto usando simplesmente PRINT. Eu poderia alterar o BASIC. É uma trabalheira, mas sei como fazer isso. Taí, vou fazer…
Continue lendo Você se acha um procrastinador? Pffft.

Repórter Retro 070

O Seu Repórter Retro

Bem-vindos à edição 070 do Repórter Retro.

Links do podcast

Música de fundo

Random Chiptune Mix 23

Ouvindo este episódio offline

Baixe o ZIP, descompacte e ouça com seu tocador de música preferido.

Onde este episódio (e todo o Retrocomputaria) está disponível

Os episódios do Repórter Retro estão, como todo o conteúdo do Retrocomputaria, em muitos lugares: Spotify, YouTube, Google Podcasts, Apple Podcasts, Deezer e, usando nosso feed RSS, qualquer programa para escutar podcasts.

Seu comentário é o nosso salário

Não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

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.

O último negócio inacabado da RetroRio (Parte 2)

Fechamos o 1º Ciclo de Palestras Retrocomputaria com a palestra sobre desenvolvimento de jogos para MSX com Giovanni Nunes, onde o autor fala sobre a sua experiência, e como empregou técnicas de desenvolvimento atuais para desenvolver jogos para uma plataforma clássica.

ATENÇÃO: Palestra com excessiva concentração de nerdice e altos graus de repimboca da parafuseta em 8 bits. Só para os fortes.

Agora que finalmente acabamos os negócios inacabados, nosso muito obrigado ao Giovanni pela palestra instrutiva, ao Mario Trotta pela deliciosa entrevista na outra metade do Ciclo, ao Michel Maldonado (que a princípio não tem planos de virar pastor) pela edição dos vídeos, e a todos que abrilhantaram esta RetroRio.

Repórter Retro 039

O Seu Repórter Retro

Bem-vindos à edição 39 do Repórter Retro.

Links do podcast

Música de fundo

Músicas sortidas

Outras formas de ouvir

Não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Aprenda programação Assembly de Z80… Com vampiros!

Perambulando pela Net, topei com esse link aqui, onde o programador ChibiAkuma (lembra que falamos dele, do jogo que ele estava fazendo?) está trazendo um curso multiplataforma de Assembly de Z80, com códigos-fonte disponíveis, vídeo e ferramentas de desenvolvimento. No momento em que escrevemos essas linhas, ele está na lição 6. Para quem quer aprender Asm, taí uma excelente oportunidade.