Super Mario Cr - Super Mario Galaxy 1 + 2 Nintendo Switch - CR
Super Mario Galaxy 1 + 2 Nintendo Switch - CR

O que é super mario cr e por onde começar

Super Mario CR se refere a uma categoria de hack de ROM que adiciona modos de carreira ou desafios progressivos ao Super Mario 64, usando ferramentas de edição que permitem modificar gráficos, níveis, música e mecânicas do jogo original. A sigla pode variar conforme a comunidade — alguns chamam de "Career Run", outros de projetos específicos com esse nome nas repostas do Reddit e nos fóruns de ROM hacking. O princípio geral é o mesmo: pegar um ROM de SM64 e sobrescrever dados para criar uma experiência diferente. A primeira coisa que você precisa entender é que editar uma ROM não é copiar arquivos e colar. O Super Mario 64 foi construído para o Nintendo 64, e seu código, gráficos e mapas estão empacotados de forma binária dentro de um arquivo .z64 ou .n64. Você não vai abrir isso em um text editor e esperar entender nada. Vai precisar de ferramentas especializadas que traduzem esses bytes em algo manipulável.

ferramentas necessárias para super mario cr

Vou listar o que eu uso no meu fluxo, baseado em projetos que já terminei e nos que abandonei pela metade. O kit básico inclui: SM64 Ex (ou SM64 Port) — um runtime que permite rodar ROMs modificadas no PC e testar mudanças em tempo real. Sem isso, você passa horas compilando, gravando no cartucho ou carregando no emulador só para descobrir que um sprite ficou fora do lugar.

SM64 Internal Graphics Tool — para extrair e injetar gráficos. O SM64 usa compressão DEFLATE em seus tiles, então cada textura vem como um bloco compactado que essa ferramenta decodifica automaticamente. Você exporta para PNG, edita no Photoshop ou Aseprite, e injeta de volta. BSOOLS — útil para mexer com arquivos de áudio e VAG (o formato de som do N64). Se você quer trocar música ou adicionar efeitos sonoros, esse é o caminho.

Hopper — um disassembler para o código MIPS do SM64. É aqui que a coisa fica séria. O código-fonte original não está disponível publicamente, então toda modificação lógica — mudar a física do Mario, adicionar itens, reprogramar o sistema de estrelas — depende de você ler e reescrever assembly MIPS. SM64PC Source Ports + SMOD — se você quer ir além de hacks visuais e realmente reprogramar mecânicas, o projeto SMOD (Super Mario Object Designer) permite editar objetos do jogo sem tocar no assembly diretamente. Para um projeto de carreira, isso é praticamente obrigatório, porque você vai precisar criar novos comportamentos para enemigos, plataformas móveis e gatilhos de transição entre fases.

montando um fluxo de trabalho prático

Eu já vi muita gente começar um projeto de SM64 CR e desistir na primeira semana porque não tem processo definido. O problema principal é que o SM64 tem um pipeline de compilação que não é trivial. Você precisa saber quais arquivos dependem de quais, e em que ordem recompilar. O fluxo que funciona para mim é o seguinte. Primeiro, faço uma cópia limpa da ROM base — usei durante anos a v1.00 americana, porque é a mais documentada e tem a maior quantidade de ferramentas third-party compatíveis. Depois, importo a ROM para o SM64 Ex e confirmo que tudo roda no PC sem erros. Só aí começo a mexer.

Para modificações gráficas, eu trabalho em lotes de 8 a 10 texturas por sessão. O SM64 carrega texturas sob demanda durante o jogo, então se você Errar um índice, o erro só aparece quando o jogo tenta carregar aquele frame específico. Minha técnica é marcar cada textura com um nome mnemônico no arquivo de exportação — tipo "grass_pbf_01" em vez de deixar o nome padrão do tool. Isso evita que você gaste duas horas rastreando qual tile está com o endereço errado. Para modificações de nível, o segredo é o filemap. O SM64 organiza os níveis em arquivos separados dentro da ROM. Você pode usar o SM64 Level Editor (aquele baseado em Python) para ver a disposição dos blocos, plataformas e enemigos. Cada nível tem um cabeçalho que define o tamanho do mapa, a gravidade, a iluminação e os pontos de spawn. Alterar esses valores já é suficiente para criar variações significativas sem tocar em código.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Uma coisa que ninguém fala é sobre o sistema de save data. O SM64 original salva progresso em uma estrutura de memória fixa. Se você está construindo um modo de carreira com várias fases desbloqueáveis, precisa sobrescrever esse sistema de save ou adaptar as variáveis de progresso existentes. Fiz isso em um projeto minha usando hacks no endereço 0x8024B000 da RAM do N64, que é onde o jogo armazena flags de coleção de estrelas. Reutilizei aquelas flags para controlar o desbloqueio de mundos inteiros, em vez de escrever um sistema de save do zero. economizei semanas de trabalho.

