-
Notifications
You must be signed in to change notification settings - Fork 10
Console Specific Tips pt_BR
Link para texto em inglês: Console Specific Tips
Ao escavar a memória desses antigos consoles, ajuda saber em primeiro lugar com o que os criadores originais dos jogos estavam trabalhando. Se você se familiarizar com as peculiaridades do seu console favorito, a configuração será mais fácil e precisa.
Determinadas variedades de valores significam coisas diferentes no contexto do hardware do Game Boy, portanto, ter um mapa pode ajudá-lo a eliminar endereços inúteis. Aqui está o resumo:
- ❌ 0x0000 - 0x7FFF: Dados da ROM (normalmente não há razão para usar. Se você for um desenvolvedor super dedicado, poderá usar o valor de 16 bits em 0x14E junto com os grupos alt para oferecer suporte a várias versões / regiões da ROM)
- ❌ 0x8000 - 0x9FFF: Dados gráficos (algumas coisas aqui podem estar correlacionadas com o que você está procurando, se você estiver tentando encontrar uma ID ou animação de mapa, mas sempre haverá uma maneira melhor de lidar com o que você está fazendo do que usando qualquer um deles)
- ✔️ 0xA000 - 0xBFFF: Cartridge RAM (ou seja, salvar dados. Às vezes, usar esses endereços será inevitável, mas o seu conjunto pode ser propenso a fazer batota ao carregar arquivos salvos em 100%. Mais informações sobre como proteger contra arquivos salvos)
- ✔️ 0xC000 - 0xDFFF: RAM de trabalho (as coisas boas; quase tudo que você deve usar cairá dentro deste intervalo)
- ❌ 0xE000 - 0xFDFF: ECHO RAM (não use, veja abaixo)
- ❌ 0xFE00 - 0xFE9F: Mais dados gráficos (igual aos dados gráficos acima)
- ❌ 0xFEA0 - 0xFFFF: Diversos (não use)
Para mais informações, consulte: http://gameboy.mongenel.com/dmg/asmmemmap.html texto em inglês
Similarmente ao NES, certas variáveis podem aparecer duas vezes ao pesquisar no Memory Inspector. O segundo resultado está no que é chamado de RAM ECHO, que é um espelho da memória real. Como alguns emuladores tendem a ignorar essa área ou emular incorretamente, recomenda-se NÃO usá-la e sempre usar o primeiro resultado.
O Game Boy tem 4KB de RAM a partir de 0xC000. ECHO RAM começa em 0xE000, então se o seu endereço começar com um E você vai querer substituir o primeiro caractere diferente de zero por um C. Lembre-se: C está correto, E é echo!
Os códigos GameShark podem ser um recurso valioso para encontrar endereços que você não pode ou não deseja encontrar. Eles têm 12 caracteres por linha e são fáceis de analisar.
[AA] [BBBBBB] [CCCC]
[AA] é o tipo de código. Esta é uma breve instrução para o GameShark que define o que fazer com o próximo valor. Se você entende o código do GameShark, você pode usá-lo para ajudar na criação de condições.
- 80, 88: O endereço é de 8 bits. Define o valor [00CC] para o endereço [BBBBBB].
- 81, 89: O endereço é de 16 bits. Define o valor [CCCC] para o endereço [BBBBBB].
- D0: o endereço é de 8 bits. Verifica se [00CC] é igual ao valor no endereço [BBBBBB] e, em seguida, executa a próxima linha, se for.
- D2: o endereço é de 8 bits. Verifica se [00CC] é DIFERENTE para o valor no endereço [BBBBBB] e, em seguida, executa a próxima linha, se for.
- D1: o endereço é de 16 bits. Verifica se [CCCC] é igual ao valor no endereço [BBBBBB] e executa a próxima linha, se for.
- D3: o endereço é de 16 bits. Verifica se [CCCC] é DIFERENTE para o valor no endereço [BBBBBB] e, em seguida, executa a próxima linha, se for.
aqui estão alguns exemplos:
- Paper Mario: HP infinito:
[80] [10F292] [0032]
Define o valor de 8 bits em 0x10F292 para 0x32 (50). Então, isso significa que o HP de Mario é um valor de 8 bits em 0x10F292.
- Donkey Kong 64: Jogando com Rambi:
[80][74E77C] [0006]
Define o valor de 8 bits em 0x74E77C para 6. Portanto, isso significa que o caractere que você está jogando é um valor de 8 bits em 0x74E77C.
- Chameleon Twist 2: Seguro L para Moon Jump:
[D0][18BAB5] [0020] <- Looking at this one
[81][18B9E0] [4200]
Verifica se o valor de 8 bits em 0x18BAB5 é igual a 0x20. Isso significa que 0x18BAB5 contém uma variável de pressionamento de botão e Bit5 (0x20) corresponde a L.
Anti-GSC e GameHacking ambos são bons recursos para encontrar códigos de GameShark.
- User Guidelines
- Developer Guidelines
- Content Guidelines
- FAQ
- Setup Guide
- Emulator Support and Issues
- Ways to Contribute
- RABot, the RA Discord Robot
- Events
- Overlay Themes
- Useful Links
- Contributing with the docs
- About Us
- Tutorials
- Developer Docs
- How to Become an Achievement Developer
- Getting Started as an Achievement Developer
- Game Identification
- Achievement Design
- Achievement Scoring
- Difficulty Scale and Balance
- Progression and Win Condition Typing
- Badge and Icon Creation
- Achievement Development Overview
- Flags
- BitCount Size
- Alt Groups
- Hit Counts
- Delta Values
- Prior Values
- Value Definition
- Condition Syntax
- Minimum Required Versions for Logic Features
- Memory Inspector
- Real Examples
- Set Development Roadmap
- Achievement Templates
- Tips and Tricks
- Leaderboards
- Rich Presence
- RATools
- Console Specific Tips
- Emulator Hotkeys for Developers
- libretro core support
- Docs To Do List
- WIP User Code of Conduct
- WIP CoC FAQ
- WIP Content Guidelines
- WIP-Jr
- WIP---Dev-Tips---Code-Notes-En-Masse
- WIP-‐-Reauthorship-Policy
- Manifesto RetroAchievements
- Código de Conduta do Usuário
- FAQ - Perguntas Frequentes
- Como contribuir se você não é um desenvolvedor
- Tutorial para Jogos Multi-Discos
- Introdução
- Primeiros Passos como um Desenvolvedor de Conquistas
- Recursos de Lógica para Achievements
- Exemplos Reais
- Dicas e Truques
- Dicas Específicas de Console
- Modelos de Achievement
- Escala de Dificuldade e Equilíbrio
- Roteiro de Desenvolvimento de um Set de Conquistas
- Criação de Ícones e Emblemas
- Leaderboards
- Rich Presence
- Design de Conquistas
- Manifesto RetroAchievements
- Código de Conducta del Usuario
- FAQ - Preguntas Frecuentes
- Tablas Globales y Reglas para la Casería de Logros
- Mi juego no esta cargando los logros
- Como contribuir si no eres un desarrollador
- Por que no deberías utilizar la función de cargar estado
- Contribuyendo con los documentos
- Como funciona la Documentación de RA
- Descargas
- Intro
- Código de Conducta del Desarrollador
- Como convertirme en un Desarrollador de Logros
- Primeros pasos como un Desarrollador de Logros
- Un vistazo al Inspector de Memoria
- Características en la Logica de un Logro
- Ejemplos Reales
- Intro
- Utilizando Hit Counts como un Temporizador
- Utilizando Valores Delta y Hit Counts para Detectar un Incremento
- Un Ejemplo Simple en como evitar el Abuso de Estados de Guardado
- Evitar el Problema de que un Contador se Incremente Dos Veces en el Mismo Frame
- Creando un Temporizador con un ResetIf Hits basándote en la Velocidad de un Juego
- Plantillas para Logros
- Tips y Trucos
- Escala de Dificultad y Balance
- Diseño de Logros
- Mapa de Desarrollo de Set
- Revisiones en Set de Logros
- Creación de Iconos y Badges
- Tablas de Clasificación
- Rich Presence
- Trabajando con el ROM apropiado
- Identificación del Juego
- Guía para Sets Bonus
- Logros para ROM hacks
- Tips Específicos por Consola