Derniers sujets
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 243 membres enregistrésL'utilisateur enregistré le plus récent est paul225l
Nos membres ont posté un total de 8922 messages dans 811 sujets
[TIPS] - XENON-1: nombre de vies illimitées
2 participants
Forum Oric :: Forums :: Jeux
Page 1 sur 1
[TIPS] - XENON-1: nombre de vies illimitées
Re bonjour les Oriciennes et Oriciens,
Ceux qui connaissent cette astuce ou qui sont des surdoués des jeux de shooting ne sont pas concernés par ce qui suit.
Pour d'autres ce n'est pas du jeu, c'est de la triche, eh, je suis désolé, seul le résultat compte pour gagner.
A tous ceux qui comme moi, avec XENON1 était frustré de ne pouvoir faire le plein d'énergie depuis le vaisseau mère qu'à de rares exceptions, du fait d'avoir épuisé ses 3 bases et de tout recommencer à chaque fois.
Et bien, je vous confie, un petite astuce, si vous voulez avoir 3 bases en continue, c'est assez simple: on s'aperçoit en désassemblant XENON1 que le nombre de bases se niche à l' adresse $9616.
En fait dans le source, il y a un DEC $9616, suivi d'un BEQ qui attend que le contenu de l'adresse $9616 soit à zéro pour nous faire recommencer la partie, oh le vilain, (non non non, on veut pas recommencer !!!).
Alors vous prenez votre fichier physique XENON1.TAP (faites une copie auparavant, c'est plus sûr).
Ensuite vous prenez un basic, un pascal ou un c même QBASIC dos fait l'affaire, dans ce cas précis j'ai utilisé Powerbasic Console Compiler.
Je vous livre ces quelques lignes basic qui vont vous donner un XENON1 forever.
Aux adresses physiques décimal 23357, 23358, 23359 du fichier, se trouve le fameux DEC $9616, remplacer le contenu de ces trois adresses par 3 NOP successifs, et le contenu de l'adresse $9616 ne sera plus décrémenté. Je parle d'adresse physique car on est pas dans l'oric mais dans un fichier physique , il y a l'entête, ce qui fait que le fichier est un peu plus long que celui résidant dans l'oric après le chargement. Pourquoi ne pas le faire sur l'oric, c'est possible, mais avec XENON1 qui occupe pratiquement tout l'espace mémoire, ça complique un peu les choses et puis il faut sauvegarder le fichier etc... 13 petites lignes basic font très bien l'affaire. Normalement la taille du fichier XENON1.TAP fait 37396 octets et le contenu des adresses à patcher est $CE, $16, $96.
A vous d'adapter le source ci-dessous en fonction du langage que vous allez utilisé pour créer ce patch.
DIM I AS INTEGER
DIM VAR1 AS STRING * 1
REM VAR1 contiendra #$EA correspondant au mnémonique 'NOP' (en bon français ne fait rien)
REM dans certains langage le 1er octet porte l'adresse zero, donc les adresses seront 23356 à 23358
VAR1 = CHR$(234)
OPEN "XENON1.TAP" FOR RANDOM ACCESS READ WRITE AS #1 LEN=1
IF LOF(1) = 37396 Then
FOR I = 23357 TO 23359
PUT #1, I, VAR1
NEXT I
PRINT "PATCH EFECTUE"
ELSE
PRINT "PATCH AVORTE, LE FICHIER NE CONTIENT PAS 37396 OCTETS"
END IF
CLOSE #1
Après ça un petit CLOAD "XENON1", et viva le patch.
@Kiwilevrai, je n'ai pas relooker XENON1, il est déjà trop beau comme ça, par contre, je suis entrain de terminer la translation en c des programmes basic 'ORIC-BRIQUES, GLOUTON, PACMAN, ils sont beaucoup plus fluide que le basic, dans certains cas il faut les ralentir, autrement il ne serait pas jouable, je les poste prochainement avec les sources bien sûr.
Bonne journée à tous A+
Ceux qui connaissent cette astuce ou qui sont des surdoués des jeux de shooting ne sont pas concernés par ce qui suit.
Pour d'autres ce n'est pas du jeu, c'est de la triche, eh, je suis désolé, seul le résultat compte pour gagner.
A tous ceux qui comme moi, avec XENON1 était frustré de ne pouvoir faire le plein d'énergie depuis le vaisseau mère qu'à de rares exceptions, du fait d'avoir épuisé ses 3 bases et de tout recommencer à chaque fois.
Et bien, je vous confie, un petite astuce, si vous voulez avoir 3 bases en continue, c'est assez simple: on s'aperçoit en désassemblant XENON1 que le nombre de bases se niche à l' adresse $9616.
En fait dans le source, il y a un DEC $9616, suivi d'un BEQ qui attend que le contenu de l'adresse $9616 soit à zéro pour nous faire recommencer la partie, oh le vilain, (non non non, on veut pas recommencer !!!).
Alors vous prenez votre fichier physique XENON1.TAP (faites une copie auparavant, c'est plus sûr).
Ensuite vous prenez un basic, un pascal ou un c même QBASIC dos fait l'affaire, dans ce cas précis j'ai utilisé Powerbasic Console Compiler.
Je vous livre ces quelques lignes basic qui vont vous donner un XENON1 forever.
Aux adresses physiques décimal 23357, 23358, 23359 du fichier, se trouve le fameux DEC $9616, remplacer le contenu de ces trois adresses par 3 NOP successifs, et le contenu de l'adresse $9616 ne sera plus décrémenté. Je parle d'adresse physique car on est pas dans l'oric mais dans un fichier physique , il y a l'entête, ce qui fait que le fichier est un peu plus long que celui résidant dans l'oric après le chargement. Pourquoi ne pas le faire sur l'oric, c'est possible, mais avec XENON1 qui occupe pratiquement tout l'espace mémoire, ça complique un peu les choses et puis il faut sauvegarder le fichier etc... 13 petites lignes basic font très bien l'affaire. Normalement la taille du fichier XENON1.TAP fait 37396 octets et le contenu des adresses à patcher est $CE, $16, $96.
A vous d'adapter le source ci-dessous en fonction du langage que vous allez utilisé pour créer ce patch.
DIM I AS INTEGER
DIM VAR1 AS STRING * 1
REM VAR1 contiendra #$EA correspondant au mnémonique 'NOP' (en bon français ne fait rien)
REM dans certains langage le 1er octet porte l'adresse zero, donc les adresses seront 23356 à 23358
VAR1 = CHR$(234)
OPEN "XENON1.TAP" FOR RANDOM ACCESS READ WRITE AS #1 LEN=1
IF LOF(1) = 37396 Then
FOR I = 23357 TO 23359
PUT #1, I, VAR1
NEXT I
PRINT "PATCH EFECTUE"
ELSE
PRINT "PATCH AVORTE, LE FICHIER NE CONTIENT PAS 37396 OCTETS"
END IF
CLOSE #1
Après ça un petit CLOAD "XENON1", et viva le patch.
@Kiwilevrai, je n'ai pas relooker XENON1, il est déjà trop beau comme ça, par contre, je suis entrain de terminer la translation en c des programmes basic 'ORIC-BRIQUES, GLOUTON, PACMAN, ils sont beaucoup plus fluide que le basic, dans certains cas il faut les ralentir, autrement il ne serait pas jouable, je les poste prochainement avec les sources bien sûr.
Bonne journée à tous A+
Zodiac- Messages : 92
Date d'inscription : 27/01/2014
Localisation : Yvelines
Re: [TIPS] - XENON-1: nombre de vies illimitées
merci pour cette modification !!
je vais enfin pouvoir gagner plus souvent
@++
je vais enfin pouvoir gagner plus souvent
@++
Invité- Invité
Re: [TIPS] - XENON-1: nombre de vies illimitées
Bien vu pour l'adresse du nombre de vie en $9616
Dans WINHEX la suite CE1696 se trouve à l'offset $5B40 soit 23360 en décimal.
En retirant les 23 octes de l'entête et en rajoutant 1024 (adresse de début du BASIC dans l'oric) on trouve une adresse réelle à $6029 dans l'oric.
De mon côté, en 84 (30 ans déjà...) j'avais trouvé un truc similaire . En fait dans XENON, la valeur du nombre de vies est mise à jour à l'écran AVANT de faire le test SI VIE =0 THEN... C'est donc à cet endroit dans le code que j'avais placé mon astuce.
Code d'origine:
$5FF8 : LDA $9616 prendre le nombre de vies
$5FFB : ORA #$30 transformer en code ASCII
$5FFD : STA $BFA3 L'écrire à l'écran.
Transformé en :
$5FF8 : LDA #$03 3 vies
$5FFA : STA $9616 remise en 9616 quoi qu'il arrive
$5FFD : NOP
$5FFE : NOP
$5FFF : NOP
Truc moins bien que le tien, puisque au lieu de changer 3 octets, j'en changeai 8
Mais il y en a un qui nous bat tous les deux, c'est Jim Groom qui lui ne change q'UN octet pour le même résultat
Adresse indispensable pour tous les tricheurs : http://freespace.virgin.net/james.groom/oric/cheats.htm
Jim propose tout simplement : POKE24617,173 . Soit POKE $6029,#$AD
Qui transforme $6029: DEC $9616 en $6029 : LDA $9616
Pour changer un seul octet, il est trés facile d'utiliser le debuger d'Euphoric. MArche à suivre :
1- Lancer XENON1
dès que le jeu démarre
2- F11
2- E 6029 [RETURN]
3- AD [RETURN] [RETURN] (2x return)
4- F11
Vous êtes immortels et votre version de XENON n'est pas modifiée.
Dans WINHEX la suite CE1696 se trouve à l'offset $5B40 soit 23360 en décimal.
En retirant les 23 octes de l'entête et en rajoutant 1024 (adresse de début du BASIC dans l'oric) on trouve une adresse réelle à $6029 dans l'oric.
De mon côté, en 84 (30 ans déjà...) j'avais trouvé un truc similaire . En fait dans XENON, la valeur du nombre de vies est mise à jour à l'écran AVANT de faire le test SI VIE =0 THEN... C'est donc à cet endroit dans le code que j'avais placé mon astuce.
Code d'origine:
$5FF8 : LDA $9616 prendre le nombre de vies
$5FFB : ORA #$30 transformer en code ASCII
$5FFD : STA $BFA3 L'écrire à l'écran.
Transformé en :
$5FF8 : LDA #$03 3 vies
$5FFA : STA $9616 remise en 9616 quoi qu'il arrive
$5FFD : NOP
$5FFE : NOP
$5FFF : NOP
Truc moins bien que le tien, puisque au lieu de changer 3 octets, j'en changeai 8
Mais il y en a un qui nous bat tous les deux, c'est Jim Groom qui lui ne change q'UN octet pour le même résultat
Adresse indispensable pour tous les tricheurs : http://freespace.virgin.net/james.groom/oric/cheats.htm
Jim propose tout simplement : POKE24617,173 . Soit POKE $6029,#$AD
Qui transforme $6029: DEC $9616 en $6029 : LDA $9616
Pour changer un seul octet, il est trés facile d'utiliser le debuger d'Euphoric. MArche à suivre :
1- Lancer XENON1
dès que le jeu démarre
2- F11
2- E 6029 [RETURN]
3- AD [RETURN] [RETURN] (2x return)
4- F11
Vous êtes immortels et votre version de XENON n'est pas modifiée.
Dom50- Messages : 916
Date d'inscription : 06/12/2012
Localisation : Normandie
XENON1 Nombre de vies illimitées
Bonjour Dom50,
Bah, tu as raison, y a toujours plus malin ou plus fort, faut s'y faire.
En tous les cas merci de ton info.
A+
Bah, tu as raison, y a toujours plus malin ou plus fort, faut s'y faire.
En tous les cas merci de ton info.
A+
Zodiac- Messages : 92
Date d'inscription : 27/01/2014
Localisation : Yvelines
Forum Oric :: Forums :: Jeux
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 31 Mar 2024 - 14:35 par kenneth
» Bla Bla général du Jury
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur