MSX Village forum

La Place des Développeurs FUSION-C Codez en C pour MSX les doigts dans le nez !

DarkNekros Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 27/01/2019 à 13h34

Messages: 61

Le 03/06/2019 à 13h45

Reprise du message précédent

ericb59 :

Le livre FUSION-C Complete Journey a été mis à jour et corrigé, est toujours disponible sur Amazon


Petite question à la con :

est-ce que tu penses faire un erratum pour ceux qui ont acheté la première édition du livre par Amazon ?
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 03/06/2019 à 14h20
DarkNekros :
ericb59 :

Le livre FUSION-C Complete Journey a été mis à jour et corrigé, est toujours disponible sur Amazon


Petite question à la con :

est-ce que tu penses faire un erratum pour ceux qui ont acheté la première édition du livre par Amazon ?


Non, car il n'y a pas de fausses informations dans la v1 du livre. Dans la V2 du livre il y a des corrections orthographiques et de syntaxes essentiellement.
Plus l'ajout des nouvelles fonctions.

Ces nouvelles fonctions tu les retrouves dans le PDF QUICK MANUAL fourni avec Fusion-C v1.1
D'autres corrections, comme certaines fonctions renommées, ou enlevées de la librairie sont indiquées dans le fichier "history.txt" du pack 1.1


banniere-ericb59e
Site web    
DarkNekros Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 27/01/2019 à 13h34

Messages: 61

Le 04/06/2019 à 01h40
ericb59 :
Non, car il n'y a pas de fausses informations dans la v1 du livre. Dans la V2 du livre il y a des corrections orthographiques et de syntaxes essentiellement.
Plus l'ajout des nouvelles fonctions.
Ces nouvelles fonctions tu les retrouves dans le PDF QUICK MANUAL fourni avec Fusion-C v1.1

Merci pour la réponse, mais je crois que je me suis mal exprimé quand j'ai dit : "faire un erratum". :\'(
En effet, je voulais dire si tu avais prévu faire un pdf qu'avec ces nouvelles fonctions pour pouvoir les imprimer et les "attacher" au livre et le reste de corrections le faire directement sur les pages du livre car imprimer (ou acheter) à nouveaux tout est un peu trop. :(

ericb59 :
D'autres corrections, comme certaines fonctions renommées, ou enlevées de la librairie sont indiquées dans le fichier "history.txt" du pack 1.1

Fichier très bien construit qui sers à voir les différences entre l'ancienne et la nouvelle version de la librairie :top
   
Monos Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 28/09/2018 à 17h10

Messages: 101

Le 11/06/2019 à 06h27
Coquille v1.1
Page 63 :
ReadMSXtype :
coquille : Manque un A avant le ND pour faire AND


Il faut donner à manger à nos machines !
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 11/06/2019 à 21h31
Monos :
Coquille v1.1
Page 63 :
ReadMSXtype :
coquille : Manque un A avant le ND pour faire AND


Scrogneugneu ! La prochaine fois tu me feras une relecture avant publication !! Monos : chercheur de coquilles :p


banniere-ericb59e
Site web    
Monos Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 28/09/2018 à 17h10

Messages: 101

Le 12/06/2019 à 04h53
C'est le monde à l'envers xd j'ai un français écrit catastrophique en plus !


Il faut donner à manger à nos machines !
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10444

Le 12/06/2019 à 08h36
bah AND c'est de l'anglais non ;)


:noel
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 08/07/2019 à 17h37
J'ai fait quelques tests avec Fusion-C, mais je n'arrive pas à utiliser correctement la fonction LMMM en screen 8.

Autant en assembleur j'avais réussi à bien utiliser correctement la commande LMMM du VDP, autant en C je ne vois pas pourquoi ca ne fonctionne pas !!!
En ASM j'avais fait ce petit programme de test : SCREEN8_ASM


La disquette de tests :
l'intérêt n'est pas dans la qualité des images ou la rapidité mais uniquement la manipulation des zones des 2 pages du screen 8.
SCREEN8_C
Ca fonctionne mais uniquement parceque je colle à partir de la ligne 255 en débordant sur la deuxième page !!!

Donc pour résumé ce que je n'arrive pas à faire :
images chargé sur la pages 0, visualisation de la page 1.
LMMM( X, Y, Largeur,hauteur, Dx, Dy, OP );

Si j'indique en Dy (destination Y) un chiffre >255 la copie ne vas pas sur la page 1 mais sur la page 0 ou n'apparait nulle part :(
J'ai aussi essayé avec une valeur >511 mais ca ne fonctionne pas mieux !


Donc est ce que quelqu'un à réussi à utiliser cette fonction en SCREEN 8 et copier des zones écrans entre les 2 pages ?







Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 08/07/2019 à 21h25
Hummmm Je crains que la fonctione LMMM ne fonctionne que jusqu'au screen5. J'ai pas du la réécrire en entier (un oublie ! ?)

Par contre utilise la fonction fLMMM
C'est la même chose, sauf que les coordonnées sont transmises par une structure.

Celle là fonctionne très bien en Screen8
les coordonnées y >=256 sont sur la seconde page de la Vram

Code C :
#include <stdio.h>
#include "fusion-c/header/vdp_graph2.h"
#include "fusion-c/header/msx_fusion.h"
MMMtask  t;   // Structure need for fLMMM
int main (void)
{
  Screen(8);
  SetActivePage(0);
  SetDisplayPage(0);
  Rect (0, 0, 255, 212, 11, 0xFF );  // Fill The page
  Rect (10, 10, 110, 40, 190, 0 );  // Draw a rectangle
 
    t.X = 10;       // Parameters to Copy rctangle to Page 1
    t.Y = 10; 
    t.DX = 101;  
    t.DY = 31;     
    t.X2 = 10; 
    t.Y2 = 356;           
    t.s0 = 0; 
    t.DI = 0; 
    t.LOP = 0;
    fLMMM(&t);        // Do it
  while (Inkey()!=27) /// Wait Push ESC key
  {}
  SetDisplayPage(1);  // Show page 1 
  while (Inkey()!=27) /// Wait Push ESC key
  {}
  Screen(0);
  return 0;
}
 
Edité par ericb59 Le 08/07/2019 à 21h26


banniere-ericb59e
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 08/07/2019 à 21h42
Merci effectivement ca fonctionne très bien avec fLMMM !

C'est quand même un peu dommage que LMMM soit bridée ;)

le principal c'est d'obtenir le résultat voulu, dans certains cas on peu utiliser l'ASM mais c'était vraiment dommage vu qu'il y a avait des fonctions spécifiques inclus dans ton Fusion-C .

Je continue mes tests ...


Edit:
J'avais une autre question : est ce qu'il y a une raison particulière de ne pas avoir implémenté la fonction YMMM du VDP qui est très pratique parce que plus rapide que LMMM pour déplacer des zones graphiques (surtout en screen 8 puisque 1 octet = 1 pixel) ?

Edité par 6502man Le 08/07/2019 à 21h46


Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 09/07/2019 à 09h04
Pour Fusion-c, je me suis largement inspiré et pompé sur les autres C existant. Une fonction du Type YMMM n'y était jamais définie, sans doute parce-qu’elle est plus spécifique vu que abscisse est toujours fixe. Donc ca ne m'est même pas venu à l'idée de l'intégrer.

J'ai encore du boulot sur Fusion-c. En tout cas je note déjà de revoir LMMM pour Screen8 et voir pour les autres routine graphiques du VDP.


banniere-ericb59e
Site web    
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 09/07/2019 à 11h25
Euh oups je voulais dires HMMM et non YMMM quoi que ca peut rendre service aussi dans certains cas (scrolling) ;)


Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 09/08/2019 à 10h10
Nouveautés de Fusion-C qui arrivent ...

La plus importante nouveauté concerne l'optimisation des routines graphiques, et l'ajout de toutes la plupart des routines VDP rapides.



Ici en video exemple. Le mode est le Screen 5.

- LMMV Fill : remplissage rapide d'un rectangle par le VDP

- LMMV Fill : remplissage rapide d'un rectangle par le VDP, avec possibilité d'opération logique

- YMMM copy : copy VRAM to VRAM d'un bloc d'image vers une autre position Y (le bloc n'est pas définissable entiérement il se continue vers la position x=255 ou X=0

- HMMM copy : copy VRAM to VRAM d'un bloc d'image vers une autre position X,Y

- LMMM copy : copy VRAM to VRAM d'un bloc d'image vers une autre position X,Y avec possibilité d'opération logique

- LMMC copy : HMCM + LMMC, copie le block d'image dans un buffer RAM (Possibilité d'une opération logique), puis on copie ce buffer vers la VRAM (Possibilité d'opération Logique)

- HMMC : HMCM + HMMC, copie le block d'image dans un buffer RAM (Possibilité d'une opération logique), puis on copie ce buffer vers la VRAM


Autres fonctions qui arrivent :
Itoa (Transforme un entier en chaine de caractère)
StrReverse : inverse les caractères dans une chaine
Nouvelles versions de MouseRead
Corrections de bugs...


NOTE / Attention la video n'est pas fluide. Je ne sais pas pourquoi ! Edité par ericb59 Le 09/08/2019 à 10h12


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5525

Le 14/09/2019 à 10h29


La nouvelle version de FUSION_C 1.2 est disponible.

Quoi de neuf...
Des corrections, des optimisations et de nouvelles fonctions, notamment des fonctions VDP MSX2, support de la V9990 et de la GR8NET

- CheckBreak : Check Break sequence in MSX-DOS console

- PutCharHex : Pint Hex conversion of a char on console

- PrintHex : Print Hex conversion of an Interger on console

- HMMM : Vram to Vram fast copy function

- LMMC : Ram to Vram fast copy function

- YMMM : Vram to Vram fast Copy to Y position

- HMMV : High speed draw filled rectangle

- LMMV : High speed filled rectangle with operator

- MouseReadTo : Fast Read mouse state and buttons to variable structure

- Itoa : Integer to Char conversion

- StrReverse : Reverse a string

- BoxFill : Fast Draw of a Filled box on screen (easy version of HMMV/LMMV)

- BoxLine : Fast Draw of an empty box on screen

Ajout du Support de la V9990 par le portage de la library graphique de TeamBomba GFX9K vers SDCC (merci Sylvain). (beta)

Ajout du Support TCP IP pour la cartouche GR8NET (Merci Eugeny)(beta)

La librairie est toujours gratuite.
Pour télécharger cette version 2 possibilités :
sur le Site Repro-Factory : http://www.ebsoft.fr/shop/es/19-fusion-c
ou sur GitHub : https://github.com/ericb59


Soyez heureux et codez pour MSX !
Edité par ericb59 Le 14/09/2019 à 10h41


banniere-ericb59e
Site web    
Xavier Membre non connecté

Vagabond

Rang

Avatar

Inscrit le : 08/03/2017 à 00h36

Messages: 15

Le 16/09/2019 à 16h29
Baissez le son :D

https://www.youtube.com/watch?v=usfiAsWR4qU Edité par Xavier Le 16/09/2019 à 16h33
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 24/09/2019 à 20h20
Salut Éric le support du v9990 est une super nouvelle :)

Est ce que tu envisagés d'implémenter la totalité du support superimpose et digit sans les limites imposées par Phillips et/ou Sony ?


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie