Affichage Public SHEM a un bug !
Bonjour,
J'ai la version 1.23 de SHEM. J'ai remarqué un bug dans l'assembleur.
Voici la démarche à suivre pour reproduire ce bug :
1/ Lancer SHEM.COM
2/ Déplacer le curseur à l'endroit 0150h par exemple
3/ Presser [CTRL]+[D] puis [CTRL]+[A]
4/ Entrer LD (8000h),SP puis presser [ESC]
5/ Remonter d'une page avec la touche du curseur [HAUT]
Et voilà le bug ! L'instruction LD (8000h),SP a été assemblée de façon erronée.
Nous obtenons ED 43 00 80. Ce qui correspond à LD (8000h),BC.
Existe-t-il une version corrigée ? Edité par GDX Le 31/08/2015 à 14h35
J'ai la version 1.23 de SHEM. J'ai remarqué un bug dans l'assembleur.
Voici la démarche à suivre pour reproduire ce bug :
1/ Lancer SHEM.COM
2/ Déplacer le curseur à l'endroit 0150h par exemple
3/ Presser [CTRL]+[D] puis [CTRL]+[A]
4/ Entrer LD (8000h),SP puis presser [ESC]
5/ Remonter d'une page avec la touche du curseur [HAUT]
Et voilà le bug ! L'instruction LD (8000h),SP a été assemblée de façon erronée.
Nous obtenons ED 43 00 80. Ce qui correspond à LD (8000h),BC.
Existe-t-il une version corrigée ? Edité par GDX Le 31/08/2015 à 14h35
Visiteur
Vagabond
Message : 0
Bonjour,
J'ai récupéré la version 1.23 de SHEM et effectué la correction. Cela m'a permis de mettre en pratique mon outil dcmsx
J'ai nommé le programme corrigé SHEMS1.COM dans la disquette shem.dsk
J'espère cependant ne pas avoir introduit d'erreur.
Edité par Visiteur Le 07/09/2015 à 09h17
J'ai récupéré la version 1.23 de SHEM et effectué la correction. Cela m'a permis de mettre en pratique mon outil dcmsx
J'ai nommé le programme corrigé SHEMS1.COM dans la disquette shem.dsk
J'espère cependant ne pas avoir introduit d'erreur.
Edité par Visiteur Le 07/09/2015 à 09h17
igal
Membre non connecté
Conseiller Municipal
Merci pour cette modif Sylvain.
En fouillant dans mes disques, j'ai trouvé une commande servant à patcher SHEM v.1.23.
SHEMP123.zip
Cette commande sert à ajouter la possibilité de mettre un nom de fichier derrière la commande SHEM afin de le charger directement sans devoir passer forcément par [CTRL]+[L]. Il permet aussi de charger de plus gros fichier (partiellement sans planter) et corrige un petit problème d'initialisation de la RAM pour le chargement.
Il y a 2 versions du patcheur car il semble avoir 2 versions différentes de SHEM v.1.23. (il faut essayé pour voir lequel fonctionne.) Ce patch provient de Tsujikawa.
Je dis ça pour savoir si tu as déjà appliqué ce patch avant de faire ta modif ? Edité par GDX Le 08/09/2015 à 09h17
En fouillant dans mes disques, j'ai trouvé une commande servant à patcher SHEM v.1.23.
SHEMP123.zip
Cette commande sert à ajouter la possibilité de mettre un nom de fichier derrière la commande SHEM afin de le charger directement sans devoir passer forcément par [CTRL]+[L]. Il permet aussi de charger de plus gros fichier (partiellement sans planter) et corrige un petit problème d'initialisation de la RAM pour le chargement.
Il y a 2 versions du patcheur car il semble avoir 2 versions différentes de SHEM v.1.23. (il faut essayé pour voir lequel fonctionne.) Ce patch provient de Tsujikawa.
Je dis ça pour savoir si tu as déjà appliqué ce patch avant de faire ta modif ? Edité par GDX Le 08/09/2015 à 09h17
Visiteur
Vagabond
Message : 0
@Igal
Merci Igal pour Marjorie Poulet, cela me touche beaucoup. Bien que pour l'instant je n'ai pas compris le rapport avec le sujet
@GDX
En fait j'avais trouvé 2 versions SHEM 1.23! Une de 10ko et une de 14ko.
J'ai modifié la version de 14ko.
Est-ce que tu as essayé de faire un test avec ma version pour savoir quels patchs sont appliqués ?
Si c'est OK il faudra estampiller cette version 1.24 !?
Merci Igal pour Marjorie Poulet, cela me touche beaucoup. Bien que pour l'instant je n'ai pas compris le rapport avec le sujet
@GDX
En fait j'avais trouvé 2 versions SHEM 1.23! Une de 10ko et une de 14ko.
J'ai modifié la version de 14ko.
Est-ce que tu as essayé de faire un test avec ma version pour savoir quels patchs sont appliqués ?
Si c'est OK il faudra estampiller cette version 1.24 !?
Je n'ai pas essayé mais d'après la doc de SHEMP, il a une version de SHEM v1.23 qui provient de Natsume-Net ou Mario-Net et une autre du NG (Networkers Gift) Disk #4. J'ai comparé ta version avec la mienne et elle est différente.
Ma version est patchable avec SHEMP-A.COM donc elle provient de Natsume-Net ou Mario-Net.
Un fois SHEM patchée, le fichier semble être comme compressé. Il fait 4Ko de moins.
Faudrait voir ça de plus près donc...
Au fait, tu as modifié quoi pour que ça marche ?
Ma version est patchable avec SHEMP-A.COM donc elle provient de Natsume-Net ou Mario-Net.
Un fois SHEM patchée, le fichier semble être comme compressé. Il fait 4Ko de moins.
Faudrait voir ça de plus près donc...
Au fait, tu as modifié quoi pour que ça marche ?
Visiteur
Vagabond
Message : 0
Voici la correction, SP était traité comme pour BC.
J'ai ajouté une ligne (DEC A) avant la gestion de BC et changé le saut vers DEC A pour la gestion de SP.
J'ai ajouté une ligne (DEC A) avant la gestion de BC et changé le saut vers DEC A pour la gestion de SP.
Code ASM :
Edité par
Visiteur
Le 08/09/2015 à 10h46
LP_A56B: CALL LP_AA22 INC HL PUSH DE LD A,001h LD [LD_AB2B],A CALL LP_AB2C POP DE CP 007h JP z,LP_A5D1 SUB 010h ; ici BC=0 DE=1 HL=2 AF=3 SP=4 IX=5 IY=6 JP c,LP_A324 ; A < 0 JP z,LP_A5BD ; A = 0 on traite BC CP 002h JP z,LP_A5B4 ; A = 2 on traite HL JP c,LP_A5BD ; A = 1 on traite DE CP 004h ; ici on a traite SP JP z,LP_CORR ; A = 4 on traite SP j'ai remplacé LP_A5BD par une nouvelle étiquette LP_CORR CP 005h JP c,LP_A324 JP z,LP_A5A0 CP 007h JP nc,LP_A324 LP_A5A0: LD B,0DDh CP 005h JR z,LP_A5A8 LD B,0FDh LP_A5A8: LD HL,[LD_9E9D] LD A,B PUSH DE CALL LP_CA22 POP DE LD [LD_9E9D],HL LP_A5B4: LD A,022h LD HL,[LD_9E9D] PUSH DE JP LP_A3E7 LP_CORR: DEC A ; ici j'ai ajouté DEC A : on décrémente 04h ce qui fait 03h :) LP_A5BD: RLCA ; on fait 4 décalages à gauche RLCA RLCA RLCA ; à l'issue on obtient la donnée dans le quartet fort donc 30h OR 043h ; un OU avec 43h donne 73h pour SP et 43h pour BC PUSH DE PUSH AF LD HL,[LD_9E9D] LD A,0EDh CALL LP_CA22
Peut-être que Jipé peut nous éclairer. Il a l'air de bien connaitre SHEM.
Je n'arrive pas à trouver ce fameux Disk NG 4. J'ai le 1 et 2 seulement.
Voici la version "Natsume-Net" patchée par SHEMP :
https://1fichier.com/?inx1ifso9x <- Mauvaise version à priori.
Edité par
GDX
Le 09/09/2015 à 09h19
Je n'arrive pas à trouver ce fameux Disk NG 4. J'ai le 1 et 2 seulement.
Voici la version "Natsume-Net" patchée par SHEMP :
J'ai testé ta version vite fait. Elle semble bien fonctionner et accepte de charger un programme par la syntaxe SHEM NOM-PROGRAMME même si le fichier est trop gros. Faudra plus de tests pour en être sûr.
J'ai noté une différence au niveau d'un text. Ta version a "Block Print Out" alors que la v1.23 a "Block Print Out [+SHIFT]". Pourquoi ?
Je trouve que c'est une bonne idée de la numéroter v1.24 quand elle sera prête. Pourrais-tu aussi à cette occasion remplacer le mot "Page" qu'il y a à l'adresse 05DBh par "Bank" car il ne s'agit pas de pages mais des 4 plages mémoire. Les numéros de page sont indiqués à "Mem".
J'ai une doc en français si tu veux que j'ai complétée dernièrement et que je peux adapter à ta version. Edité par GDX Le 09/09/2015 à 09h23
J'ai noté une différence au niveau d'un text. Ta version a "Block Print Out" alors que la v1.23 a "Block Print Out [+SHIFT]". Pourquoi ?
sylvain :
Si c'est OK il faudra estampiller cette version 1.24 !?
Je trouve que c'est une bonne idée de la numéroter v1.24 quand elle sera prête. Pourrais-tu aussi à cette occasion remplacer le mot "Page" qu'il y a à l'adresse 05DBh par "Bank" car il ne s'agit pas de pages mais des 4 plages mémoire. Les numéros de page sont indiqués à "Mem".
J'ai une doc en français si tu veux que j'ai complétée dernièrement et que je peux adapter à ta version. Edité par GDX Le 09/09/2015 à 09h23
Visiteur
Vagabond
Message : 0
Jipe :
en fait d'aprés mon test sur SP j'utilise la même version 123 buggée que toi
ma version accepte de charger le programme par la syntaxe SHEM NOM-PROGRAMME
ma version accepte de charger le programme par la syntaxe SHEM NOM-PROGRAMME
C'est normal, il n'y a que ma version corrigée qui n'a plus le problème sur LD (ad),SP
Je n'arrive pas à comprendre ce que cela fait de charger un programme. Par exemple pour un .BIN qui commence par un entête FE/debut/fin/lancement je ne retrouve pas ce fichier à l'adresse début, que ce soit en indiquant le fichier en paramètre ou en le chargeant par CTRL+L, et ce avec les 2 version de SHEM123 que j'ai.
Visiteur
Vagabond
Message : 0
J'ai pris en compte ta remarque sur Page=>Bank et fait quelques autres corrections de texte (secter=>sector). Voici donc la version SHEM 1.24 pour des tests plus complets.
Je veux bien la doc, vu que je n'ai jamais utilisé l'outil jusqu'à présent
Ensuite, on pourra mettre tout ça dans les outils du village ?!
Je veux bien la doc, vu que je n'ai jamais utilisé l'outil jusqu'à présent
Ensuite, on pourra mettre tout ça dans les outils du village ?!
il y a un autre bug mais uniquement avec les claviers européens
les fonctions
CTRL < In Port et CTRL > Out Port
CTRL ( Secter Read et CTRL ) Secter Write
ne fonctionnent pas
sur un Wavy 70 et un Turbo-R aucun probléme
les fonctions
CTRL < In Port et CTRL > Out Port
CTRL ( Secter Read et CTRL ) Secter Write
ne fonctionnent pas
sur un Wavy 70 et un Turbo-R aucun probléme
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie