3.2)Dicionário do óbvio lulante e além!
3.2x)0.1c ou Termos que significam versões de programas...
RC = Release Candidate, Candidato ao Lançamento;
WIP = Work In Progress, Trabalho em Progresso;
a, ALFA, b, BETA, c, GAMMA, d... = Sinceramente, como você consegue ler?
20/10/2000, 11/24/9999, 2001/01/01 = datas...
3.2x)Apple - a empresa, não a fruta...
"Eu também quero um pedaço da Apple, Steve!!" A Apple foi fundada por Steve
Jobs (Jobs=Profissões XD) em algum lugar de 1980. Steve Jobs ficou famoso após
criar um computador pessoal (Seria o primeiro a fazer isso? Tenho minhas
dúvidas...) na garagem da sua casa, algum lugar antes de fundar a Apple, claro...
Esse computador ganhou o nome de Mach2 que, por sua vez, é uma abreviação do
nome Machintosh, utilizado pelos modelos de sua empresa! O ambiente que os
Machintoshs usam é o UNIX. Apesar de não terem um Sistema Operacional igüal ao
irmão LINUX!
3.2x)ASM, ASSEMBLY...
Em português : reuinir, agrupar, montar... ASSEMBLY é a lingüagem de
programação mais básica de uma máquina (é a lingüagem de baixo nível, por se
tratar de códigos na "camada" principal do Hardware)... Nunca acredite quando
pessoas ignorantes, de opiniões formadas por fontes igüalmente idiotas,
disserem : "ASSEMBLY é ruim de aprender, não faz sentido aprender isso atualmente
e sua pior característica é a portabilidade/compatibilidade entre máquinas".
Primeiro : se você conhece ASM bem, saberá modificar qualquer máquina (de um PC
como o seu, até um forno de microondas com MP3 \o/), pois isso que significa ser
um mestre em ASM :D; segundo : na minha opinião, ASM é muito mais fácil de
aprender que qüalquer lingüagenzinha que utiliza COMPILAÇÃO XD (C, C++,
PASCAL/DEPLHI, BASIC... As de alto nível!)... Muitos processadores, mesmo
fazendo parte de uma família comum, não são totalmente compatíveis! Sempre tem
uma "pequena" diferença que torna o ASSEMBLER (programa para juntar o código
ASSEMBLY) único para cada tipo de máquina. Enfim, para quem ainda não colocou a
cabeça pra funcionar, ASM é a ponte principal entre Hardwares e Softwares!
Tudo que quiser funcionar, vai ter que passar por ela :D..
3.2x)Binary Coded Decimal (BCD).
Decimal Codificado em Binário. O primeiro sistema de caracteres! Oras, se
você leu tudo o que eu escrevi, não precisa ser um gênio pra saber o que
significa! É apenas uma representação binária do sistema decimal, qüando ainda
não existia o hexadecimal... Eu não coloquei no tópico lá de cima, porque não
tem importância alguma, se não histórica, saber como ele é...
3.2x)BIOS - Basic Input/Output System \o/.
O Sistema Básico de Entrada/Saída de dados... Aquele seu pedacinho de parede
querido (parece um piso) que tem junto de um relógio RTC, o grupo CMOS, talvez o
ASCII dentro :D e bateria pra tudo funcionar direitinho... Para quem ainda está
pensando, logo na inicialização do PC, você verá a tela do BIOS, aperte DELETE e
configure o bichinho :D...
3.2x)Bookmarks = Favoritos...
Se você navegou na internet, quer deixar um endereço de site guardado, você
grava ele nos bookmarks (Book=Livro, Mark=Marca; em inglês)... Nesses editores
hexadecimais específicos para o romhack, eles também têm uma área de bookmarks
para você guardar os endereços que achar importante, caso não queira pesquisar
toda santa vez ou anotar num papelzinho...
3.2x)BPP - BIT Per Plane.
Em bom português, BIT Por Plano (não confundir com BIT por PIXEL);
é simplesmente uma aplicação gráfica onde 1 Ponto Flutuante (mais embaixo)
vale 1 ou mais BITs. Explicando e melhorando : os videogames usam um modelo
gráfico "simples", para suprir as necessidades da sua memória e criar uma
liberdade para os seus jogos... Nele, a colorização é utilizada até o limite da
memória utilizada pelo sistema e, um mapeamento de cores é definido pelo jogo
(uma paleta que deve obedecer às limitações de cores do sistema, claro)... No
modelo mais simples de BPP (1), os gráficos serão MONOCOLORIDOs (preto e branco,
preferencialmente), pois ele vai mapear 1 BIT para cada Ponto Flutuante da tela
(1 BIT = 2 possibilidades ou cores, no caso). Agora, vamos pensar um pouco mais!
Se você tomar o modo LINEAR de ver esse modo (1BPP), um BIT vai sair direto ao
lado do outro, produzindo gráficos parecidos com esse, em modo texto:
--oo--
-o--o-
-o--o-
--oo--
Mas, LEMBRE-SE DISSO, os videogames tem outros modos robustos de organizar os
BITs dentro dos BYTEs, chamados de planos! Estes estarão explicados na seção
sobre os sistemas ;D!!
3.2x)BUFFER.
É o lugar onde os dados ficam para um acesso rápido pela RAM, visando a
economia da RAM e agilização dos processos, funcionando como uma memória
alternativa, quando os dados são acessados... É utilizado em mídias
(geralmente com um lado para guardar os dados e o outro pro BUFFER) e como
arquivos no HD (meio principal de economia da RAM e agilização dos processos)...
Você sentirá a diferença num software que usa buffer e um que não usa, pela
velocidade :D!
3.2x)Busca (Pesquisa) Relativa.
Quando se faz uma busca normal num arquivo de texto, você espera achar
palavras com a tabela de caracteres que é usada no Sistema Operacional.
No caso de um arquivo de texto SIMPLES! M$ WORD e editores profissionais,
utilizam tabelas de caracteres diferentes para seus formatos... Já a busca
relativa, é feita com o objetivo de se achar uma tabela de caracteres usada nos
jogos (uma porque pode haver mais)... Ela utiliza algoritmos matemáticos
(fórmulas) para se achar uma relatividade entre os membros da tabela...
Um algoritmo simples que é usado em todos os programas de busca relativa :
você procura por "bola", ele vai apenas somar o BYTE que representa a letra de
menor valor alfabético (no caso, "a") pela quantidade que falta pra chegar nas
outras letras, no alfabeto (Não é o nosso, aliás, nunca pense no nosso. Só no
inglês onde tem "k". "w" e "y"...) Bem, se "a" é a primeira letra, "b" será
"a" + 1 e assim sucessivamente. Logo, ele teria que pesquisar a palavra "bola"
assim : (x+1) + (x+15) + (x+12) + (x); agora em bytes, supondo que a=0x00, na
tabela do jogo, ficaria assim : 0x01 + 0x0F + 0x0C + 0x00 (ou, tudo junto como
no editor hexadecimal, 0x010F0C00)! Lembre-se : nem todos os jogos têm tabela
de caracteres com o alfabeto organizado corretamente...
3.2x)BUS - O "Barramento" (ônibus) do sistema.
Em inglês BUS=ônibus :D. O BUS é o caminho percorrido pelos dados... É um dos
fatores determinantes na velocidade do sistema! Seu computador pode ter um
processador de 2.8GHz, se o seu BUS não passa de 33MHz, vai demorar como num
Pentium 100Mhz :D (virtualmente falando pois, BUS tão fracos assim jamais
suportariam uma carga dessas)! O BUS é um componente existente em qualquer
integrante do sistema, como você já devia ter entendido! Uma das grandes
diferenças entre videogames e PCs, fica por conta da velocidade do BUS
(que é mais alto no videogame).
3.2x)Cache.
Não tem uma tradução exata... Cache é um tipo de memória que güarda uma
coleção de determinados dados, processados anteriormente. Serve para que um
acesso posterior destes dados, ocorra de maneira rápida e eficiente... Nem tudo
é bom, cache pode representar falhas terríveis de segurança, já que pode ser
acessado em modo Hardware, caso não seja limpado :D.
3.2x)Complementary Metal-Oxide-Semicondutor (CMOS).
Semicondutor Óxido-Metálico Complementar... Essa joça XD aqui, tanto pode ser
o nome dado à uma família particular de circuitos, quanto à tecnologia
implementada nos circuitos dos Hardwares do PC (RAM, microprocessador...):D !
Bem, sua grande tecnologia baseia-se no fato de ele poder gerenciar muito bem
a energia que utiliza : pode deixar ela estática durante os processamentos, sem
utilizar, e ter um alto controle da dissipação da energia (em calor)!
3.2x)CPU.
Central Processing Unit, em português, Unidade de Processamento Central.
É onde ocorre todo o processamento das informações vindas da memória,
do HD etc... Logo, é o cérebro da máquina!! A unidade utilizada, para
classificar a potência de um processador, é Intruções/Segundos (Ints. por
Segundos)... Se um processador é de 32 BITs, ele pode processar até 32 BITs
por instrução! Agora, colocando mais matemática nisso : um processador de 64
BITs com velocidade de 800 MegaHertz/segundo (não confundir com Int/seg, ali de
cima, veja o por quê agora :D), é capaz de manipular até 800 MILHÔES de
INSTRUÇÔES de 64 BITs por segundo ou, com instruções de 32 BITs, até 1 BILHÃO
e 600 MILHÕES de INSTRUÇÕES por segundo... No entanto, muito cuidado qüando
formos falar de um PROCESSADOR REAL e 2 processadores separados! Não é a mesma
coisa 2 de 64 BITs fazendo o trabalho de um de 128 BITs (sempre há restrições
e/ou queda na qüalidade do processamento)!!
3.2x)Carriage/Control Return - Retorno da Carruagem, Controle de Retorno.
É mais simples que parece... É o caractere de controle, de qualquer tabela,
que representa, nos computadores, o ENTER do teclado (nos teclados americanos,
o ENTER é chamado de Return) :D! Como tudo é muito variável nesse mundo, ele é
utilizado sozinho, no sistema GNU/Linux, para representar uma nova linha em
modo texto!
3.2x)DATA, DATUM.
Em inglês, os nomes latinos são escritos com a terminação (UM) e o plural com
a terminação (A). Daí vem DATA, plural de DATUM que é a unidade básica de
informações, tanto na vida real qüanto no PC... (1 informação=1 datum)
3.2x)DEBUG, DEBUGGERs.
Neologismo inglés (DE = prefixo de negação; BUG = erro de programação que
causa um defeito com as mais variadas consequências). DEBUGGar significa varrer
o programa atrás de BUGs... Para isso, você se utiliza de DEBUGGERs ou faz tudo
manualmente, no código do programa :D (Sabe quando "o Windows causa uma operação
ilegal e seu programa é finalizado"? Pois é, qüando você pede os detalhes, ele
mostra o endereço na memória e a chamada que causou o BUG... Nem tudo é ruim no
Windows :D, esse DEBUGGER é uma maravilha XD)! Os DEBUGGERs são muito
utilizados por romhackers com um bom conhecimento de ASM, para descobrir
características do sistema que não tem uma boa documentação... Graficamente,
eles são como editores hexadecimais, com umas "coisinhas" a mais ;D (a maioria
dos editores hexadecimais já são DEBUGGERs, apenas vi um, feito exclusivamente
para o romhack, ser DEBUGGER :D)...
3.2x)DTEs/MTEs - que raio é isso?
O maior problema, sobre este assunto, que eu presenciava no fórum, é a falta
de uma tradução para eles :D... Dual Tile Encoding (Codificação Dupla de Tiles)
ou Multi Tile Encoding (Codificação Múltipla de Tiles) é, simplesmente, a
utilização de um ponteiro (ou código) para representar um número maior de Tiles
do que o normal ou uma junção de vários Tiles... Explicando melhor : ao invês de
apontar 1 BYTE para 1 caractere, na tabela, esse mesmo BYTE pode ser usado para
apontar dois ou mais caracteres... Há jogos que (*cough*coff LUFIA AMERICANO!!)
usam um BYTE para representar cada letra do alfabeto e também para representar
palavras inteiras :/ (ou seja, um MTE)... Pra simplificar mais, DTE é só uma
idiotice, use apenas MTE que representa a classe toda :D (quem precisa de dois
quando se pode ter uma palavra inteira)... Última explicação : os DTEs/MTEs podem
ser ponteiros (maioria dos casos, quando é um código simples, que você pode
alterar na respectiva tabela de ponteiros) ou fazerem parte do código compilado
do jogo (esta é mais difícil, você vai ter que aprender o ASM da máquina)...
*Estará, em breve, na seção sobre compressões ;D!!*
3.2x)Emuladores!
Do dicionário, emulação : substantivo feminino; 1 - "Sentimento que incita a
igüalar ou superar outro alguém"; 2 - "Incentivo". Na vida virtual,
emuladores visam imitar ou, como mais acontece atualmente, superar outros
sistemas :D! Emuladores são uma caixinha de surpresa armada com aquelas
mensagens idiotas : "Não distribua ROMs com meu emulador, ROMs são ilegais...
Não sou responsável se você for incorporado por espíritos do Orixá por causa
desse programa! Não tenho afiliação com empresa X, apesar de que adoraria
trabalhar nela!! Não fale comigo, sou anti-social e não quero saber de gente!!".
Rá, se não querem gerar pirataria, pra quê fazem emuladores? Deixando de lado
essas discussões impróprias para o documento, os emuladores hoje são como o
cinto de utilidades do Batman : sempre tem uma idiotice que está acima das
capacidades do sistema emulado... Todo emulador, para ganhar destaque, tem que
ter um conjunto de elementos interessante : Save State, rodar com um filtro Open
GL (não importa se é um emu de Game Boy), rodar 90% dos softwares do sistema
emulado, ser compatível com dispositivos alternativos (Controles, câmeras
digitais, impressoras...) e ainda tocar MP3 XD... Agora, sobre o que é
realmente necessário para o romhacker : um emulador com um DEBUGGER,
exibidor/editor de Tiles, emule bem a ROM que se pretende traduzir (suficiente
para chegar no final REAL do jogo), possa tirar capturas da tela (para você
possa exibir o trabainho XD e não ter que ficar decorando o texto do jogo,
durante a confecção da tabela) e SEMPRE TENHA POSSIBILIDADE DE SALVAR IN-GAME,
COMO SE FAZ NO SISTEMA (NÃO O SAVE STATE)!!!
3.2x)Entrada/Saída de dados - Input/Output.
Você já deve ter entedido isso... Pra quem ainda não, vamos aprofundar mais!
No mundo virtual, entrada/saída de dados significa o envio/recebimento de
impulsos energéticos (que nos PCs atuais são elétricos) em duas variações de
potências diferenciadas, de um modo que, a máquina consiga organizar tudo em
sistema binário! Para o sistema elétrico atual, uma voltagem entre 0.2 volts e
0.8 volts, simboliza o valor binário 0 e, uma voltagem entre 2.4 volts e 5.0
volts, simboliza o valor binário 1! Claro que, você vai ter que se virar em
física elétrica para descobrir o que ocorre de interessante entre 0.9 e 2.3
volts (não sei mesmo, deve ter algo a ver com campos elétricos) XD! A entrada
básica dos PCs é o teclado (stdin - Standard Input - Entrada Básica :D) e a
saída básica é o monitor/tela (stdout - Standard Output - Saída Básica :D)!
3.2x)Extensão do arquivo!
Dicionarificando extensão : Ampliação, Dimensão, Duração, Importância!!
Visualmente, podemos definir a extensão de um arquivo como todo caractere que
vier após o último ponto, dependendo da ordem de leitura (o nosso é da esquerda
para direita :D)... Ela é o método mais comum pra definir com qual tipo de
arquivo estamos mexendo (não é o mais seguro ;D)! Era utilizada de modo estúpido
por alguns Sistemas Operacionais, exemplo : no DOS, a extensão era um fator tão
sagrado que fazia parte do seu limitado sistema de arquivos (8 letras para o
nome + 3 letras para simbolizar a extensão = apenas 11 caracteres possíveis para
nomear as tralhas :P), e isso não é bom, pelo contrário, é um incômodo
desgraçado para quem quer programar... A maioria dos BUGs aconteciam só por
causa disso...
3.2x)Font - Fonte.
Neste mundinho da computação, FONT tem um final e único XD significado : são
TODAS as letras padronizadas que você vê nesta tela, com seus olhos! Está vendo
este documento no Notepad? É uma fonte!! Está vendo no WORD? É outro tipo de
fonte (discutido mais embaixo :D)...
3.2x)GNU - Free Software Foundation (FSF) www.gnu.org .
Antes que você pergunte, GNU significa o nome de um animal XD... A Fundação
do Software Livre tem uma forma bem linda de pensar : "Livre como em liberdade,
não como em socialismo etc" :D... Se você quiser ver a história completa, tem
no site! A GNU faz parte da UNESCO (órgâo das Nações Unidas que cuida da
educação/ensinamento científico) e, se você estuda história (e não entra na
internet só para ver pornografia) saberia que, ela vai sempre ajudar a
instalação de paraísos tecnológicos em países pobres, como se pressupõe...
O sistema GNU faz utilização de um kernel muito famoso que, infelizmente, ficou
mais famoso que o sistema : o LINUX!! Se você não entendeu a última oração, eu
explico : o LINUX é só o kernel, toda a parte software é do sistema GNU! A GNU
fica uma arara quando mencionam o sistema como "Sistema Operacional LINUX" :D!
3.2x)Hardware !
Em inglês : Hard=Duro , Ware=Não tem uma tradução exata em singular, no seu
plural (wares) significa mercadoria (Esse nogócio de ware ser mercadoria e wares
ser mercadorias, não existe! Isso é coisa de americano :P!)... Bem, esta
é a parte DURA (e duradoura :D) da máquina, ou seja, a parte FÍSICA!! Como já
foi explicado, as máquinas só entendem funções em binário (Como uma manivela,
entendido?) até para não colocar muita "burrocracia" e fórmulas idiotas,
restringindo o acesso manual prático à elas... Nos computadores pessoais,
atualmente, as organizações básicas impostas por empresas inúteis, já não
importam muito... Assim, o Hardware tem se tornado só uma caixa de areia :D,
sendo dominado pela libertinagem alcançada pelos Softwares :D!!
3.2x)Hack, h4cks...
Hacks são a edição, não autorizada, de um hardware/software, com a finalidade
de : adicionar, modificar e/ou remover funções... O hack pode acontecer de duas
formas, no software : editando o programa através de um editor hexadecimal (pra
você saber EXATAMENTE o quê deve ser feito, precisa saber muito de ASM da
máquina/SO para o qual o software foi feito); ou modificando o código fonte do
programa... Assim é melhor, além do mais, você sempre saberá qual o programa que
tem seu código liberado, determinando que você possa modificá-lo livremente...
Só basta aprender a lingüagem de programação! Hacks em hardware, não precisa
ser um gênio pra fazer : abra o PC, desça o braço no bicho XD!!
3.2x)Header = Cabeçalho.
O Header é uma seção inicial da ROM que, pode ser ou não, feita por pessoas
que criam os ROMs de videogame (os DUMPers)... Isso é um problema, especialmente
quando ficam dois Headers na mesma ROM (o original, definido pela empresa que
fabrica o sistema, e o pirata feito pelo DUMPer)... Os únicos sistemas, que se
pode ter certeza da inexistência do Header pirata, são o GBA e os de mídias
redondas (CDs, DVDs...) : Playstation, Saturno... Eu não sei exatamente se todos
os fabricantes exigem um cabeçalho bem informativo nos jogos mas sei que todos
os sistemas têm! Não é bom ter cabeçalhos piratas nas ROMs! No entanto, para as
ROMs de NES, isso é uma necessidade (logo mais, durante as explicações dos
sistemas, eu digo o por quê)! Ah, caso você se pergunte, o cabeçalho pirata é
o que faz você ter que somar/subtrair valores para achar a tabela de ponteiros
(Pior não é isso : alguns emuladores compactuam com a imbecilidade...)!
3.2x)High Level Emulation (HLE).
Emulação em alto nível! Não pense que a coisa é uma maravilha, nesse mundo
virtual, quanto mais micro, melhor :D! Esse tipo de emulação trabalha o sistema
de um modo superficial (é como nas lingüagens de programação de alto nível).
Vou simplificar : imagine que você vá pescar e, ao invés de treinar para ser
um super pescador e pegar peixes na mão (Será mais difícil mas o resultado final
é melhor. Logo, conseguirá pegar qualquer peixe!), fique usando varas com isca e
esperando o peixe cair... Ou seja, é tudo diante da possibilidade e a emulação
do sistema não será realizada integralmente (Você vai usar um emulador onde
os efeitos/defeitos acontecem dependendo de como o jogo reage ao sistema, e não
como o sistema faz o jogo reagir, que seria o mais prático pra não dizer
correto...). Por isso que o número de pessoas, trabalhando em um emulador com
este método, é maior e o tempo de idealização/produção do emulador, menor!
Ah, é mais utilizado para acontecer uma velocidade do além nos PCs, caso você
não tenha entendido :D.
3.2x)Hiragana.
É o alfabeto japônes. Antes, era utilizado para simplificar o aprendizado de
kanjis, agora um alfabeto próprio. Feito por mulheres, ele é silábico (composto
por sílabas) e representa uma outra forma de se pronunciar os kanjis :D!
3.2x)IPS - International Patching System !
Sistema Internacional de Remendação (Atadura etc) :D! O IPS foi criado pela
IBM para "atualizar" aqueles programinhas maravilhosos... Sua operação em
programas é uma simples comparação de BYTEs entre dois arquivos, o resultado é
posto num arquivo IPS! O IPS usado para o romhack, é uma versão aprimorada do
original, para que não aconteça erros com tanto diálogo e técnicas mirabolantes
(Se você abrir um arquivo IPS no editor hexadecimal, verá que seus 5 primeiros
BYTEs correspondem à palavra PATCH e seus últimos 3 BYTEs à "EOF"!). Um erro
simples que acontecia no formato ORIGINAL : caso um software usasse PATCH ou
EOF (num sistema descendente do ASCII), era BUG na hora...
3.2x)IMAGEM do CD ou ISO.
Primeiramente vou explicar o mais longo : por quê é ISO o nome dado às imagens
de CD (em geral)... ISO 9660 foi o primeiro, e ainda é o mais popular, sistema
de armazenamento de dados (sistema de arquivos) em CDs, como antigamente
(especificamente na época que o CD foi criado, acho que em 198x) os PCs não
tinham espaço sequer pra armazenar um disquete (PUTZ, maior sensação!!), o CD
virou uma revolução em sistemas de armazenamento desse tempo; existem outros
formatos mas, nenhum ganhou destaque devido aos sistemas Windows e Machintosh
abraçarem o ISO :P... Bem, vamos explicar o que é uma imagem de CD afinal...
É um arquivo que simula a mídia de uma maneira ideal para regravação, pois nem
todo CD é igüal!
3.2x)Kanji - em bom japônes -> Letra Chinesa.
Kanji (Sua tradução japonesa é letra CHINESA!! XD) são as 10 mil letras
chinesas utilizadas pelos japoneses... Evidente quê, existem mais de 50 mil no
alfabeto chinês completo mas, os japoneses não utilizavam mais de 20 mil, quadro
que foi modernizado com o fim da segunda guerra mundial... Ahh, até o número de
kanjis existentes, é pauta pra boas horas de discussão...
3.2x)Katakana.
É o alfabeto japônes utilizado para representar palavras estrangeiras.
É igüal, em organização, ao hiragana... Mas seu fator relevante é o FONEMA
(som produzido pelas letras)!!
3.2x)Kernel.
Sem uma tradução direta, o Kernel (aliás, isso nem parece inglês) é o núcleo
do Sistema Operacional! Ele é quem faz a ponte entre Hardware e Software!
É muito comum falarem sobre ele, mesmo qüando não sabem que é ele XD, no
Windows : "executou uma operação ilegal no kernel32.dll e blablabla"; no
Linux : Sistema Operacional "GNU/LINUX" ;D!!
3.2x)Line Feed - Alimentador de Linha :D.
O Line Feed é outro caractere de controle... Ele foi criado com a, duvidosa,
boa intenção de alinhar o cursor (de um modo que varia dependendo do sistema
e do uso que o sistema vai fazer :D) para a próxima linha, em modo texto!
Já vi jogos utilizarem apenas este bichinho pra mudar de linha mas, é raro
(nenhum jogo novo, eu diria)... Já o seu uso em Sistemas Operacionais, ficou
famoso devido ao uso de um par LF/Control Return por parte da dupla Windows e
DOS (o Dragon Quest Monsters Caravan Heart -GBA-, utiliza esta dupla)!
3.2x)Lingüagem de Programação.
Oras, lingüagens de programação são usadas para se fazer os softwares
(programas, programar) XD... Existem três tipos : a de baixo nível (ASM, só
existe ela ;D), as de alto nível (a grande maioria XD) e as interpretadas que
são compiladas durante a execução (JIT=Just In Time, expressão que significa
"Bem à tempo!", o JAVA!)... Sobre as de alto nível, existem dois tipos : as
lingüagens compiladas (São COMPILADAS usando um COMPILADOR - software feito com
a finalidade de passar a lingüagem utilizada para a lingüagem da máquina ->
ASM :D) e as interpretadas (essas são passadas à medida que o código é lido e,
apenas durante a execução do software). Nesse novo tipo, o código é compilado
durante a execução, para a produção de funções extras no sistema :D! Lingüagens
compiladas : C, C++, DELPHI/PASCAL, BASIC... Lingüagens interpretadas : Python,
JAVA (ela tem dois modos :D), HTML, PHP... Lingüagens semi-compiladas (JIT) :
JAVA.
3.2x)Micro$oft (Histórias mentirosas até que se prove o contrário.)
Hehe, a Micro$oft teve um papel ímpar, juntamente com os aniquiladores da
Apple e GNU, nesse mundo da computação... A M$ foi fundada em algum lugar antes
de 1980, por um jovem rapaz chamado Bill Gates! Bill era considerado um
programador mediano, por seus amigos (que amigos :P). Ele sempre é acusado, tem
até um filme sobre isso ("Os piratas do Silício"), de ter criado sua empresa ao
redor de mentiras!! Dentre uma das mais cabulosas histórias, está a criação do
primeiro Sistema Operacional da M$ : o M$-DOS!! Até hoje, rezam várias lendas
sobre o assunto... Vamos ver algumas :D : Bill teria comprado o DOS de um
desses, super gênios programadores, por um valor que só foi arrecadado depois da
instalação da M$, no mercado (ou seja, comprou fiado e ainda levou lucro :D);
o DOS era, na verdade, um sistema muito utilizado por hackers da época
(Esses caras hackeavam o quê? Sites de universidades?), aí Bill, que nunca
teve uma fichinha manchada na polícia :D, ameaçou esses hackers que iria
contar à central de inteligência (CIA) sobre a baderna que eles poderiam se
tornar no mundo, pegou o DOS e foi ser feliz :D; a mais cabulosa de todas,
consta que o DOS era, ao contrário do que se costuma pensar, um sistema de
espionagem de empresas que não estavam gostando da ascensão de jovens ao
mercado RICO, Bill pagou para um hacker entrar no sistema dessas empresas,
roubar o DOS e, assim, ele teria uma bela base para confeccionar um Sistema
Operacional e uma bela forma de derrubar empresas árcaicas no ramo...
Aff, uff, puff... Vamos falar da criação do Windows! Antigamente, todo
computador fabricado era obra de uma empresa má : a IBM!! A M$ era uma das
empresas que estouravam na parada... Ao lado dela, tinha um jovem que, montou
seu próprio PC na garagem de casa :D : Steve Jobs, dono da Apple! Os métodos
árcaicos da IBM, visavam dominar o segmento da produção de PCs, impondo suas
limitações a todas as outras empresas do ramo... Um dia, sua parceira Intel
(fabricante de Hardwares), recebeu uma proposta intrigante da M$ : se você me
ajudar a acabar com o reinado da IBM, criando uma liberdade maior para os
softwares, podemos confeccionar um Sistema Operacional Gráfico jamais visto
na história... Não deu outra, a IBM perdeu o único controle que tinha, apesar
de todos os PCs ainda levarem a marca de PC Compatível com o método IBM
(IBM PC)... E o Windows foi formado, com componentes de Hardware únicos para
melhorar seu funcionamento (família Plug And Play)!
3.2x)Ponteiros, apontadores!!!
Ora, é um código do software cujo valor aponta para um endereço e/ou outro
código. O ponteiro aponta para um valor real (relevante para o programa) ou
também para outro(s) ponteiro(s) (podem existir milhares de apontamentos até
que se chegue ao valor real e, aliás, isso é até uma técnica muita famosa :D).
Nos jogos, eles são usados para chamar nomes dos personagens, nomes dos itens,
nomes dos inimigos, indicar abertura/fechamento de diálogos, indicar uma
TABULAÇÃO/ALINHAMENTO, imprimir efeitos na tela, fazer os gráficos
aparecem/sumirem etc etc... Não existe um número de BYTEs característico do
ponteiro até mesmo em um só jogo, podendo ele utilizar de 2 até 8 BYTEs num
jogo (Esse foi o maior número que eu vi. Cuidado pra não confudir com 2
ponteiros juntos!). Para se alterar a localização de um ponteiro, geralmente,
é preciso achar a tabela de ponteiros, da qual este faz parte (mais em baixo
explico ela), e alterar o endereço referente ao ponteiro. O ponteiro, qüando
utilizado "genericamente" com uma lingüagem de programação, é lido de trás
para frente, na memória. Por isso que ele aparece geralmente invertido, devido
à utilização de uma lingüagem de programação com tais propriedades.
Esse tipo de coisa você aprende em lógica da programação :D!
3.2x)Ponto Flutuante.
Essa é fácil, Ponto Flutuante é uma unidade gráfica virtual (de livre
definição) que, em matemática, pode representar um número racional :D. Podendo
ser metros, pés, polegadas, PIXELs etc... Veja na sua tela, nela há uma
determinada qüantidade desses PIXELs (unidade principal para a exibição em
monitores), que formam uma RESOLUÇÂO! Logo, se sua resolução está em 800 x 600,
você pode ter um total de 800 Pontos Flutuantes nas linhas horizontais e 600 nas
colunas verticais, seguindo o limite na visualização do monitor (nossa, qüanta
redundância : linhas são horizontais, colunas são verticais :D)...
3.2x)Playstation Patch File - PPF (www.paradogs.com).
Se a IBM e a história do IPS parecem interessantes... Essa aqui ficou ofuscada
por causa dos seus criadores : o grupo de pirataria organizada PARADOX :D!
O PARADOX (O nome do grupo é PARADOX mas o site é PARADOGS, se referindo a uma
paródia dessas...) é responsável por boa parte dessas ISOs famosas que rodam nos
sistemas de P2P (Kazaa, e-Mule...)! Bem, o PARADOX ficou decadente e surgiu
uma facção criminosa que trata de cartuchos, dispondo eles em fservs de IRC :D!
Chega de história da criminalidade virtual XD, vamos ao formato... O PPF tinha,
até a versão 2.0, um investigador de tamanho, pra ver se a ISO estava errada.
Isso mudou na versão atual, 3.0, porque o treco sempre checava errado... Nessa
versão atual, ele é capaz de tirar a diferença entre arquivos de até 9.2 ExaBYTE
(1 ExaBYTE é, simplesmente, 1.24 BYTE x 10^18 -exponenciado, elevado à 18a.
potência-... É BYTE pra fazer muita coisa até 2030...)! Ele está bem mais rápido
que na versão 2.0- e não faz os filmes ficarem gigantes como nelas. Sim, eu
testei! Só tenha certeza que a ISO é do mesmo formato e o jogo religiosamente
igüal (mesmo SXXX-XXXXX)!!
3.2x)RAM e ROM...
São dois tipos de memória de HardWare. Random Acess Memory (Memória de Acesso
Aleatório) pode ser definida como o BUFFER principal de todo o CPU, só que não é
simplesmente um armazenamento temporário; Read Only Memory (Memória Apenas para
Leitura - MAL) é uma memória que não foi gerada para se acrescentar modificações
nela, ela sempre vai ficar imutável mesmo quando o HardWare é desligado e ligado
de novo, reiniciado, espancado XD....(Se bem que as pessoas resolveram copiar
ROMs como arquivos e aí, virou SOFTWARE que roda, geralmente, emulando..XD)
3.2x)RAW ou Modo de leitura RAW.
Do inglês RAW = Bruto, de qualquer forma (de um jeito simples)... Em computação,
qüando nos referimos à um formato ou hardware RAW, queremos dizer que é o
MAIS SIMPLES da sua categoria... Ou seja, o gráfico em formato RAW, pode
ser representado pelo Bitmap (BMP do Windows... Cuidado, existem outros formatos
de Bitmaps.), que é o simples mapeamento de 1 BIT para 2 cores :D... O som pode
ser representado pelo WAV do windows, que mostra todas as distorções da onda
elétrica através dos seu BYTEs... Agora, para os videogames (como a unidade
relevante é o BIT) aí só entramos em uma cadeia menor :D : o RAW do GBA é o
4BPP, o do NES e GB é 2BPP, o do PSX pode ser vários tipos de imagem
(com tanto que caiba na memória ;D)... O mesmo se aplica para as músicas, onde
a música instrumental sintetizada é o forte dos videogames :D! Lembre-se, para
os gráficos, que os videogames podem ter várias paletas de cores, o mesmo não
ocorre nos formatos gráficos de PC! É claro, no entanto, que diferentes
programas definem diferentes cores para as paletas! Ah, a leitura em RAW é feita
lendo todo simples BIT que tiver numa memória, do seu início até o final!
3.2x)Recompilação Dinâmica - Dynamic Recompilation.
Essa é uma forma de lingüagem de programação... Eu vou considerar isso uma
técnica, e já vou explicar o por quê! Ela funciona como no JIT do JAVA : é um
código interpretado que pode ser compilado, mas o código produzido pode ser
modificado com o passar do tempo :D! Não é como uma compilação estática, onde o
código bruto vira um tipo de ROM ;D! Ela é usada no Nintendo 64!
3.2x)RTC - Real Time Clock.
Relógio em Tempo Real, é o seu relógio querido dentro do PC (geralmente,
dentro do grupo do CMOS) :D... Se dá pane na sua bateria, ele reseta para a data
que foi produzido... Essa bateria é justamente para que ele funcione, enqüanto
teu PC está desligado, e não perca a hora...
3.2x)Salvamento In-Game, ou de bateria ou por Memory Card :D.
Esse é o tipo de salvamento REAL, utilizado nos sistemas de videogame...
O de bateria é utilizado no SNES, Mega Drive, Master System, NES, GB, GBC,
GBA e Saturno. O Memory Card é o equivalente para o Playstation, DreamCast
e consoles novos.
3.2x)Save State - Salvar Estado.
É uma técnica retirada de um acessório do Turbo Graphx 16 (PC Engine)...
Consiste em salvar o jogo, a qualquer segundo, guardando o estado de todas
as memórias utilizadas pelo sistema...
3.2x)Software !
Do inglês : Soft=Leve, Macio... O Software é aquela parte virtual da máquina
que não existe! É um bando de dados que, qüando organizados de certa forma
(seguindo a orientação de como a máquina reage), gera essas coisas bonitinhas
que você está vendo aqui :*... O Software é o principal artista nos PCs, ele
já tem uma autonomia ímpar em relação às limitações da máquina utilizada...
3.2x)Sprite -> Não tem tradução virtual mas, Duende, Gnomo, Fada XD...
O Sprite é aquela figura determinante do jogo, que representa personagens,
armas, projéteis etc... Nem tudo que está no cenário são Tiles e nem tudo que
fica num Sprite é parte dele :D...
3.2x)String, EndString, BeginString.
Em português : corda fina, barbante (fios pequenos :D)... Quando se referem à
um String em computação, querem dizer uma fila de caracteres juntos (String of
Characters), de um determinado tamanho... Uma String pode ser um bloco de texto
de um jogo, pode ser aquelas mensagens lindas dos programas ("Abrir" , "Salvar",
"Editar","OK","Cancelar"...), enfim, qualquer junção de caracteres imprimíveis
na tela (que podem ser digitados)... End = Fim, Begin = Começo, Começar; logo,
são os caracteres que marcam o começo e fim dos Strings (diálogos) num jogo...
Agora, vou dispor todas as possibilidades possíveis e complicar :D! Nos jogos,
o BeginString ou o EndString, pode : equivaler aos pares CR/LF e LF/CR (nesse
caso, o outro XString PODE deixar de existir, marcando tudo com apenas este);
representarem (cada um dos XStrings) o Control Return ou o Line Feed; serem
apenas marcações (nesse caso, um dos XStrings é a marcação e o outro DEVE
representar o CR, o LF ou os pares CR/LF e LF/CR) ou, simplesmente, não
existirem (caso raro, só jogos complicados)! Ou seja, as possíveis combinações
para organizar as falas são : apenas EndString, apenas BeginString, BeginString
+ EndString, EndString + CR ou LF + BeginString (Você pode pensar que não mas,
esse modo é SIM relevante em alguns jogos -*cough, coff Dragon Quest-! Logo,
precisa ser utilizado após a primeira BeginString de um bloco :D!) ou nada para
marcar os diálogos (aquele caso raro, ficam todas as falas juntas) :D. Ah, como
você vai saber qual que é Begin/EndString e qual sua representação? Primeiro,
não ligue pra esses definismos de Begin e End, só coloquei pra reintegrar as
possibilidades! Se vier sozinho você saberá que representa a passagem de linha
e seu respectivo alinhamento... Segundo : você pode saber se eles são CR ou LF,
é só testar!
3.2x)Tabela de Ponteiros...
É uma tabela onde ficam os valores, para os qüais, os ponteiros apontam e seus
endereços (apenas o do ponteiro, apenas o do valor real ou os dois) :D!
Não existe uma tabela de ponteiros na ROM, existem várias e NEM SEMPRE OS
PONTEIROS PRECISAM UTILIZAR UMA!! Suas localizações mais comuns são :
acima/abaixo de um bloco de diálogo (deste modo, ficam lá os ponteiros
referentes a este bloco, especificamente) ou num lugar completamente separado
de tudo na ROM (deste modo, TODAS as tabelas de ponteiros ficam bem juntas,
podendo confudir o cidadão entre ponteiros e ponteiros de ponteiros etc). É uma
tabela bem notável : qüando você presenciar um bando de códigos em seqüência
(podem ser os endereços e os valores dos ponteiros :D) que não sejam gráficos
e alguns deles serem os endereços dos ponteiros invertidos, você achou!
A tabela de ponteiros NÃO PODE SER COMPRIMIDA (Caso contrário, o sistema iria
ficar umas milhares de vezes mais lerdo, se rodasse...), a menos que seja
uma tabela avulsa que NÃO DEVE SER LIDA corretamente pelo sistema ou o jogo use
um CHIP avulso para fazer o trabalho de descompressão! Sempre que não estiver
achando os tiles/textos, tente dar uma olhada pela tabela :D!! Ela diz muita
coisa sobre o jogo XD!! Ah sim, o mais comum valor do endereço na tabela, é 2
BYTEs...
3.2x)Tiles - Filas.
Os Tiles são gráficos repetidos por ponteiros. Em geral, para formar um
cenário do jogo, é assim que jogos são feitos :D... Nem tudo que está no
cenário são Tiles e nem tudo que fica num Sprite é parte dele :D...
3.2x)Unicode Transformation Format (UTF).
Formato de Transformação em Código Único! É a codificação do Unicode sendo
utilizada em qualquer texto \o/!! Melhor : pode ser um arquivo de .TXT com o
formato do Unicode, entendido?
3.2x)UNIX.
O grande UNIX... Antigo e eficaz ambiente de computação! Feito por meninos de
faculdades, que adoravam se divertir, e passado de geração em geração (desde
1960)... O UNIX é tão importante, na história da computação, que aquela
lingüagem famosa chamada C, deve sua existência à ele... Ele foi palco de
muitos Sistemas Operacionais baseados no seu código, entre eles o GNU/LINUX
e o Mach OS que mais vingaram.
3.2x)Variable Width Font (VWF) = Fonte de Tamanho Variável.
Hohohoo, você usa o WORD constantemente (ou qualquer outro diagramador)? Então
você vê uma VWF todo dia :D... Sim, aquela fonte que se altera para qualquer
tamanho, quase como mágica... Podemos classificar VWF em dois tipos : a falsa
VWF, que é, na realidade, um arquivo de fontes com tamanhos pré-definidos (vem
com todos os gráficos necessários para exibir a fonte); e a REAL VWF, uma fonte
com apenas um gráfico, cujo tamanho é alterado através de uma manipulação do seu
código :D... Ahh, caso ainda esteja batucando na sua cabeça, os diagramadores
utilizam o tipo REAL :D... Lembrando que não é apenas o programa que faz sua
parte, muitos tipos de fonte já vem com dados (ou apenas dados, sem gráficos)
para que sua alteração seja perfeita!
----------------------------------------------------------------------------------------------------------
