Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 23 Oct 2018 02:36

Último mensaje de la página anterior:

Habiendo buscadores de ficheros como éste no sé qué problema hay en encontrar TAPs.

Me da $6F5D,$AD (28509,173) para las vidas. Pero supongo que las colisiones son más importantes.


Kikems: ¿Dijiste al final del último Amiga Wave que tenías problemas con el Avenger? ¿Gremlin 1986 supongo?

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 23 Oct 2018 10:51

ostras! Pues te ha funcionado! Yo fui incapaz!
Lo volveré a intentar descargando el tap desde cbm8bits como has puesto. La conocía pero en esta ocasión no la había usado.
Lo de las colisiones, si son por Hard, supongo facil el acudir a las rutinas que quieran leer el VIC. Si son por Soft, entonces eso ya es un poco mas complicado al no conocer como el programador soluciona la papeleta.

Avatar de Usuario
kikems
Mensajes: 2638
Registrado: 30 May 2013 19:23
Agradecido : 617 veces
Agradecimiento recibido: 913 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor kikems » 23 Oct 2018 11:31

BlackHole escribió:Habiendo buscadores de ficheros como éste no sé qué problema hay en encontrar TAPs.

Me da $6F5D,$AD (28509,173) para las vidas. Pero supongo que las colisiones son más importantes.


Kikems: ¿Dijiste al final del último Amiga Wave que tenías problemas con el Avenger? ¿Gremlin 1986 supongo?


Lo que comenté en el último AW es que , por el método simple con el pokefinder, calcular visualmente las rallitas de vida que tiene el juego Avenger de Gremblin es un poco complicado y lo más complicado aún, es perder solo un punto de vida para ejecutar la rutina automática de pokefinder.
Pero el método facilote del pokefinder no es estamos usando en este hilo, es el manual.

Efectivamente intentar buscar a mano la energía infinita de este juego, sería otro ejemplo interesante.

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 23 Oct 2018 12:16

Si, parece complicado por lo que ví anoche en un ratito. Tengo que resolver otros asuntos antes, cuando pueda le echaré un vistazo de nuevo.

Por ahora he visto que para el contador de la izquierda, la pantalla siempre tiene los caracteres ABCDE / FGHIJ / KLMNO en todo momento y que no son sprites en pantalla. Lo único que se me ocurre es que dichos caracteres estén siendo redefinidos a cada momento en el que te quitan energía, lo que implica una burrada de movimientos de memoria por frame... seguiré investigando.

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 23 Oct 2018 19:22

Buscando un cartucho que permitiera buscar vidas y que no fuera por el metodo tramposo del ICU64... me he tropezado con un manual realizado por un señor en la lengua de Sakespeare en la que explica: Lo que estamos haciendo, lo que hemos comentado y... lo que nos faltaba.

Y lo mejor de todo, es que no nos salimos del Action Replay o Final Cartidge. Lo hace todo mediante el Monitor de Código Máquina.

¿Que nos faltaba por aclarar?
Pues buscar barras o energías de una manera eficaz.

Pues bien, el metodo es un poco de traca. Ir descartando trozos de programa para ver si se encuentra el contador en cuestión.

Es como el método del roscon de reyes:
Lo partes a la mitad y en un lado hay haba y en el otro no.
La mitad que tiene haba, la partes a la mitad y ahora hay una parte que tiene haba y la otra no.

Así... vas cortando... hasta que te encuentras el haba. Y pagas el roscon!!! -rofl

Pues el método es ir restaurando trozos de programa a la memoria e ir descartando. Lo explica con un ejemplo y todo.
Va reponiendo zonas de memoria desde la ram que tiene el cartucho, a la ram del ordenador... y en el momento que hay un cambio en la barra de energía, ya tiene una parte acotada. Esa parte acotada la vuelve a acotar mas... y mas... y mas... y al final, acaba encontrando la rutina donde se encuentra la energía.


Y también explica mi método de pantalla aplicado por BlackHole... así que tan loco no estaba. -grin
Adjuntos
Manual uso Action Replay.rar
(760.08 KiB) Descargado 1 vez

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 23 Oct 2018 19:25

Bien, el banco de 16 KB del VIC-II es el 3, es decir apunta a la zona $4000-$7FFF
$D018 contiene $05, eso quiere decir que los 2 KB de los caracteres están en BASE+$1000, es decir $5000
Recordemos que los valores están explicados en esta página de CodeBase64.

La zona de abajo de los marcadores empieza en $42A8 y su primer valor es $61 (A), así que si ese caracter está siendo redefinido, los 8 bytes que lo definen estarían en $61*8=$308 + $5000 = $5308
Buscando por $5308 en el código (H 0000 FFFF 08 53) encontramos entre 19FF y 1A2E diversos resultados afirmativos.
Desensamblando por allí encontramos la rutina exacta que redefine los caracteres:

Código: Seleccionar todo

.C:19e5  29 01       AND #$01
.C:19e7  0A          ASL A
.C:19e8  A8          TAY
.C:19e9  B9 2E 1A    LDA $1A2E,Y
.C:19ec  8D FF 19    STA $19FF
.C:19ef  8D 05 1A    STA $1A05
.C:19f2  B9 2F 1A    LDA $1A2F,Y
.C:19f5  8D 00 1A    STA $1A00
.C:19f8  8D 06 1A    STA $1A06
.C:19fb  BC 32 1A    LDY $1A32,X
.C:19fe  B9 08 53    LDA $5308,Y
.C:1a01  1D 82 1A    ORA $1A82,X
.C:1a04  99 08 53    STA $5308,Y
.C:1a07  E8          INX
.C:1a08  60          RTS

Ahora buscamos con H 0000 FFFF 20 E5 19 por si hay algún lugar que llame a esa rutina e inicialize los valores de X e Y que parecen variar su comportamiento.
Nos salen 3 resultados, desensamblamos un poco y seguimos la lógica del código. Yo ya me había dado cuenta que había 8 valores por cada uno de los 10 puntos, 8x10=80=$50 y da la casualidad se que se inicializan dos contadores en $18DA y $18DB con el valor 79 ($4F) y se comprueban mientras son positivos (BPL).

El POKE buscado es 6418,173 ($1912,$AD). Desensamblando algo más, observo que en $1907 hay un JSR $0F79 que llama a una rutina que cambia valores en el chip de sonido. Afortunadamente, poniendo un BIT en esa llamada, se acabó el estresante pitido emitido al perder energía. Un descanso para los oídos.

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 24 Oct 2018 03:19

Blackhole, estás hecho un fiera!
Ahora solo falta que nos enseñes a añadir un trainer a un juego y ya nos quedamos a cuadros. :)

Ahora que lo comento, una cosa que no entendí en su dia y continuo sin saberlo.
¿Os acordáis de esos cargadores que había que lanzar antes de un juego?
¿Como funcionarían si las posiciones de memoria a modificar van a ser pisadas despues al cargar el juego?
¿O los cargadores eran un pequeño programa alojado en un sitio feo que primero llamaban al LOAD del Kernel y cuando le devolvía el control continuaba el programa parcheando?

Creo que voy a coger una micromania y mirar donde cargan los programas.

Hmmmm....en algunos juegos lo hace despues de la pg cero, del 272d al 308d
Y en otro cargador, situa la rutina (los datas) en 16400 en adelante.

¿Quien es Jose Dos Santos? ¿Sigue activo en el cacharreo o ha pasado de este tema cuando se acabaron los 90?

Avatar de Usuario
kikems
Mensajes: 2638
Registrado: 30 May 2013 19:23
Agradecido : 617 veces
Agradecimiento recibido: 913 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor kikems » 24 Oct 2018 10:11

La verdad que sois como el perro que guía a un ciego. Hasta que comenzó este hilo no entendía absolutamente nada y con vuestra ayuda me estoy sorprendiendo yo mismo de lo que voy entendiendo y aprendiendo en cada paso que se da en este hilo.
Muchas gracias a los dos.

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 24 Oct 2018 12:11

minter: Lo cierto es que a mí nunca me dio por hacer cargadores para cintas de esos que se publicaban en las revistas, pero sí que hice alguno para Spectrum (antes de ser cracker en Commodore, fuilo de Spectrum) y era muy diferente cómo se trataba según se llamase a la ROM para cargar o si el juego utilizaba turbos propios. Había que parchear el cargador turbo para que en vez del salto hacia el juego saltase antes a un trocitín de código que metiese en 5 bytes (LD A,N y LD (NN),A) el POKE en cuestión.

Supongo que para C64 sería lo mismo, pero yo no tuve mi C64 hasta 1986, no me dió por conocer la máquina hasta 1988, por la época compraba revistas inglesas (C+VG, Commodore User) y ya no era usuario de la Micromanía. Además, cuando ya fui cracker en 1989 y parcheaba cargadores de cinta, era para que me devolviesen el control al freezer y grabar los bloques cargados a disco... no estaba yo para parchear el cargador original. El tiempo era oro, sobre todo si tenía que enviar el resultado desde Madrid a Barcelona por correo postal. Los modems y las BBS eran cosas de los yankees y europeos ricos.

Si algo se caracterizó desde el principio la escena del C64 y que no tenían otras, fue por la creación de compresores de datos. Al comprimir los datos del juego, te dejaba con mucha memoria libre en la que poder añadir trainers e intros de tu grupo con mensajes y música, que a su vez se volvían a comprimir antes de distribuirlas. Y no eran como ahora en un PC que tarda una décima de segundo, podían tardar 8 y 10 horas si el algoritmo era complejo como un LZ77+Huffman, algo equivalente a un GZIP actual. Tan largo que compré mi C128 solo porque se podían activar los a 2 MHz y comprimir en la mitad de tiempo.

Lo primero era encontrar un hueco en el juego lo suficientemente grande como para albergar la rutina que imprima en pantalla diversas opciones de "cheat" al usuario, compruebe teclas con la respuesta, modifique los datos con el POKE adecuado y salte a la dirección de inicio del juego. Si era imposible encontrar dicho hueco, se dejaba al menos en la memoria del stack del procesador ($0100-$01FF) los enganches de los POKEs, se comprimía el resto con un compresor RLE (Run Lenght Encoding) ligerito y se colocaba el menú del trainer en otro área de memoria. Ver algunos de mis cracks recuperados en CSDb.

Ya hubiese querido yo en 1990 rutinas de compresión como aPLib y el descompresor supersónico que Antonio Villena (el del ZX Uno) programó el año pasado para C64. Ver hilo en este foro.

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 24 Oct 2018 13:18

Esta tarde voy a intentar contrastar un cargador sencillo de la Micromanía con el poke que saca el AR sobre un juego en concreto.
Y luego ver diferencias y pasar los Datas a ASM para ver que es lo que hacían en los cargadores antiguos.
Ojo! Cargadores de basic, no los trainers nuevos, que esos vienen como bien dices, comprimidos.
Siempre es interesante ver como nos facilitaban las cosas a los usuarios que no disponíamos de cartuchos y los juegos los teníamos originales.
Tú (BlackHole) seguro que no tienes un original. Piratón!! -507

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 24 Oct 2018 13:25

Pocos, los que compraba para desproteger. Aún tengo pendiente el Sly Spy que tube que dejarlo a medias porque me llamaron para la mili.

Avatar de Usuario
kikems
Mensajes: 2638
Registrado: 30 May 2013 19:23
Agradecido : 617 veces
Agradecimiento recibido: 913 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor kikems » 24 Oct 2018 13:48

BlackHole escribió:.....

Ya hubiese querido yo en 1990 rutinas de compresión como aPLib y el descompresor supersónico que Antonio Villena (el del ZX Uno) programó el año pasado para C64. Ver hilo en este foro.


Se me había pasado este hilo, muy interesante sin duda.

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 24 Oct 2018 22:31

Bueno, pues ahora voy a empezar la casa por el tejado nuevamente.

Voy a hacer una introducción para el resto que lean el hilo, pero les importe un higo el C64. :D

Para aquellos, como yo, que en los 80 no teníamos cartuchos mágicos y casi ninguno conocíamos de su existencia... pues existían los cargadores de POKES.

¿Que son los cargadores de POKES?
Bueno, pues son pequeños programas en BASIC que había que lanzar antes de cargar un juego. Estos programas se encargaban de parchear las partes del juego para darnos ciertas ventajas.

¿Como funcionaban si no era metiendo POKES?

Bueno, pues si y no. Meter un POKE, es meter un valor en una zona de memoria.

Estos programas lo que hacían era meter una rutina en ensamblador en una zona libre de memoria (no ocupada por el juego) para hacer el mismo proceso: Meter un valor determinado en una zona de memoria.

¿Y que es lo que metían?

Pues modificaban los contadores de vidas, objetos, energía... etc.

Cuando se produce un evento del tipo, "te matan". El programa tiene un contador que resta la vida hasta llegar a cero y luego salir del bucle del juego para finalizar la partida.
Estas modificaciones lo que se limitan a hacer es simplemente quitar esas restas o esas comparaciones, poniendo es su lugar una instrucción que no cause efecto en el programa.

Vale, está explicado muy por encima pero puede valer.

