|
TetrisVColor(Palm OS) | ||
|
Data |
by "PaStOrE" |
|
|
05/06/2001 |
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
|
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 |
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