[Tutorial-HOWTO] Parchear DLDI en GNU\Linux (a prueba de newbies)

Parchear DLDI en GNU\Linux
Usando wine y usando el binareo para GNU\Linux

Suponiendo que no se tengan las aplicaciones, no voy a explicar cómo se instalan causa de que la mayoria de las distribuiciones las tienen. Si alguien tiene problemas para instalar, o no sabe como comenzar y quiere ayuda, puede pedirla en este POST. Estaré encantado de responder.

Usando wine
Una de las opciones para usar DLDI en GNU\Linux es usar wine, un pequeño programa que permite usar aplicaciones de Windows en otros sistemas operativos con compatible arquitectura Intel 80386. La decisión por la que voy a explicar esta forma es por que la versión de Windows tiene una bonita GUI.

El primer paso, es comenzar descargando el DLDI GUI de la página del autor, que puede acceder haciendo clic [AQUÍ]. Una vez descargado, el proceso es sencillo. Dejo el buffer completamente de lo que he hecho.

bash-3.1$ cd ~
bash-3.1$ wget http://chishm.drunkencoders.com/DLDI/downloads/dlditool-win32-gui.zip
--09:33:59-- http://chishm.drunkencoders.com/DLDI/downloads/dlditool-win32-gui.zip
=> `dlditool-win32-gui.zip'
S'està resolent chishm.drunkencoders.com... 82.165.193.245
S'està connectant a chishm.drunkencoders.com|82.165.193.245|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: 55,400 (54K) [application/zip]

100%[==============================================>] 55,400 57.77K/s

09:34:01 (57.67 KB/s) - s'ha desat «dlditool-win32-gui.zip» [55400/55400]

bash-3.1$ unzip dlditool-win32-gui.zip
Archive: dlditool-win32-gui.zip
inflating: dlditool.c
inflating: dlditool.h
inflating: dlditool32.cpp
inflating: dlditool32.dsp
inflating: dlditool32.dsw
inflating: dlditool32.h
inflating: dlditool32.manifest
inflating: dlditool32.rc
inflating: History.txt
inflating: icon.ico
inflating: license.txt
inflating: resource.h
inflating: settings.cpp
inflating: settings.h
inflating: utils.cpp
inflating: utils.h
inflating: version.h
inflating: version.rc
inflating: dlditool32.exe


Tambien, sera necesario descargarse uno de los drivers DLDI que querais/necesiteis, yo he descargado la versión para SCLite.

bash-3.1$ cd ~
bash-3.1$ wget http://chishm.drunkencoders.com/DLDI/downloads/sclt.dldi
--09:36:05-- http://chishm.drunkencoders.com/DLDI/downloads/sclt.dldi
=> `sclt.dldi'
S'està resolent chishm.drunkencoders.com... 82.165.193.245
S'està connectant a chishm.drunkencoders.com|82.165.193.245|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: 1,704 (1.7K) [text/plain]

100%[==============================================>] 1,704 --.--K/s

09:36:06 (13.66 MB/s) - s'ha desat «sclt.dldi» [1704/1704]


De forma que sólo queda ejecutarlo:
bash-3.1$ wine dlditool32.exe


Y usarlo tal cómo si fuera Windows, explicado en este POST que puedes acceder haciendo clic [AQUÍ]

Usando el binareo para GNU\Linux
Cómo es de suponer, el primer paso sera descargarlo. Encontraras la web en las instrucciones para wine de este hilo. Y descomprimirlo.

bash-3.1$ cd ~
bash-3.1$ wget http://chishm.drunkencoders.com/DLDI/downloads/dlditool-linux-x86.zip
--09:42:37-- http://chishm.drunkencoders.com/DLDI/downloads/dlditool-linux-x86.zip
=> `dlditool-linux-x86.zip'
S'està resolent chishm.drunkencoders.com... 82.165.193.245
S'està connectant a chishm.drunkencoders.com|82.165.193.245|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: 206,805 (202K) [application/zip]

100%[==============================================>] 206,805 87.17K/s

09:42:40 (86.88 KB/s) - s'ha desat «dlditool-linux-x86.zip» [206805/206805]

bash-3.1$ unzip dlditool-linux-x86.zip
Archive: dlditool-linux-x86.zip
inflating: dlditool
inflating: license.txt


Lo que recomiendo ahora, es instalar el binareo y dar permisos de uso a todos los usuarios del sistema. Será necesario conseguir los permisos de administrador de la forma habitual en vuestro sistema.

bash-3.1$ sudo su
bash-3.1# cp dlditool /bin/
bash-3.1# chmod 555 /bin/dlditool
bash-3.1# exit


Ahora, teneis dos opciones. Una es dejar los archivos DLDI en vuestra home y otra opción es moverlo a un directorio dónde todos los usuarios puedan suponer que esta ahí. En mi caso he decidido moverlos ya que es un sistema multiusuario dónde se conecta gente de vez en cuando. Supongo que ya sabeis de sobras cómo descargar archivos de una web...

bash-3.1$ sudo su
bash-3.1# cd /usr/share/
bash-3.1# mkdir dldi
bash-3.1# cp ~ehs03y3ol/*.dldi ./dldi/
bash-3.1# chmod -R 444 dldi/*
bash-3.1# exit


Y de esta forma, ya sólo queda saber usarlo. Realmente la versión de Linux es realmente sencilla.

bash-3.1$ dlditool
Dynamically Linked Disk Interface patch tool v1.10 by Michael Chisholm (Chishm)

Usage:
dlditool [-t] [-r]
-t specifies the type of application
If not specified, then auto-detects based on extension
-r Address of the start offset of the application in RAM
Use this on raw binaries
the dldi patch file to apply
the application binary to apply the patch to


De manera que un ejemplo de uso seria el siguiente.
bash-3.1$ dlditool /usr/share/dldi/sclt.dldi Okiwi/Okiwi.nds
Dynamically Linked Disk Interface patch tool v1.10 by Michael Chisholm (Chishm)

Old driver: SuperCard Lite(TransFlash MicroSD)
New driver: SuperCard Lite(TransFlash MicroSD)

Position in file: 0x0000F9C0
Position in memory: 0x02000000
Patch base address: 0xBF800000
Relocation offset: 0x4280F7C0

Patched successfully

Imagen Esta obra está publicada bajo una licencia de Creative Commons.

No es gran aporte, pero deseo que sea útil. ñ.ñ Gracias por "perder" el tiempo leyendo esto a quién ya sepais cómo funciona.
nadie te da las gracias... te las doy yo. no lo he probado, pero si dices que con el wine furula y con los binarios puestos tb habrá que creerselo.

luego algún desalmado abrirá un post para ver si puede parchear con linux...
Lo suyo seria hacer un script de estos que salen en el boton derecho del raton (kde) para que cada uno con 2 clicks se parchee los hombrew facilmente para su cartucho.

Aunque de momento con esto vamos sbrados [burla2]
2 respuestas