Ahora, cuando a un juego no se le puede hacer RESET (Cosas de la ROM, el BASIC y otra cosa que se llama "pisar programa en memoria", no se puede hacer... entonces se recure a los cargadores de juegos.

Estos cargadores meten una rutina en memoria, que es lanzada justo después de cargar el juego y pisar lo que queremos.

Bien, pues ahora voy a explicar como es una rutina de estas en BASIC y mas adelante explicaré (o también lo puede explicar Blackhole, que pilota más) lo que hace la rutina en ensamblador creada por el programa en BASIC.

Este programa en BASIC no es mas que un cargador de código máquina en memoria. Es decir, es un POKEADOR!


Así que voy a meterme con un juego, el DEFENDERS OF THE EARTH para ver como se hacían estas cosas.

Imagen

Pongo la rutina y la explico abajo.


1 REM ****************************
2 REM *
3 REM * DEFENDERS OF THE EARTH
4 REM *
5 REM *
6 REM ****************************
7 POKE 53281,1:POKE 53280,1:POKE 646,5:PRINTCHR$(147)
8 FOR N=272 TO 308: READ A: POKE N,A: S=S+A: NEXT
9 IF S <> 3815 THEN PRINT "ERROR EN DATAS!": END
10 INPUT"VIDAS INFINITAS (S/N)";A$: IF A$="N"THEN POKE 299,44: POKE 302,44
11 INPUT"ENERGIA INFINITA (S/N)";A$: iF A$="N"THEN POKE 296,44
12 PRINT: PRINT"PREPARA LA CINTA Y PULSA UNA TECLA"
13 POKE 53280,PEEK(162): GET A$: IF A$="" THEN 13
14 POKE 816,16: POKE 817,1: POKE 2050,0: LOAD
15 DATA 32,165,244,169,32,141,122,3,169,35,141,123,3,169,1,141,124
16 DATA 3,96,141,32,208,169,173,141,71,62,141,112,28,141,100,62,96,74,68,83


Linea 1 al 6 ... Sin efecto, son solo comentarios.

Linea 7 ... Con efecto unicamente estético. Cambiar colores de pantalla y cursor y borra la pantalla.

Linea 8 ... Este bucle es el importante. Va leyendo los Datas y los va guardando en la memoria del ordenador, es decir, va metiendo un pequeño programa en código máquina es este caso. A su vez contiene un contador incremental donde va haciendo la suma de los Datas

Linea 9 ... Comprueba si el contador es distinto a un valor (que es lo que suman los Datas) y si es diferente... ay pichon! te has confundido metiendo los Datas.

Linea 10 y 11 ... Te realiza unas preguntas y en funcion de ellas, parchea el programa cargado en memoria (Los Datas cargados) para que no haya efecto.

Linea 12 ... Imprime un mensaje

Linea 13... Más cosas estéticas y un pausa hasta que pulses una tecla.

Linea 14... Esta linea de POKES no los reconozco, pero creo que son para deshabiliar el LOAD del Kernel creo. Y luego carga el programa. Pero no los reconozco, a ver si Blackhole los reconoce.

Lineas 15 y 16... Son los DATAS que contienen el programa en ensamblador que se va a alojar en una zona libre de memoria indicada en la linea 8. Este programa se lanzará justo después de cargar el programa, poniendo las modificaciones necesarias en el juego para que tengamos ventajas.


Estos DATAS en memoria del Commodore se traducen en esto:

Memoria del commodore:

0110: 20 A5 F4 JSR $F4A5
0113: A9 20 LDA #$20
0115: 8D 7A 03 STA $037A
0118: A9 23 LDA #$23
011A: 8D 7B 03 STA $037B
011D: A9 01 LDA #$01
011F: 8D 7C 03 STA $037C
0122: 60 RTS
0123: 8D 20 D0 STA $D020
0126: A9 AD LDA #$AD
0128: 8D 47 3E STA $3E47
012B: 8D 70 1C STA $1C70
012E: 8D 64 3E STA $3E64
0131: 60 RTS
0132: 4A LSR A
0133: 44 53 NOOP $53

Ya hora necesito una mano para identificar lo que significa esto que se ha cargado en memoria.

Mientras tanto, voy a subir el juego en cuestión y el programa en basic para que se pueda probar con el emulador.
Adjuntos
Cargador Defender.rar
(923 Bytes) Descargado 1 vez
Defenders of the Earth-9e3527.rar
(57.55 KiB) Descargado 2 veces

Avatar de Usuario
Chema
Mensajes: 1975
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1173 veces
Agradecimiento recibido: 387 veces
Contactar:

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor Chema » 24 Oct 2018 23:20

Estáis hechos unos máquinas... yo flipo.

Cómo me gusta este hilo.

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 24 Oct 2018 23:33

Bueno, yo hace mucho tiempo que no pienso en decimal, pero como el BASIC es lo que acepta, habrá que andar con la calculadora de Windows...

Primero la línea 14. En las posiciones 816/817 ($0330/$0331) hay un vector que modifica el inicio de la rutina LOAD. Al revés que en Spectrum que solo tiene una ROM inmodificable, en el C64 hay ciertos punteros manipulables por el usuario para modificar rutinas básicas: este es uno de ellos (otro equipo que tiene multitud de funciones modificables de este tipo es el Amstrad CPC). Por defecto el puntero en $0330 apuntaría al Kernal en ROM y lo modificamos para que apunte a $0110 (272) que es justamente donde hemos metido los DATAs de nuestro cargador.

Ver la página de All About Your 64 en http://unusedino.de/ec64/technical/aay/c64/zpmain.htm donde se comentan estas posiciones.

En el código máquina del pokeador, se llama lo primero a $F4A5 que es donde el vector de LOAD apuntaba originalmente y cargamos el primer programa de la cinta original, pero al retornar de la carga tomamos el control y el código mete un JSR $0123 en la posición $037A antes de salir al BASIC. Entre $033C y $03FB es donde el BASIC carga la cabecera de los programas de cinta. Este espacio de la cabecera, normalmente vacío con el nombre del programa, es aprovechado por los originales para meter el código de la carga rápida. Como lo hemos parcheado, es muy posible que cuando fuese a ejecutar el juego tras cargarlo, se desvíe a una rutina en $0123 en la que aprovechamos a inyectar los POKEs.

Edito: Quiero hacer un inciso para puntualizar cómo se autoejecutan normalmente los programas de cinta de los juegos. Como la cabecera del juego es muy grande (182 bytes) normalmente el código se mete ahí tras los 16 bytes del nombre del fichero que son los que se imprimen en pantalla. El cuerpo real del "programa" cargado suele sobreescribir 2 bytes que modifican alguno de estos vectores: o el mensajes de error del BASIC (el que ponga READY cuando termine una carga, no deja de ser un mensaje del sistema) o el de la rutina CHROUT que imprime un byte en pantalla, con lo que conseguimos el mismo efecto.

Este es un original con un cargador de cinta fácil y directo. Normalmente los cargadores "putean" más, ocultando sus movimientos en diversas zonas de memoria, encriptando los datos para que no se puedan modificar sin que se corrompan al desencriptar, o incluso automodificándose en medio de la carga. Suelen ser más complicados de lo que se ha descrito aquí, pero para empezar vale.

BlackHole
Mensajes: 902
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 5 veces
Agradecimiento recibido: 116 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor BlackHole » 25 Oct 2018 02:51

Para ilustrar un poco cómo podría haber quedado el Avenger, sin trainer, pero desprotegido con un compresor moderno al igual de los del otro hilo, he preparado una versión del juego que ocupa solo 118 bloques. ¡Quién sabe! A lo mejor me animo a poner un trainer ligero, a ver cómo quedaría la cosa.

La cinta original del Avenger es un congelado del Expert Cartridge de Trilogic, así que mucha técnica para preparar la cinta no había en una compañía como pudo ser Gremlin Graphics. Antes de saltar al juego hize un volcado de la memoria. He mirado luego el original en disco y son exactamente los mismos datos aunque descomprimidos. Es decir, la versión que adjunto sería mejor que el original... tócate las narices.

Avenger [BH][2018].d64.gz
C64 Avenger - 1986 Gremlin
(30.18 KiB) Descargado 2 veces

Avatar de Usuario
minter
Mensajes: 1979
Registrado: 22 Jul 2014 18:51
Agradecido : 1421 veces
Agradecimiento recibido: 590 veces

Re: Guía práctica de uso Action Replay de C64 (Monitor CM aún en desarrollo )

Mensajepor minter » 25 Oct 2018 11:04

BlackHole, no es la primera vez que mejoras un original. :)
Ya cuando comprimiste hace poco unos juegos con pantalla y todo, era de profesional.
El Defence lo escogi por eso, porque era sencillo. Y de paso, aprender un poco como se hacen los cargadores en Basic, que hasta día de hoy, nunca les había prestado atención.

Lo del puntero del Load está muy bien explicado.
Lo que está claro es que parchear un juego es una tarea de investigación bastante pesada pero divertida.
Gracias por tus apuntes. ;)


Volver a “Hardware C64”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado