TetrisVColor(Palm OS)

Data

by "PaStOrE"

05/06/2001

UIC's Home Page

Published by Quequero



Fossi un te un disclaimer ce lo metterei...Beh, ora mi tocca imparare l'asmper PalmOS Che bellooooooo

 

....

E-mail: pastore1@freemail.it

 

....

Difficoltà

(X)NewBies ( )Intermedio ( )Avanzato ( )Master

Trattiamo il mitico gioco sviluppato un po’ in tutti i sistemi(poteva mancare il Palm OS):  Il TETRIS !


TetrisVColor(Palm OS)
 Written by PaStOrE

Scarica il programma

Introduzione

Questa versione del tetris è già completa (full); l’unica differenza tra la versione registrata e questa è che qui all’inizio del gioco e quando si passa ad un altro livello, il nostro caro gioco ce lo ricorda di comprare il progz. ! :) (nagscreen)

Tools usati

PRC2Bin;

PilotDis

POSE (emulatore per Palm OS)

Hex Workshop (o altro editor esadecimale)

URL o FTP del programma

 Lo potete trovare anche su : volftp.mondadori.com (cmq è incluso :P )

Essay

 Caricando il programma nell’ emulatore e facendolo partire notiamo che appena iniziamo a giocare appare una schermata del genere:

Questa è l’unica differenza con il prog. registrato! ... quindi basterà togliere questo nagscreen!uesta è l’unica differenza tra n

 

 

OK!

Prendiamo prc2bin e passiamogli il programma da esaminare… (prc2bin tetrisvcolor.prc è la sintassi sotto Dos)

Verranno creati nella cartella un po’ di files, a prima vista con nome senza significato….quelle sono le “funzioni” (resource) richiamate dentro il programma.

Vanno studiati i files con nome TaltXXXX.bin o TFRMXXXX.bin, aprendoli con blocco note….

Uno di questi (Talt03eb.bin) contiene (ma guarda un po’!) il testo della form di avvertimento!

Disassembliamo il .prc con PilotDis  (“pilotdis tetrisvcolor.prc” sotto Dos), che ci restituisce il file tetrisvcolor.prc.s (il listato assembler!). Lo apriamo e andiamo a cercare(con il “Trova” del blocco note) la stringa 3eb (la funzione da far saltare).

Dopo alcune stringhe che non ci interessano troveremo questo listato:

 

0000074c   508f                               ADDQ.L  #8,A7

0000074e   4e5e                               UNLK    A6

00000750   4e75                               RTS

00000752   4e560000           L93             LINK    A6,#0

00000756   610012f8                           BSR     L256

0000075a   670a                               BEQ     L94

0000075c   3f3c03eb                           MOVE.W  #1003!$3eb,-(A7)

00000760   4e4fa192                           sysTrapFrmAlert

00000764   548f                               ADDQ.L  #2,A7

00000766   7000               L94             MOVEQ   #0,D0

00000768   102d01c0                           MOVE.B  448(A5),D0

0000076c   2f00                               MOVE.L  D0,-(A7)

0000076e   486d008e                           PEA     142(A5)

00000772   4e4fa0c9                           sysTrapStrIToA

00000776   508f                               ADDQ.L  #8,A7

00000778   3f3c001b                           MOVE.W  #27!$1b,-(A7)

0000077c   3f3c008c                           MOVE.W  #140!$8c,-(A7)

00000780   3f3c000a                           MOVE.W  #10!$a,-(A7)

00000784   486d0094                           PEA     148(A5)

 

 

“MOVE.W     #1003!$3eb,-(A7)” è in pratica l’equivalente della Messagebox (per chi se ne intende! :P )

Notiamo che prima di questo troviamo un BSR (richiama una subroutine) e poi un “salta se uguale” alla label 94 (BEQ L94)

A questo punto apriamo il .prc con Hex WorkShop e andiamo all’indirizzo 75a e cambiamo 670a con 600a(cioè BEQ diventa BRA, salta sempre…)

Salviamo, carichiamo il progz. nuovamente sull’emulatore e possiamo notare che avviando il gioco il nagscreen non viene + visualizzato! :)

 

byez

byez

by

paStOrE