What is CrASH19006
? |
CrASH_19006 c'est CrASH 1.6
avec une simple modification des adresses de saut de quelques
Call et Rom_Call (voir plus bas dans la page) destinés
à le rendre compatible avec la TI82 nouveau modèle
c'est à dire avec le modèle que possèdent
aujourd'hui la majorité des lycéens équipés
de TI82. |
A qui est CrASH_19006? |
Aucune ambiguïté
à ce sujet: le mérite de CrASH_19006 revient
entièrement aux auteurs de CrASH 1.6 soit Hideaki
Omuro and Jeff Mears. PlaneteTI82 n'est l'auteur que
de la modification. CrASH_19006 affiche le nom du site
www.planeteTI82.fr.st au premier lancement uniquement
en tant que contribution au travail réalisé
pour sa modification. Le nom du logiciel CrASH 19006 en
remplacement de CrASH 1.6 a été adopté
afin d'éviter toute confusion de la part des utilisateurs.
Dans l'éventualité ( bien improblable puisque
Crashman a fermé son site et n'a pas répondu
à notre mail
de demande ) où les auteurs de CrASH 1.6 exprimeraient
leur désaccord avec la version diffusée
sur ce site et qu'ils nous fournissent une version officielle
pleinement fonctionnelle, notre version serait retirée
au profit de la leur. |
Pourquoi CrASH_19006
? |
Les
auteurs de CrASH et ACE ont cessé le developpement
de leurs shells sans transmettre leurs sources à
la communauté TI82. Certains diront que c'était
leur droit. Nous reconnaissons que c'est exact mais affirmons
que ça n'en est pas moins INACCEPTABLE dans l'environnement
définitivement non-commercial du soft TI82.
Le but de PlaneteTI82 dans l'adaptation et la diffusion
de CrASH_19006 est de mettre à la dispositions des possesseurs
ACTUEL de TI82 la bibliothèque la plus large possible
de jeux Ash et CrASH et cela dans des délais très courts.
CrASH 1.6 n'avait aujourd'hui été vraiment
remplacé ni par ACE ni par SNG. ACE est arrêté
et la vocation première de SNG n'est certainement
pas de faire tourner les "vieux" jeux. CrASH_19006
a donc aujourd'hui sa place.
New 16/05/2003: Dines Justesen, l'auteur de ASH 3.0 et
AceBeta3, contacté par nos soins, accepte de libérer
ses sources. C'est un bon début. |
Les droits des auteurs
de Crash1.6 et des jeux Ash/CrASH sont-ils respectés
? |
Les droits d'un auteur de soft TI82 sont respectés
du moment que l'on ne tente pas de s'approprier son
travail et donc si l'on ne supprime pas son nom dans
le soft et la doc. En dehors de cela, toute diffusion
d'un de ses softs contribue à faire connaître
ses créations et ceci fait partie de la motivation
naturelle d'un auteur. Toutefois, si l'un d'entre eux
exprime son désaccord vis à vis d'un portage
réalisé par PlaneteTI82 et nous fourni
une version officielle pleinement fonctionnelle, notre
version sera immédiatement supprimée au
profit de la sienne. L'auteur est systématiquement
contacté par mail
avant ou au moment de la mise en ligne d'un programme.
En complément, jetez un oeil ci-dessous ci-dessous.
|
Quand même,
quelque part, vous violez le Copyright, la convention
de Berne et tout et tout ! Non ? |
Le
fait de savoir aligner 3 lignes de code ne donne pas le
droit de se prendre pour un caïd même si l'ignorance du
plus grand nombre sur ce qu'est réellement la programmation
entraîne parfois certains à le penser. Tenter
de masquer la pauvreté ou la confusion de son code
en ne distribuant pas les sources et en "interdisant"
de sûrcroit le désassemblage est une démarche
tentante pour les débutants mais aussi égoïste
que dépassée. Elle est le moyen le plus
efficace de ne pas progresser en se coupant d'une communauté
de développement certes critique mais généralement
bienveillante et prompte à faire progresser l'ensemble.
Le créneau commercial attaché aux productions
de softs pour TI82 n'étant pas vraiment du genre
porteur, la notion de protection du Copyright non enregistré
de ces softs reste très virtuelle. Autant nous
sommes fortement attachés au respect de la notion
d'auteur quant à la protection et à la reconnaissance
de son travail autant il ne nous apparait pas essentiel
de nous encombrer des mentions manifestement excessives
et en décalage avec une activité lycéenne
de loisirs. Dire "c'est moi qui l'ai fait":
ok, dire "si vous le modifiez, prévenez-moi":
ok, dire "interdit de désassembler":
pas ok !
N'ayez pas peur ! Fournissez
vos sources! Si un abruti s'octroi votre travail, nombreux
seront les gens (nous compris) à rétablir
la vérité envers la communauté de
développement et de joueurs sur TI82. |
Puis-je développer
un soft NOUVEAUX soft pour CrASH_19006 ? |
Pour être clair, nous n'encourageons
PAS la création de NOUVEAUX jeux sous CrASH_19.006
car ce shell n'offre pas de fonctionnalités internes additionnelles
par rapport à CrASH 1.6 (dont il est la copie exacte uniquement
adapté à la rom 19.006) mais bien entendu vous êtes
parfaitement libres de le faire. Toutefois, cela rique
de vous entraîner à diminuer le niveau technique de vos
créations par souçis de compatibilité. Pour la création
de soft originaux, nous conseillons plutôt l'utilisation
de SNG même si ce shell demande encore quelques
étapes de finalisation pour lui conférer
une fiabilité améliorée et une taille
acceptable. CrASH19006 n'est selon nous destiné
qu'à l'adaptation des jeux Ash3.0 et CrASH1.6.
D'ailleurs, il n'était initialement pas prévu de
fournir une version modifié du SDK mais nous l'avons finalement
fait en réponse à la demande de "fans" TI82
souhaitant réaliser eux-même des portages de jeux. |
Modifiez-vous les
sources des auteurs de soft pour Crash1.6? |
Non, nous ne modifions
pas et ne recompilons pas les sources pour faire les versions
CrASH_19006 mais utilisons un soft de conversion d'adresse
qui intervient directement sur le 82p. Ceci permet un
portage extrêment rapide. Cet utilitaire est disponible
en téléchargement à la page Outils. |
Les jeux n'existant pas sous
CrASH 1.6 ou ASH3.0 seront-il portés vers CrASH_19.006
? |
Tout auteur de logiciel gratuit
tire sa satisfaction de la diffusion la plus large possible
de ses créations aussi, même si ce n'est
pas la vocation initiale du site, nous nous réservons
de façon non exclusive le droit de porter vers
CrASH_19.006 tous les jeux et utilitaires TI82 intéressant
diffusés sur le net. Toutefois, si l'auteur
d'un jeux non Ash3.0 ou CrASH1.6 exprime son désaccord
vis à vis d'un portage, notre version sera immédiatement
retirée du site.
L'auteur est systématiquement contacté par
mail avant ou au moment
de la mise en ligne.
|
Puis-je aussi porter des jeux
vers CrASH_19.006 et comment puis-je les distribuer ? |
Bien sûr ! Vous pouvez pour cela
utiliser soit le SDK soit notre outil de conversion disponible
à la page Outils. Pour les diffuser, vous pouvez
les uploader sur Ticalc.org. En effet, à
notre demande, Ticalc.org a ajouté des sous-dossiers
CrASH19006 dans les dossiers Crash des différentes
rubriques de soft asm TI82 (exemple: TI82\asm\games\crash\crash19006).
Vous pouvez donc y mettre vos jeux ou portages CrASH_19006.
Note: Si vous faite un "portage" 19.0 vers 19.006
d'un soft TI82 existant, n'oubliez pas d'inclure dans
votre ZIP l'ensemble des éléments présents
dans le zip de l'auteur. Vous pouvez rajouter votre nom
dans les crédits mais n'effacez pas ceux des intervenants
précédents. |
Une évolution de CrASH_19.006
est-elle prévue ? |
Non! En tout cas pas par nous ! CrASH_19.006
représente, je le répète, l'opportunité
de faire tourner dans des délais très courts
l'ensemble de la bibliothèque de jeux Ash3.0 et
CrASH 1.6 sur TI82 nouveau modèle soit près
d'une centaine de jeux. L'autre atout de Crash est sa
taille modeste de 1000 octets qui le démarque nettement
des autres shells compatibles rom 19.006, Ace et SNG,
qui ont une certaine tendance à l'embonpoint. Toutefois
CrASH19006 ne s'incrit pas comme un conccurent de SNG
mais juste comme le dépoussiérage d'un truc
qui ne pouvait plus servir à rien et qui n'était
pourtant pas encore vraiment remplacé. Le jour
où SNG sera arrivé à un niveau de
maturité faisant de lui le support priviligié
de programmation des auteurs sur TI82 alors CrASH19006
disparaîtra de lui-même. |
Avez-vous décompilé
puis recompilé CrASH 1.6 pour faire CrASH_19.006
? |
CrASH 1.6 a bien été
décompilé pour en étudier le fonctionnement
mais plutôt que de recompiler, il a été
préféré un travail direct sur le
82b de CrASH 1.6 avec un éditeur hexa pour modifier
les quelques Call et Rom_Call nécessaires. Cette
méthode a l'avantage d'être sûr que
CrASH_19.006 n'introduit pas de bug dont CrASH 1.6 aurait
été exempt et respecte ainsi le travail
des auteurs. Elle est détaillée ci-après. |
Quelles sont exactement
les modifications opérées sur CrASH 1.6
pour faire CrASH_19006 ? |
1) modification du programme BASIC:
Un shell TI82 se lance via un programme basic dont le
but est de modifier le contenu du pointeur en $8114(vecteur
de saut si appui sur touche).
Programme basic CrASH 1.6:
:b(1,1->a(52,1
;:1+E13->a(51,41
:Output(1,1,"
:Stop
Programme basic CrASH_19006 (by CrASH_MAN dans une version
jamais terminée de CrASH_19006)
:b(1,1->a(19,34
:1+E13->a(19,3
:Output(1,1,"
:Stop
2) Inactivation des rom_calls:
CrASH 1.6 est dôté d'un système
de rom_call calqué en plus simple sur le système
de rom_call de la TI82. Ce système n'étant
pas compatible avec les évolutions de la rom
19.006, il a été inactivé.
$087A ($8D5C) $1A -> $00
Note: $087A correspond à l'adresse dans le fichier
backup, ($8D5C) à celle en RAM user.
3)Modification des rom_calls:
Crash 1.6 utilise 4 rom_call contenant, comme il se
doit, les adresses de saut dans la rom 18. Ces adresses
ont été modifiées pour correspondre
à la nouvelle organisation de la rom 19.006.
$0BC6 ($90A8) $39C6 -> $3B29 BACKUP_DISP ;Copy display
to APD_BUF
$0BD7 ($90B9) $38FA -> $3A2D D_ZT_STR ;Display zero-terminated
normal text string
$0BE0 ($90C2) $37D4 -> $390D D_ZM_STR ;Display zero-terminated
string, menu style
$0BEF ($90D1) $3924 -> $3A87 KEY_HAND ;Get key using
key handler
4)Modification de deux calls:
Seuls deux calls ont du être retouchés
pour coller à la nouvelle rom.
$0965 ($8E47) 01C7->01E6 STORE_KEY ;Store keystroke
from A
$099D ($8E7F) 0213->0232 going back to TI-OS
5)Enfin le checksum du 82b a été mis
à jour grâce à fix.com
et c'est tout !
|
Mais alors, c'était
pô dûr !? |
Qui a dit que ça l'était ?
Have fun !
Jumbo.
PlaneteTI82.fr.st 06/05/2003.
|