Disquette d'image de cartouches

Tout sur le micro français le plus ambitieux mais si malchanceux

Modérateur : Politburo

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 21 avr. 2009 21:39

jester a écrit :Mais Fabrice nous fabrique une extension 4Go pour les infothicaires + un contrôleur SATA/USB.
N'exagérons rien :lol: :lol:

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 22 avr. 2009 18:23

jester a écrit : Il faudrait juste tester sur la vraie machine si un branchement à l'adresse présumée de début de programme fonctionne: Sous le BASIC tu peux faire un CALL EXEC(40844) pour tester CB5QUAD et CALL EXEC(32784) pour tester QUIZZY. ça marche très bien de cette manière... donc c'est peut être juste lié à un problème d'exécution via l'outil de mise au point de l'émulateur.
Pour Quizzy, pas vu de différence (identique à la ROM cartouche): il y a surement une page d'explication dans le langage EXLQUAD (mais pas dans le code du jeu).

Si tu as d'autres programme plus intéressant, il sera donc facile de les lancer sans EXELQUAD. Tu trouveras l'adresse de la première instruction en BFFD normalement (au moins pour les jeux, je rentrerais pas dans les détails): il faut ajouter +1 pour avoir l'adresse exacte.
Sur l'EXL100 physique les deux programmes fonctionnent en utilisant ces adresses.
De manière plus générale, on peut éviter d'aller récupérer l'adresse en faisant un simple CALL EXEC(32768), l'adresse >8000 étant le début de la plage des 16Ko de la CRAM. C'est une solution plutôt cavalière mais elle est rapide et fonctionne sur tous les jeux en .BKP :) ... mais pas sur le programme IMAGIX (faisant usage du DOS) que je dispose sous ce format.
Par curiosité, j'ai voulu voir comme réagissait DCexel à ce traitement...aucun programme en .BKP fonctionne de la sorte: L'émulateur pose donc des problèmes. Par contre, en pointant sur l'adresse exacte du jeu, cela passe pour les deux/trois jeux que je viens d'essayr. Bien sûr, je les testerai tous plus tard pour m'assurer du plein fonctionnement.

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 22 avr. 2009 18:57

IMAGIX ça doit être un problème de pagination, comme tu lances une commande à partir de la ROM (BASIC) la RAM exeldisk est inaccessible, alors qu'ExelQuad doit fixer la pagination par défaut sur la RAM exeldisk => on pointe donc dans le décor (en ROM) lors d'appel aux instructions DOS pour la zone de travail. ça doit se résoudre facilement sans passer par le basic !

Je n'ai pas bien compris ce qui ne marche pas avec l'émulateur: la CALL (32768) ?
C'est intéressant car cela pourrait expliquer les corruptions entre exeldisk et exelmémoire. Si tu as un moment l'exeldos 1.5 serait vraiment vital pour circonscrire le bug.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 22 avr. 2009 20:48

jester a écrit :IMAGIX ça doit être un problème de pagination, comme tu lances une commande à partir de la ROM (BASIC) la RAM exeldisk est inaccessible, alors qu'ExelQuad doit fixer la pagination par défaut sur la RAM exeldisk => on pointe donc dans le décor (en ROM) lors d'appel aux instructions DOS pour la zone de travail. ça doit se résoudre facilement sans passer par le basic !
J'ai également pensé à un conflit avec la ROM Exelbasic. Je vais tenter une autre approche :)
jester a écrit :Je n'ai pas bien compris ce qui ne marche pas avec l'émulateur: la CALL (32768) ?
Aucun des jeux en .BKP stocké en CRAM ne fonctionne par cet appel alors qu'ils fonctionnent tous sans problème sur un EXL100 physique.
jester a écrit : C'est intéressant car cela pourrait expliquer les corruptions entre exeldisk et exelmémoire. Si tu as un moment l'exeldos 1.5 serait vraiment vital pour circonscrire le bug.
Je ne pense pas que ceci explique cela. Il est curieux de voir souvent pointées ces différences de versions pour expliquer des bugs de l'émulateur. En fait, je pense que ce sentiment vient du fait que des problèmes existaient (vraiment) avec les versions antérieures et sur l'EXL135. J'en ai fait la douloureuse expérience à l'époque :(
Comme je l'ai écrit à quelques reprises, le fait de faire fonctionner une Exeldisk en ROM 1.5 avec un DOS 1.4 ne pose pas de problème. D'ailleurs ma disquette DOS 1.5 ne contenant que très peu de commandes DOS, je ne m'en sert que très rarement et préfère utiliser la version 1.4 qui a l'avantage d'être complète; Et cela fait tellement d'années que je travaille ainsi que s'il y avait, à procéder ainsi, tous les problèmes de fonctionnement que les utilisateurs de l'émulateur rencontrent, cela m'aurait marqué. Donc pas de soucis du côté des versions :) Pour preuve (j'en avait donné une autre, il y a peu de temps, sur le forum de Fabien): mes derniers tests de fonctionnement des jeux .BKP échouent tous avec l'émulateur et un CALL EXEC(32768) alors qu'ils sont tous OK avec l'EXL100 que j'utilise actuellement qui se trouve être dans la même configuration que l'émulateur, à la version de DOS/ROM près.

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 22 avr. 2009 21:31

