Arquivo da tag: Assembly

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.

Montando uma IDE para programação Assembly 6502.

É possível que você já tenha ouvido falar do RetroChallenge, capitaneado por John W. Linville. A ideia é trazer desafios para pessoas interessadas em micros clássicos (como nós). E um dos desafios que o Micah Bly assumiu para si mesmo foi montar um ambiente de desenvolvimento para facilitar a vida de quem quer programar em Assembly do MOS 6502 e seus parentes próximos, como o 6509, o 6510 e o 8502. Parecido com a minha iniciativa para desenvolver para MSX usando o Linux como ambiente operacional (novidades para breve).

Então, ele tem um longo e detalhado artigo, mostrando como ele procedeu: Configuração do Relauch64 (IDE para desenvolvimento cruzado), ajustes no VICE (emulador de C64), redação de código Assembly… E por aí vai. Vale a leitura.

Livro sobre programação de jogos

Dois livros bem interessantes de autoria da 8bit WorkshopSteven Hugg — que estão a venda. No primeiro, Making Games For The Atari 2600, você aprende sobre programação de jogos em assembly para icônico console da Atari. No outro, Making 8-Bit Arcade Games in C, você aprende a programar utilizando a linguagem C em diversos modelos de máquinas de arcade clássicas baseadas no microprocessador Z80. Em ambos os livros você utilizará um ambiente de desenvolvimento que integra  editor, depurador e um emulador do hardware etc.

Cada livro custa US$12,00 e são vendidos através do Gumroad.