problemas reais que você vai encontrar

Vou ser direto sobre os gargalos. O SM64 foi feito para 640x480 resolução nativa. Quando você começa a incrementar resoluções ou adicionar UI elements na tela, o jogo começa a falhar silenciosamente. Já vi rom hacks inteiros quebrarem porque o autor adicionou um contador de moedas que sobrepujava o buffer de renderização. A solução é manter toda HUD customizada dentro das coordenadas originais do jogo ou usar o SM64 Ex para testar em resoluções mais altas desde o início. O segundo problema crônico é o limite de textura. O N64 tem apenas 4MB de VRAM dedicada a texturas. O jogo original já usa quase tudo. Se você está criando um SM64 CR com muitos níveis novos, precisa ser cirúrgico com quais texturas mantém e quais substitui. Minha regra prática: nunca adicione mais de 30% de novas texturas sem remover ou comprimir texturas existentes primeiro. Use ferramentas como N64 TexTool para converter texturas 24-bit para 16-bit onde a qualidade visual não sofre tanto assim.

Terceiro ponto: a física do SM64 é one-of-a-kind e extremamente sensível. Um único byte errado no código de colisão pode fazer o Mario atravessar paredes ou ficar preso no chão. Eu recomendo fortemente que você faça backup de cada modificação antes de testar. Não confie em "só voltar uma linha de código". O assembler MIPS não perdoa tentativas.

onde baixar e encontrar materiais

A ROM base do Super Mario 64 deve ser obtida do seu próprio cartucho — isso é questão de legalidade básica e também garante que a checksum esteja correta para as ferramentas funcionarem. Sites como sm64.com e romhacking.net têm tutoriais detalhados, forums ativos e ferramentas atualizadas. O Discord da comunidade SM64 Ex também é útil para debugging em tempo real. Para inspiração e projetos de referência, olhe os work-in-progress no subrred r/SM64dex e no forum do SM64.gs. Muitos autores documentam exatamente quais patches aplicaram e em que ordem — isso vale mais do que qualquer tutorial genérico.

alternativas se o SM64 CR não for o seu caminho

Se vocêar e perceber que o trabalho com MIPS assembly e a pipeline do SM64 é mais do que aguenta, existem alternativas. O SUPER MARIO 64 PC decompilation project (aka sm64pc) tornou o código-fonte do jogo disponível, o que significa que você pode compilar o jogo do zero e modificar C ao invés de assembly. É uma curva de aprendizado diferente, mas muito mais acessível. O projeto SUPER Mario Odyssey tem ferramentas similares e uma comunidade ativa. E se o objetivo é apenas criar fases customizadas sem reformar o jogo todo, o Super Mario 64 Custom Levels tool permite importar fases feitas no Super Mario Maker 2 (via converter) diretamente para o SM64. É limitado, mas rápido. O que eu posso dizer com certeza é que um projeto de super mario cr leva de 3 a 6 meses para uma primeira versão jogável, dependendo da sua familiaridade com ferramentas de ROM hacking. Se você já mexeu com Zeldas ou Metroids antes, chega mais rápido. Se é a primeira vez, conte com pelo menos dois meses só de configuração e aprendizado das ferramentas antes de ver qualquer resultado concreto.

Não existeatalho. O que existe é saber exatamente onde cada ferramenta quebra e ter um processo de teste automatizado rodando enquanto você trabalha. Configure um script que compile a ROM e rode no SM64 Ex automaticamente a cada mudança — isso reduz o tempo de iteração de minutos para segundos e faz uma diferença enorme na produtividade.