[exelvision] utilitaire pc2des, exemples

Couvre tous les domaines de l'émulation ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Avatar du membre
gilles
Messages : 2143
Enregistré le : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [exelvision] utilitaire pc2des, exemples

Message par gilles » 22 avr. 2012 15:58

on peut avoir une réponse simple à la question des 122 octets par ligne:
"c'est parceque l'outil est prévu pour le mode mixte graphique/alpha numérique"

Les jeux utilisent plus souvent le mode mixte pour pouvoir afficher simplement et rapidement des infos texte (score, menus...)

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 22 avr. 2012 17:48

Merci à tous, tout le reste de la version Pic2des pour Linux tourne, en une semaine je suis content, reste à boucler l'encodage .DES.
Image

Fabrice Montupet

Re: [exelvision] utilitaire pc2des, exemples

Message par Fabrice Montupet » 22 avr. 2012 17:54

Cool :)

Avatar du membre
6502man
Messages : 10167
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [exelvision] utilitaire pc2des, exemples

Message par 6502man » 22 avr. 2012 18:23

Super, félicitations.

Une applications de plus pour EXELVISION :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 22 avr. 2012 20:09

Merci à vous, on dira plutôt une application de plus autour de l'EXL ! :mrgreen:

jester
Messages : 2271
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester » 23 avr. 2012 11:30

Il est portable ton code ? ou c'est du 100% linux ?

Le Format DES est suffisant en pratique. Je m'étais cassé le cul à faire des routines de compression/décompression, mais à l'usage c'est difficile à utiliser sur cartouche (une image même compressée prend beaucoup de place), à l'intérêt limité sur disquette (on met beaucoup plus d'image mais la décompression ralentit plus l'affichage que l'image de 32ko), si on arrive à greffer une SDcard la taille d'une image n'a aucune importance... c'était un peu utile pour le port K7.
Il faut quand même, je pense, ajouter la taille de l'image comme entête au fichier sur 2 octets.

Et pour info l'Exeltel possède un mode en monochrome N&B de 640x250, et il ne faut pas conserver le ratio: l'image doit être tout aplatie sur PC car la taille des pixels étant 2xplus haute que large sur Exl dans ce mode.

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 23 avr. 2012 14:58

Oui, le code est portable : je n'utilise que les fonctions basiques de Gtk 2.16+, et le runtime d'imagemagick, donc c'est transposable sur PC Windows et probablement MacOS.
Pour les images Exl je me limite à l'EXL 100, car c'est la machine réelle dont je dispose, qui plus est en version de base. :(
Dis-moi si cela te semble choquant, toi qui a l'expérience de cela (cf. la page d'accueil de Sokoban) si cela pose problème de m'être limité à des images 320x200 (pour laisser un peu de marge à un Exl 100, en ne bouffant pas toute la Vram, avec l'espoir de l'utiliser pour fournir du code qui serait recopiée dans la zone d'adressage du 7020 et ainsi exécuter du code machine sur la version de base)

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 23 avr. 2012 15:00

J'ai une autre idée : quelqu'un a-t-il essayé d'utiliser un enregistreur numérique "moderne" (1995 - :lol: ) style DCC ou MD : la vitesse de chargement serait la même que pour les cassettes, MAIS avec la possibilité d'un accès direct à une plage ...

jester
Messages : 2271
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester » 23 avr. 2012 15:41

Pour la taille 320x200 c'est la bonne taille car en zoomant sur un LCD moderne tu as une image en 16/9 :mrgreen:
Sérieusement c'est la bonne taille pour laisser un peu d'espace en VRAM... mais de la à recopier des portions de codes de la VRAM vers la SRAM, ça peut marcher si tu as juste une page de présentation et que tu travailles ensuite en mode texte... et encore, que veux-tu faire avec moins de 2ko de RAM... sans compter la lenteur du 7020 pour faire les mouvements VRAM->SRAM + maintien des variables du programme.
Si tu veux t'amuser il faut au moins une exelmémoire sinon c'est la de pure prise de tête ! ou Attendre la carte d'extension d'irios
Le système dont tu parles été utilisé dans le jeu VEGAX4 qui utilise le Basic uniquement pour injecter du code machine en SRAM.

Pour info l'image d'intro de Sokoban est compressée et le reste du jeu est en mode texte. Mon compresseur réduit en moyenne une image de moitié... sauf pour les images complexes issues de photo. (L'image de Sokoban fait 5.37ko).

Si tu veux mes APIs pour ne pas avoir à tout réécrire et si tu veux des outils pour simplifier le cross-développement, n'hésite pas...

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 23 avr. 2012 17:07

Je te remercie pour les outils, je les ai déjà téléchargés. Hier j'ai relu du code machine 7020, déjà la lecture gauche droite des instructions me faisait un drôle d'effet. Je ne me sens pas capable de me lancer dans un projet perso en assembleur, mais comme dit par ailleurs, à ta dispo pour un coup de main sur projet de jeu !

jester
Messages : 2271
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester » 23 avr. 2012 17:15

Pas sur que les outils et les APis dispo chez Daniel soit les dernières (comprendre j'ai trouvé pas mal de bugs depuis :D ).

ça serait pas mal effectivement de faire une équipes de 2/3 personnes et pas 2/3 équipes de 1personne.

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 23 avr. 2012 19:50

Excellent proverbe !
Donc pense à moi quand tu te lanceras. Que penses-tu des exemples Oric que j'ai signalés ?

Avatar du membre
6502man
Messages : 10167
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [exelvision] utilitaire pc2des, exemples

Message par 6502man » 23 avr. 2012 22:53

Quel exemples Oric ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.

kevlar
Messages : 73
Enregistré le : 13 avr. 2012 11:44

Re: [exelvision] utilitaire pc2des, exemples

Message par kevlar » 24 avr. 2012 11:09

6502man a écrit :Quel exemples Oric ?
ici :http://space1999.defence-force.org/

En passant : j'ai regardé avec un éditeur Hexa la structure des fichiers .DES, j'ai constaté en fait que les deux octets surnuméraires (#00 #78) sont en début de ligne, je ne me trompe pas ?
Pourrais-tu, STP m'expliquer la logique de l'en-tête ?
séquence : #FD #00 #00 #C8 // #C8 correspond à 200 lignes ?????
Puis un bloc d'octets de contrôle #00 #78
Puis toute une séquence de #00 avant d'arriver au vrai dump de mémoire.

Des explications sur cette logique me feraient sacrément plaisir :mrgreen: :mrgreen: :mrgreen:

jester
Messages : 2271
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: [exelvision] utilitaire pc2des, exemples

Message par jester » 24 avr. 2012 11:41

Tu confonds le format DES et l'encapsulation dans un fichier ExelDos pour générer une disquette.

Il faut savoir que les fichiers DES généré par nos outils sont des fichiers au format EXELDOS et il possède donc un entête EXLDOS qui indique le type de fichier, le nombre d'enregistrement, puis le contenu du fichier (c'est à dire le nombre d'enregistrement).
La première AU (unité logique d'allocation) décrit le fichier, la taille d'une AU fait 256 octets.
$FD c'est l'identificateur d'une AU (unité logique d'écriture)
$00 c'est le flag de fichier (ici non protégé, de type séquentiel)
$00C8 c'est le nombre d'enregistrement (200 lignes => 1 enregistrement par ligne)
$0078 longueur max des enregistrements en mode séquentiel (ici 120 octets = taille d'une ligne)
Ensuite tu trouves les octets de remplissage à zero (pour avoir une taille d'AU à 256octets). Cette zone sera modifiée par dcexeldisk pour indiquer comment se décompose le fichier sur les différentes AU.
Enfin la suite des enregistrements qui ont tous la même tête:
$0078 la taille de l'enregistrement
... et les 120octets d'une ligne (3 octets B V R pour chaque bloc de 8 pixels, soit 320 pixels)

Donc ce que tu analyses est la structure du fichier contenant les données DES mais pas le format DES. Le format binaire DES est un non format, c'est juste le dump mémoire de chaque ligne de la VRAM, soit 24ko pour du 320x200.

On a développé des outils pour encapsuler nos binaires dans le support de destination K7, cartouche, disquette... et même une API pour relire des fichiers ExelDos à la mode C (open, read, write, close) pour s'affranchir du mode par enregistrement assez pénible dans un usage courant.

Pour comprendre le format ExelDos il faut aller voir à partir de la page 199 du manuel ExelDos et pour comprend un peu l'architecture Exlevision il faut se taper le bouquin Promgrammer en Assembleur sur Exelvision, et après le TMS7000 Familly data Manual, et pour achever le tout TMS3556 Video Display Processor (et le ça fait mal, mais 1/4 à peine est utile pour Exelvision).

Et le prochain qui me dit qu'il veut juste programmer avec ExelBasic je lui coupe les couilles :twisted:

Voila voila.

Répondre