De toute manière j'ai rencontré de nombreux problèmes avec l'exelmémoire dans DCEXEL... la gestion de ce support semble très fragile. Il faut croiser les doigts à chaque écriture sur le support... et une copie de fichiers de l'exelmémoire sur l'exeldisk (ou le contraire) résulte automatiquement dans la corruption d'un des deux supports... sympa !
Daniel a beau dire que ça marche... en langage scientifique je dirais qu'il y a une couille. Daniel corrige très vite les bugs mais il faut lui prouver que le problème est réel et que ça vient de son émulateur... et l'exeldos 1.5 est un passage incontournable pour cela.
Le seul moyen de développer des trucs sur EXL, c'est à travers l'émulateur (sinon c'est trop pénible)... ce bug dans la gestion mémoire est assez critique (plus que le VDP ou le 7041)... d'où mon assistance sur ce point.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 22 avr. 2009 22:55

jester a écrit :De toute manière j'ai rencontré de nombreux problèmes avec l'exelmémoire dans DCEXEL... la gestion de ce support semble très fragile. Il faut croiser les doigts à chaque écriture sur le support... et une copie de fichiers de l'exelmémoire sur l'exeldisk (ou le contraire) résulte automatiquement dans la corruption d'un des deux supports... sympa !
Oui, cela doit être assez pénible :(
jester a écrit : Daniel a beau dire que ça marche... en langage scientifique je dirais qu'il y a une couille. Daniel corrige très vite les bugs mais il faut lui prouver que le problème est réel et que ça vient de son émulateur...
Le problème est réel c'est indéniable et je n'ai rien à prouver à Daniel, qui est libre d'ignorer mes retours d'information.
jester a écrit : Ce bug dans la gestion mémoire est assez critique (plus que le VDP ou le 7041)...
C'est clair. Cela dit, le 7041 renferme bien des secrets dont l'importance n'est pas des moindre.

Hop! Je viens d'uploader un nouveau jeu au format .BKP. Il s'agit de "Descente Alberville 92" des Editions Parallèles :D
Accessible directement sur le site : http://www.ti99.com/exelvision/website/ ... -de-medias

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 22 avr. 2009 23:20

Il y a du son ? sur l'émulateur il y a des parasites en fond (bloc bloc... blouc... bloc) sans interruption.
Le jeu est-il rapide ? c'est d'une lenteur atroce (moins rapide qu'un programme en BASIC) sur l'émulateur...

Et ça plante avant la fin (programme gelé !).

(j'ai lancé sur l'adresse >8000)

Avatar de l’utilisateur
balou
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2821
Inscription : 03 févr. 2004 00:01
Localisation : Macon Saone et Loire

Message par balou » 22 avr. 2009 23:45

En tout cas ce travail d'émulation est une sacrée performance depuis le temps que tout le monde attendait ça.
Jean-Yves votre VG5000 n'est pas fragile...

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 23 avr. 2009 00:05

jester a écrit :Il y a du son ? sur l'émulateur il y a des parasites en fond (bloc bloc... blouc... bloc) sans interruption.
Le jeu est-il rapide ? c'est d'une lenteur atroce (moins rapide qu'un programme en BASIC) sur l'émulateur...

Et ça plante avant la fin (programme gelé !).

(j'ai lancé sur l'adresse >8000)
Oui, sur EXL100, il y a une musique aussi bien pendant la page d'accueil que pendant le déroulement de l'épreuve. Le jeu est d'une rapidité normale et aucun crash constaté pendant et après l'épreuve. Je n'ai pas décortiqué le jeu, cela dit la musique pourrait bien venir du port K7 (en jouant avec le bit 3 du port et le Timer du CPU) plutôt que du TMS5220. Cela permettrait d'ailleurs de pouvoir voir cette fonction implémentée sur l'émulateur. D'après ce que j'ai pu lire, Daniel n'avait pas d'exemple de logiciel exploitant le port K7. Cela dit, j'avais proposé voila un bout de temps un programme développé par les créateur d'EXL100 qui montrait comment se servir du port K7 pour faire de la musique, mais apparemment cela ne l'avait pas intéressé...

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 23 avr. 2009 09:38

La gestion du son sur port K7 est implanté depuis 2 versions sur l'émulateur... ça marche dans toutes les applications (BASIC et jeux assembleurs).

Le problème doit être ailleurs.
Je vais faire remonter les bugs identifiés avec des éléments sur system-cfg. Nous avons surement derrière tout ça un truc nouveau qui nous échappe.

Par contre ce qui est incompréhensible c'est qu'un CALL(32768) fonctionne... si je regarde le contenu de la mémoire à cet endroit j'y vois des instructions incohérentes dont des trap 0... je ne comprends pas comment ça peut marcher sur une vraie machine ??????? Ou bien la présence de la cartouche exelQUAD/exelTEL (avec son électronique supplémentaire modifie le comportement de l'engin)... je ne sais pas si elle étais connecté lors de tes tests. Seul le jeu de ski possède une vraie instruction de branchement en 32768.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 23 avr. 2009 12:13

jester a écrit :La gestion du son sur port K7 est implanté depuis 2 versions sur l'émulateur... ça marche dans toutes les applications (BASIC et jeux assembleurs).
Il se peut que des avancées de l'émulateur m'échappent, il faut dire que je m'en sert très peu. Si cela fonctionne, c'est une bonne chose. Je viens en effet de le lire dans l'historique des mises à jour. Comme j'avais lu sur l'autre forum qu'il manquait matière à tester cette fonctionnalité, je me suis dit que la fonction n'était pas encore prête. Si elle fonctionne bien, le problème est ailleurs oui :)

jester a écrit :Par contre ce qui est incompréhensible c'est qu'un CALL(32768) fonctionne... si je regarde le contenu de la mémoire à cet endroit j'y vois des instructions incohérentes dont des trap 0... je ne comprends pas comment ça peut marcher sur une vraie machine ??????? Ou bien la présence de la cartouche exelQUAD/exelTEL (avec son électronique supplémentaire modifie le comportement de l'engin)... je ne sais pas si elle étais connecté lors de tes tests. Seul le jeu de ski possède une vraie instruction de branchement en 32768.
...Et pourtant, cela fonctionne :)
Ma cartouche Exeltel n'est utilisée que dans le cas où je désire lancer les programmes par Exelquad. Pour faire les CALL EXEC, seule la cartouche Exelbasic est insérée... puisque c'est le but de l'opération.

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 23 avr. 2009 12:23

Fabrice Montupet a écrit :Pour faire les CALL EXEC, seule la cartouche Exelbasic est insérée... puisque c'est le but de l'opération.
Oui effectivement... :lol:


Il faudrait vérifier les instructions qui sont en 32768 et après sur la cram sur un vrai EXL100... A moins que la CRAM soit sur AUTOSTART et le call exec fasse un reset, puis un lancement du programme en autostart sur la cram ???

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 23 avr. 2009 20:46

Tu as raison, ce n'était pas normal. Je viens de jeter un oeil à nouveau sur mes disquettes pour comprendre c'est bizarrerie et je viens de remarquer une chose importante, une chose qui change tout:
Dans un lot de disquettes récupéré chez la même personne, j'ai deux disquettes nommées respectivement "DISQUETTE JEUX TRAVAIL" et "DISQUETTE JEUX". Comme le contenu par la commande DIR renvoie les mêmes fichiers, j'ai pensé qu'il s'agissait d'une copie.... Malheur! Ce n'est pas le cas... C'est en jonglant avec les deux disquettes que j'ai compris: Si les noms des fichiers .BKP et leur programmes contenus sont les mêmes, le code de ces derniers ne l'est pas. Pour les CB5 et QUIZZY qui nous concernent, sur une disquette le code permet d'attaquer le jeu en >8000 ... et pas sur l'autre! J'ai l'impression que l'ancien propriété a modifié (ou récuperé tel quel) le code pour que les programmes conçus par Exelvision se lancent en >8000 évitant ainsi de se prendre la tête à chercher l'adresse de départ car ce sont les seuls à poser problème: tous les autres jeux conçus par des tiers eux se lancent en >8000 quelle que soit la disquette utilisée (pas de modification nécessaire pour eux donc). J'ai donc, à un moment donné, testé une disquette et uploadé le contenu de l'autre... Arf....Je n'aurais pas pensé une chose pareille. Maintenant, à chaque fois que je trouverai deux programmes du même nom sur deux disquettes différentes, je comparerai leur code :twisted:
Donc Jester, désolé de t'avoir fait creuser la tête :( , tu as vu juste et avais raison de ne pas comprendre!

Je viens d'uploader une autre épreuve (toujours au format .BKP) d'Alberville 92 des Editions Parallèles :)
Un jeu différent par épreuve! La capacité faible de 16Ko de la CRAM classique limitait bien la taille des jeux... :( Ah si Exelvision avait sorti plus tôt sa CRAM de 64Ko!!

jester
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 263
Inscription : 29 déc. 2008 18:30

Message par jester » 23 avr. 2009 21:36

Je me demande juste comment cette exelmémoire permettait de gérer la mémoire... sans doute par pages de 16ko (faut pas rêver !).

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11712
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 01 mai 2009 17:53

Une page dédiée aux travaux de Jester est en ligne:
http://www.ti99.com/exelvision/website/ ... -de-jester
Jester, encore merci et félicitations pour tes travaux! :D

Répondre

Revenir vers « Exelvision »