/**********************************************************************\
; Todos os dados deste arquivo so utilizados para mostrar o simples   ;
; processo usado para adicionar a Compresso de Dicionrio numa rotina ;
; de texto. Todas as variveis podem variar. Na maioria dos casos, a   ;
; a rotina no seguir o mesmo processo, mas pode se til dar uma boa  ;
; olhada nas deste caso. Boa sorte!                                    ;
\*********************************************************************/

/****************************************\
; Este  um bom exemplo usado na maioria ;
; dos projetos de Snes que terminei      ;
\****************************************/

Texto Principal (Main Text):
REP #10			; registros X,Y de 16-bit
LDY $10			; carrega a posio do byte corrente
SEP #$20		; seta o modo acumulador 8-bit
LDA [$00],Y		; carrega um byte da localizao de texto corrente
INC $10			; incrementa a posio do byte
CMP #$01		; #$01 means the next byte is compression.
BEQ Compression		; Dependente do Cdigo (Coder)
CMP #$02		; apenas usado para restaurar os valores depois
                        ; da compresso.
BEQ ResetCompress	; mostra o byte final da compresso. 
                          dependente do Cdigo (Coder).

Dados Regulares:	; dependente do programa
JSR StoreTile
JSL Do_Other_Stuff
JMP _Main_Text


#######################################
; Montar rotina para ler a compresso #
#######################################
Compresso:
INY			; obtm o prximo byte
LDA [$00],Y		; carregua o prximo byte para atribuir o ponteiro
REP #$20		; seta o modo 16-Bit
AND #$00FF		; mostra unicamente 8 bits abaixo
ASL A			; atribudo para carregar o ponteiro na compresso
TAX			; transfere o ponteiro para o ponteiro em X
LDA $00			; carregua o offset de dados corrente de $00 e $01
PHA			; salva para empilhar
SEP #$20		; modo acumulador 8-Bit
LDA $02			; carregua o banco e salva para empilhar
INC $10			; aumenta novamente o valor da PALAVRA utilizada na compresso
LDY $10			; carregua a posio do byte
PHY			; salva para empilhar
REP #$20		; Acumulador 16-Bit
LDA $CompPointTable,x	; carregue o novo ponteiro de dados
STA $00			; armazene onde dados de rotina padronizados est lendo
SEP #$20		; conjunto 8-Bit modo de acumulador
LDA #$Bank		; carregua o banco
STA $02			; armazena o banco
LDA #$0000		; limpa a posio do contador do byte para a compresso
STA $10			; armazena no contador Y
JMP _Main_Text		; volta para o texto principal (Main Text) e usa a mesma rotina


##############################################################
; Atribui valores para restaurar os dados de texto regulares #
##############################################################

ResetCompress:
SEP #$20		; 8-Bit A
PLY			; restaura o primeiro Y
STY $10			; e o coloca na localizao de memria do byte
PLA			; puxa o banco / segmento
STA $02			; restaura o banco
REP #$20		; acumulador 16-Bit
PLA			; puxa o offset 16-bit
STA $00			; restaura a posio original dos dados
JMP _Main_Text		; volta para rotina principal

2001 Stealth Translations.
Todo o cdigo deste arquivo foi produzido por Bongo.
No importa o que voc deseja fazer com este arquivo, ele s pode ser utilizado como tutorial. 
Se tiver algum problema, envie seu e-mail para "steatlhtrans@hotmail.com".

2001 BR Games http://www.kinox.org/brgames
A traduo deste arquivo foi realizada por Rodrigo Gonzatto 
(Wolf, o vermelho), membro do grupo de tradues BR Games.