> Eu estou tbm dando uma olhada nas fontes de informação sobre isso
> (+ as informações q eu pego com as pessoas daqui) e até agora, vi
que
> a coisa não se resume apenas em conhecer a linguagem assembler do
> 6502, mas tbm é necessário conhecer macetes de programação para o
> hardware específico do qual ele faz parte (o 2600), pois algumas
> funções básicas dele devem, obrigatoriamente, ser implementadas no
> seu software (não firmware, viu Eduardo?? aprendi agora? :-D ),
> independente do que quer que seja que ele venha a fazer. É
importante
> q vc conheça todas essas funções, tanto quanto conhecer o set de
Aí é que está o calcanhar de aquiles da coisa toda... muita gente
acaba se afastando da programação do 2600 porque acha a programação
do 6507 difícil. Na verdade, o assembly da linha 6502 toda NÃO é
difícil, tanto que um conselho que eu posso dar para quem quer
começar a aprender seria pegar um computador (ou emulador mesmo) com
6502 (de preferência um Atari 800, hehehehe, mas na falta de um, pode
ser um Apple II ou um Commodore 64), colocar um cartucho de assembler
(800/Mn no Atari, Mon64 no Commodore, acho que LISA no Apple, me
corrija Edu se estiver errado) no bicho, pegar um livro ou apostila e
sair treinando NO MICRO primeiro. Lá vc tem debug, funções pra saída
de caractere, coisas que no 2600 vc não teria.
Mas, como eu disse, essa é a parte fácil da coisa toda, porque meu
amigo, a hora que vc vai começar a treinar no 2600, o bicho pega...
Não por causa do 6507, como já disse, mas por causa do TIA (o chip de
controle de saída de vídeo, também conhecido como Stella) e do RIOT
(o chip que controla I/O). Isso pq o TIA principalmente tem um jeito
meio, digamos, "desleixado", hehehehe, de fazer as coisas... ele
acaba dependendo do 6507 para fazer a sincronização vertical da tela,
e é vc quem tem que controlar esta sincronização. Assim, você acaba
perdendo ciclos dentro de seu programa e, o mais importante ainda,
acaba tendo uma quantidade muito curta de ciclos onde pode
efetivamente fazer o seu processamento (calcular posições de sprites,
esse tipo de coisa), que é tempo em que o feixe da televisão acaba de
passar pela tela e ele reaparecer na primeira linha novamente (o que
chamamos de overscan).
O grande lance é que, ao mesmo tempo em que isso torna tudo muito
mais difícil do que deveria, dá margem a alguns truques muito
legais... um dos mais usados é carregar a memória do TIA e, antes
mesmo dele completar a varredura, sobrescrever essa memória com novos
valores, permitindo efeitos variados (quem usava muito esse tipo de
coisa era a Activision... ou vcs nunca repararam que os jogos dela
tinham uma resolução melhor do que a maioria dos jogos do 2600?)... o
pessoal da lista de desenvolvimento STELLA acha que, até hoje, ainda
existam efeitos possíveis de serem descobertos no TIA...
Buenas, é isso aí, desculpem se a explicação não foi clara, mas eu
sou um péssimo professor... :-(
Abraços, Alegretti
Recebida em Fri 02 Feb 2001 - 03:05:31 BRST