Diamo per scontate le guide citate nel regolamento, le avevo già lette qualche anno fà e mi erano state utili anzi utilissime(ho letto anche qualche altro topic ma niente), ma ora per lo sviluppo del programma di aiuto per la traduzione di
SMT 1 (Snes - LoRom - senza Header)
mi serve qualche risposta in più. Del tipo :
1) So che esistono puntatori da 3,2 e 1[es. i caratteri, giusto?] byte, è possibile trasformare ad esempio un puntatore da 2byte in uno da 3?
2) I puntatori puntano solo a testo,grafica e suoni, o c'e' dell'altro?
3) Come è possibile sapere dell'esistenza di un puntatore che punta a qualcosa che non sia testo?
4) L'unico modo per trovare dei puntatori e quello manuale o esistono dei tools(debugger , disassemblatori)?
5) Come si fà ad essere certi di aver trovato tutti i puntatori?
[P.s] Spero che la risposta a tutte e 5 le domande non sia ASM 65816.
[Post P.s.]Se indicate qualche tipo di programma, vi prego di indicarne anche il nome o alcuni esempi, anche per evitare un inutile post in cui io vi chieda più informazioni su tale programma.
1) Sì, basta andarci di asm e puoi cambiare i puntatori come ti pare. Diverse rom presentano puntatori a 24 bit per ovviare ai problemi di spazio nei banchi.
2) Puntano a qualsiasi tipo di informazione.
3) Debugger e tanta pazienza, oppure un culo della madonna. :P
4) Se conosci i trucchi tipici puoi anche sgamarli a colpo d'occhio, ma il più delle volte è meglio andare con il sistema metodico: debugger.
5) Non puoi mai esserne certo. I programmatori possono benissimo buttare puntatori dove capitano, a volte anche nel codice.
Citazione5) Non puoi mai esserne certo. I programmatori possono benissimo buttare puntatori dove capitano, a volte anche nel codice.
Oppure li puoi trovare anche nei banchi di testo
Citazione[Post P.s.]Se indicate qualche tipo di programma, vi prego di indicarne anche il nome o alcuni esempi, anche per evitare un inutile post in cui io vi chieda più informazioni su tale programma.
Qualche buon debugger per Snes?
Morpher si ma il problema è
Citazione3) Come è possibile sapere dell'esistenza di un puntatore che punta a qualcosa che non sia testo?
Qui li trovi tutti (o quasi)
http://www.romhacking.net/?category=17&Pla...Go&title=&desc= (http://www.romhacking.net/?category=17&Platform=9&game=&author=&os=&level=&perpage=20&page=utilities&utilsearch=Go&title=&desc=)
A mio parere il migliore è il Geiger's SNES9x Debugger.
Per vedere se punta a testo o grafica dovresti, sempre con il debugger, segnarti i comandi (vedi qualche guida sull'asm del snes) utilizzati per caricare il testo e spostare i dati e quelli utilizzati per caricare e spostare la grafica
CitazioneOppure li puoi trovare anche nei banchi di testo
Sì, ma non è detto che siano nello stesso pezzo, e soprattutto che facciano parte di un banco di soli puntatori. Se si trovano nel codice, come succede in una marea di giochi, sono leggermente difficili da individuare.
[Premessa - Io non so praticamente nulla di asm, tutto il lavoro sui puntatori l'ho fatto per mezzo dei soli editor esadecimali, dell'intuito e della fortuna.]
Non mi è ben chiara una cosa, è necessario che io sospetti che qualcosa sia un puntatore per vedere con il debugger se questo qualcosa sia un puntatore o meno,
o dal debugger si evincono i puntatori a prescindere dall'analisi della rom con l'editor esadecimale?