Derniers sujets
» Oric Kong en C preview (coup de main demandé)
Mar 18 Sep 2018 - 17:01 par Ladywasky

» Interview de Vincent Baillet
Lun 17 Sep 2018 - 20:31 par didierv

» SCUBA DIVE
Lun 17 Sep 2018 - 1:15 par Symoon

» CEO MAG 338
Dim 16 Sep 2018 - 1:25 par Ladywasky

» Tyrann 2.0 sur Androïd (et facebook,...)
Jeu 6 Sep 2018 - 20:53 par Sheld67

» [PROBLEME] Commande input et générateur aléatoire
Mar 4 Sep 2018 - 4:20 par Ladywasky

» OricSpin : Télécharger et jouer
Lun 3 Sep 2018 - 9:32 par Oric1-Atmos

» fonctions supplémentaires pour OSDK
Jeu 30 Aoû 2018 - 15:46 par Ladywasky

» OricJoy : un frontend pour oricutron, avec support joystick/gamepad
Jeu 30 Aoû 2018 - 0:32 par Ladywasky

» Conversion de oric kong en C
Mer 29 Aoû 2018 - 23:47 par Ladywasky

» **NEW** EDGE for ORIC !!!!
Mer 29 Aoû 2018 - 9:31 par Davros

» Ensemble de Mandelbrot en C et en 10 lignes
Mar 28 Aoû 2018 - 17:18 par TotoShampoin

» Espace de stockage dans le forum
Mar 28 Aoû 2018 - 6:53 par maximus

» LCC65, la Compil pour ORIC
Lun 27 Aoû 2018 - 15:39 par Ladywasky

» defence-force.org ne réponds plus !
Lun 27 Aoû 2018 - 2:36 par Ladywasky

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité :: 1 Moteur de recherche

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 152 membres enregistrés
L'utilisateur enregistré le plus récent est Legend of Myth

Nos membres ont posté un total de 7169 messages dans 537 sujets
Portail ORIC




[TIPS] - XENON-1: nombre de vies illimitées

Poster un nouveau sujet   Répondre au sujet

Aller en bas

[TIPS] - XENON-1: nombre de vies illimitées

Message par Zodiac le Mer 19 Mar 2014 - 9:13

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+
avatar
Zodiac

Messages : 92
Date d'inscription : 27/01/2014
Localisation : Yvelines

Revenir en haut Aller en bas

Re: [TIPS] - XENON-1: nombre de vies illimitées

Message par Dany le Jeu 20 Mar 2014 - 17:07

merci pour cette modification !!
je vais enfin pouvoir gagner plus souvent Smile

@++
avatar
Dany

Messages : 135
Date d'inscription : 26/01/2014

Revenir en haut Aller en bas

Re: [TIPS] - XENON-1: nombre de vies illimitées

Message par Dom50 le Dim 23 Mar 2014 - 13:40

Bien vu pour l'adresse du nombre de vie en  $9616 Very Happy 
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  Smile 
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  Smile
Adresse indispensable pour tous les tricheurs  pirat   : 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.
avatar
Dom50

Messages : 731
Date d'inscription : 06/12/2012
Localisation : Normandie

Revenir en haut Aller en bas

XENON1 Nombre de vies illimitées

Message par Zodiac le Dim 23 Mar 2014 - 13:50

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+
avatar
Zodiac

Messages : 92
Date d'inscription : 27/01/2014
Localisation : Yvelines

Revenir en haut Aller en bas

Re: [TIPS] - XENON-1: nombre de vies illimitées

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


Poster un nouveau sujet   Répondre au sujet
 
Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum