dev EXL 100

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

J'ai remis à jour le DevKit et il est maintenant sous forme de répertoire (plus simple pour les updates).
Le programme pcx2jif fonctionne enfin => gain moyen de 25% sur le format PCX !!!
Vous trouverez des exemples dans le répertoire bitmaps...

Quel est le format de la compression... je vous laisse regarder les sources pour l'en-tête. Pour les données elles mêmes c'est simple, voici l'algo de décompression:

Lecture Octet V
si bit 7 (poids fort) est à 0 alors (le reste de V contient la répétition + la valeur)
rept = ((bits 3 à 6) + 1) * 8 (Donc de 1 à 128 répétition du pixel)
couleur pixel = bit 0 à 2 (donc une couleur de 0 à 7)
sinon
Nb groupes de 3 octets = (bits 0 à 6) +1 (donc 128 groupes de 3 octets - 8 pixels - non compressés)
On lit ensuite Nb groupes de 3 octets (organisé comme en VRAM: B G R B G R etc..)
fsi

Et pis c'est tout... 6502man tu as de quoi t'amuser :) ... et puis aussi l'ami Happyleptic qui après avoir initié un sujet a complètement disparu, sans doute est-il en train de finaliser son compilateur GNU C++ pour Exl100... ou bien d'afficher Print Bonjour en assembleur :roll:
Au programme pour les semaines qui viennent: un chargeur d'image sur K7 et sur disquette pour montrer que c'est possible. Malheureusement très occupé je serais... donc la patience sera de mise.

Les outils ne resteront cependant pas dans l'état car je les trouve peu pratique finalement à l'usage. Je vais les fusionner en 2 outils:
- OBJ2EXL qui pourra traduire un binaire exécutable en fichier EXELDOS (pour la commande EXEC), fichier K7 (pour le loader Basic), fichier Basic (à charger via le simulateur clavier). Chaque format possèdera le même entête. On pourra très simplement généré des supports différents avec le même fichier objet.
- BIN2EXL qui traduira un binaire quelconque (image, son, texte, ou autres) possédant ou non un entête en un fichier Exeldos, K7 ou Basic exploitable uniquement par le programme capable de comprendre l'entête/binaire.
- A cela s'ajoutera PCX2JIF dans une forme simplifiée (BIN2EXl fournira les changements de format).
- et il faut que je bidouille le désassembler de Daniel.

Pour les outils suivants je pense à :
- un outil pour traduire un fichier non binaire sous forme d'une suite d'enregistrements pour disquette/K7. C'est pas encore très clair.
- commencer doucement quelques API très simples
- réfléchir au mode texte: format et compression d'un écran en mode texte, format et outil de conversion pour sprites en mode texte, etc.
- tester un peu les possibilités de faire de la Zik sous interruption
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

Parce que c'est très utile, Voici un petit désassembler 7020 Exelvision à partir des sources gentiment données par Daniel:
- il marche en mode console
- il affiche LVDP au lieu du SWAP et WVDP au lieu de MOVP ?, P46
- il permet de replacer l'adressage à partir d'une adresse (relocation)
- il permet de désassembler une zone précise

Usage: desasm7020 source [AdrReloc] [AdrDebut AdrFin]
Adreloc est en option sauf si AdrDebut, AdrFin sont précisées
le couple AdrDebut et AdrFin est en option

Exemple: desasm7020 basic.rom 0x0200 0x0250 0
désassemble le fichier basic.rom (binaire de la cartouche BASIC) en considérant une relocation en 0x0200, en commençant à partir de l'adresse 0x0250 et jusqu'à la fin (AdrDebut=0 => début fichier, AdrFin=0 => fin du fichier)
A noter qu'il est préférable de coller les zones de DATA au début et à la fin, mais pas en plein milieu comme sur la cartouche BASIC !

Encore Merci Daniel pour les sources... j'espère que tu acceptes les quelques modifs dans le code :mrgreen:
En ayant vu quelques portions de code de Daniel, je peux affirmer que cet individu code comme il respire. Je n'ose imaginer la beauté de DcExel...
Dernière modification par jester le 03 nov. 2009 21:22, modifié 1 fois.
Daniel
Messages : 17412
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: dev EXL 100

Message par Daniel »

jester a écrit :Je n'ose imaginer la beauté de DcExel...
Mieux vaut imaginer, car en réalité dcexel n'est pas encore très propre. Mais ça viendra, et alors je diffuserai les sources :wink:

J'ai programmé mon premier désassembleur 6809 en 1984, en Basic MO5. Depuis je n'arrête pas de le refaire, dans tous les languages et sur toutes les plateformes. J'ai au moins douze versions, et 25 ans d'expérience. Le tms7000 est beaucoup plus simple, j'ai mis moins d'une journée pour l'écrire :D

Bien sûr, si j'ai donné les sources, c'est pour qu'elles soient utilisées et améliorées, il ne faut pas hésiter :!:
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17495
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: dev EXL 100

Message par fneck »

jester a écrit :En ayant vu quelques portions de code de Daniel, je peux affirmer que cet individu code comme il respire. Je n'ose imaginer la beauté de DcExel...
Si vous avez le courage de remonter dans les premiers posts qui parlent du développement de DCExel, je vous avais assuré alors qu'à partir du moment où Daniel avait décidé de faire cet émulateur, il existerait bel et bien, documentation disponible ou pas... :D
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
gatesbillou
Messages : 128
Inscription : 31 juil. 2008 14:02
Localisation : la cadiere d'azur - var (83)

Re: dev EXL 100

Message par gatesbillou »

Daniel a écrit :Mais ça viendra, et alors je diffuserai les sources
Alors ca c'est très très bien , très bonne idée , c'est courageux et intelligent.

PS : Jester , tu pourrais pas nous mettre son message sur le forum qu'on puisse le lire ? (Puis ouais , il est sympa on dirait ,j'pense qu'il répondra aux questions techniques sans problème).
A+
ps2 : Daniel je termine la scan du "guide de l'exeltel" ce week end.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

Tu réponds sur le mauvais topic gatesbillou... tu veux parler de la réponse de JC Repetto ? Et bien non je ne mettrais pas le message car je ne mets pas mes mails sur un forum. Désolé. Comme je disais ce n'est pas une interview...
Je vous ai remonté toutes les infos obtenues. L'homme est sympa mais c'est loin et il ne peut pas répondre aux questions techniques très précises... 25ans quand même les enfants...
Maintenant je vais remercier le monsieur et le laisser tranquille.

Pour obtenir des réponses techniques j'ai d'autres contact mais Fabrice a sans nul doute les mêmes, donc il n'est pas question d'harceler les gens. :mrgreen:

Envoyez-moi vos questions techniques en MP, je ferais passer lorsque je contacterais une autre personne.
Fabrice Montupet

Re: dev EXL 100

Message par Fabrice Montupet »

jester a écrit :Tu réponds sur le mauvais topic gatesbillou... tu veux parler de la réponse de JC Repetto ? Et bien non je ne mettrais pas le message car je ne mets pas mes mails sur un forum. Désolé.
Tu as bien raison. C'est clair qu'un message à destination privée ne se balance pas sur le net, aux yeux de tous. Cela n'est pas correct.
jester a écrit : donc il n'est pas question d'harceler les gens. :mrgreen:
Je te rejoins également sur ce point. Mon problème est aussi là: J'ai envoyé un nombre de messages important à des acteurs d'Exelvision et je patiente ensuite pour les réponses. Je fais des relances qu'après un bon moment resté sans réponse car je ne désire surtout pas gêner les destinataires que j'imagine occupés, préoccupés par des sujets bien plus importants. C'est un sacré jeu de patience... parfois même déroutant quand les réponses tardent vraiment à venir.
gatesbillou
Messages : 128
Inscription : 31 juil. 2008 14:02
Localisation : la cadiere d'azur - var (83)

Re: dev EXL 100

Message par gatesbillou »

Je ne vais pas rentrer dans le jeu de la polémique , je considérai juste qu'un email technique dont le contenue était dévoilé n'était pas comme un email intime, sinon je ne me serai pas permis .

Pour ce qui est de harceler le gens , il est claire que si personne ne centralise les demandes et ne diffuse les réponses , il risque d'y avoir des doublons , et dans ce cas , ca risque d'être genant en effet.

A+ les amis. :wink:
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

Ce n'est pas un mail entre deux collègues qui travaillent sur le même projet... je me vois mal demander "Attention tout ce que vous direz sera recopié sur un forum publique".
J'ai donné tout le contenu "technique" du mail... et je peux vous affirmer que du coté de JC Repetto c'est mort, il ne dort pas depuis 25ans avec un classeur Exelvision sur sa table de nuit !
Mais il pourra peut être aider s'il retrouve des documentations intéressantes dans ses cartons... ou pas.

Je répète donc que si vous avez des questions techniques bien précises, MP les moi... je ne garderais pas la réponse pour moi :lol: De toute manière je n'attaque pas avec ces questions, je demande déjà "Ascusez moi missieur, asque vous pivez répondre à questions techniques, ascusi moi!"
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: dev EXL 100

Message par 6502man »

Sacré boulot Jester, felicitation.

Par contre je n'ai pas trouver de visionneur pour exelvision des fichiers compressés en jif ???
Et pis c'est tout... 6502man tu as de quoi t'amuser :) ...
Que veut tu dires ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

La visionneuse est à venir car
1) je dois retravailler mon format K7... et donc les outils !
2) le faire pour ExelDos est long et chiant car il faut filtrer tous les fichiers JIF du catalogue et ensuite les parcourir... j'aimerais une petite API pour écrire les choses un fois proprement.

Mais je promets une petite démo très basique pour visionner des images...

Sinon tu peux t'amuser avec les convertisseurs et même intégrer mon format de compression dans ton outil pour les images :D
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: dev EXL 100

Message par 6502man »

jester a écrit :Sinon tu peux t'amuser avec les convertisseurs et même intégrer mon format de compression dans ton outil pour les images :D
Je l'integrerais pour une prochaine version, mais d'abord je voudrais pouvoir les decompresser sur exelvision.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

En attendant j'ai amélioré un peu l'affichage du désassembleur: Il affiche maintenant les labels TEMP1, TEMP2, PTRSON, etc. à la place des valeurs de registres utilisées par les fonctions systèmes.
Pour le coup ça rend très lisible les programmes en ayant la doc sous les yeux, on peut interpréter les paramètres des TRAP très facilement.

Si vous avez des idées/demandes pour améliorer ce désassembleur ou bien d'autres outils, je suis à l'écoute...
J'aimerais bien construire un Eclipse pour développement Exelvision, mais le temps de développement d'une usine à gaz pour développer risque d'être très long... je vais donc rester sur des petits outils consoles à insérer dans un éditeur avancé (comme UltraEdit ou autres).
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: dev EXL 100

Message par jester »

En attendant mieux voici deux archives avec un programme pour afficher des images stockées sur K7:
1) demo1.zip
- Chargeur d'image couleur de n'importe qu'elle résolution jusqu'à 320x250
- Centrage automatique de l'image
- Compatible Exl100 et Exeltel
- Affichage optimisée pour Exeltel
- les images sont compressées
- la routine de décompression est réutilisable (décodage ligne par ligne)
- Affichage de message en mode graphique (c'est pas du mode mixte)
- contrôle des fichiers

2) demo2.zip
- Chargeur d'image monochrome de n'importe qu'elle résolution jusqu'à 640x250
- Centrage automatique de l'image
- Compatible Exeltel
- les images sont compressées
- la routine de décompression est réutilisable (décodage ligne par ligne)
- Affichage de message en mode graphique
- contrôle des fichiers

J'ai ajouté des fichiers images au format K7 et les sources (pour les curieux).
Pour utiliser les fichiers .K7 sur une vraie machine, il faut l'outil de Daniel disponible sur sont site qui traduit en Wav.
Les programmes à exécuter sont les fichiers demoX.k7 : il suffit de taper RUN"1" sur ExelBasic+ (ou LOAD"1" + RUN)
Sur la vraie machine on lance la lecture du fichier après avoir pressé la touche ESC.
Sur DcExel il ne faut pas oublier de charger les fichiers K7 au fur et à mesure.

Vous me direz si il y a des bugs...

PS: les liens sont temporaires.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17495
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: dev EXL 100

Message par fneck »

Sympa de visualiser ces images, je me replace à l'époque ça nous aurait fait rêver autant de puissance... :roll:

Je ne sais pas s'il s'agit d'un problème de l"émulateur, de la démo ou de l'utilisateur, mais après avoir utilisé le programme, chargé plusieurs images et fait un init (ESC) je n'arrive plus à charger la démo, je suis obligé de quitter puis relancer l'émulateur....

Et oui, j'ai bien changé la cassette via le menu :D
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Répondre