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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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 e funcionalidades... 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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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..;D)
3.1.x)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: o RAW para o GBA é o 4BPP linear, o do NES 2BPP linear, 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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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.1.x)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!
---------------------------------------------------------------------------------