AbandonSocios: El Portal de los Juegos Antiguos

Abandonsocios => Dudas y Problemas Técnicos => Mensaje iniciado por: vreyes1981 en Diciembre 09, 2020, 11:30:56 am

Título: Duda: quitar interrupción de software 21h
Publicado por: vreyes1981 en Diciembre 09, 2020, 11:30:56 am
Buenos días a todos. Queriendo recuperar algunas joyitas del soft patrio he visto que la mayoría que circulan por la red son versiones modificadas de juegos booteables que se realizaron para PC. Sin ir más lejos, he descubierto una página web (https://www.raphnet.net/programmation/booterify/index_en.php) que permite revertir este proceso, pero cuando he querido realizarlo (en concreto el juego Jai Alai de Topo Soft), el programa me da un mensaje de error de este tipo:
Spoiler (click para mostrar/ocultar)

¿Alguien que tuviera alguna idea o conocimientos me podría orientar como revertirlo o es un caso harto complicado?
Muchas gracias por vuestra atención.
Título: Re:Duda: quitar interrupción de software 21h
Publicado por: gatuno en Diciembre 09, 2020, 12:59:15 pm
Efectivamente, cada cd 21 es probablemente una llamada a la INT 21 del DOS.

Pero no siempre, depende de los bytes de alrededor podria no ser una INT 21. Para estar seguro, hay que desensamblar la ristra de bytes entera.

Desensamblemos el primer grupo. Podemos hacerlo online (http://shell-storm.org/online/Online-Assembler-and-Disassembler/?opcodes=00+b9+00+20+fc+f3+a5+07+1f+c3+1e+53+b4+3d+b0+00+cd+21+72+42+8b+d8+5a+06&arch=x86-16&endianness=little&dis_with_addr=True&dis_with_raw=True&dis_with_ins=True#disassembly).

La parte relevante es:

Código: [Seleccionar]
mov       ah, 0x3d
mov       al, 0
int       0x21

Lamentablemente si, es una llamada a INT 21/3d, que si la buscamos, es la funcion Open File Using Handle (https://www.stanislavs.org/helppc/int_21-3d.html), que el juego probablemente use para cargar datos de algun archivo.

Dice el autor que la herramienta implementa algunas llamadas a la INT_21, pero esta en concreto no.

Tambien avisa de que, como regla general, si el juego tiene archivos de datos, probablemente no funcionara, y que si el juego es solo un .COM o un .EXE la probabilidad de exito es mayor.
Título: Re:Duda: quitar interrupción de software 21h
Publicado por: vreyes1981 en Diciembre 09, 2020, 13:34:38 pm
Gracias por tu pronta respuesta @Gatuno. O sea que según he entendido, es una tarea complicada y de momento es imposible. Pues nada, a seguir buscando estas joyas perdidas. :(