MSX Village forum

Affichage Public SHEM a un bug !

GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 31/08/2015 à 14h22
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
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10720

Le 31/08/2015 à 14h32
en effet ça bug

il faut aussi faire ENTER pour valider la ligne de code avant de presser ESC

sinon le code n'est pas pris en compte

ceci dit tu as raison pour le reste :)


:noel
Site web    
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 07/09/2015 à 09h14
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 :D

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

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/09/2015 à 14h09
@Sylvain: Il est temps que je te présente Marjorie Poulet!

Va directement à 3 minutes lol



Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 08/09/2015 à 01h37
Merci pour cette modif Sylvain. :glass

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

Rang

Avatar

Message : 0

Le 08/09/2015 à 09h17
@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 :hum

@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 !?
   
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 08/09/2015 à 10h05
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 ?
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 08/09/2015 à 10h24
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.

Code ASM :
 
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
 
Edité par Visiteur Le 08/09/2015 à 10h46
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 08/09/2015 à 13h55
C'est compliqué toutes ces versions de SHEM.
Le mieux c'est de déterminer quelle version est la plus avancée et je fais la correction dessus (si celle que j'ai utilisée n'est pas celle-ci).
   
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 08/09/2015 à 15h33
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. :hum Edité par GDX Le 09/09/2015 à 09h19
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10720

Le 08/09/2015 à 17h40
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


:noel
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 09/09/2015 à 09h10
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 ? :hum



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

Rang

Avatar

Message : 0

Le 09/09/2015 à 09h26
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




C'est normal, il n'y a que ma version corrigée qui n'a plus le problème sur LD (ad),SP :p

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

Rang

Avatar

Message : 0

Le 09/09/2015 à 11h40
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 :p

Ensuite, on pourra mettre tout ça dans les outils du village ?!
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10720

Le 09/09/2015 à 17h30
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


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie