Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Naissance de Crocodile Basic | |
|
+14Pedro jdebord Froggy One Marc silverman Ouf_ca_passe jean_debord jjn4 Francis-mr papydall Fredisland Jean Claude Minibug Jack 18 participants | |
Auteur | Message |
---|
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Ven 17 Mai 2019 - 10:13 | |
| - Jean Claude a écrit:
- C'est un BASIC AMSTRAD super amélioré que tu nous concocte... , super
J'enfonce une porte ouverte (c'est très facile) mais je crois qu'on a deux projets très différents, l'un consistant à partir de ce que jean_debord a déjà créé, l'autre qui serait "juste" de concocter un éditeur / traducteur de code AMSTRAD... vertigineux ! Ce qui est certain, c'est que je vais fouiller mon grenier pour rechercher ma vieille doc, par pure curiosité teintée de nostalgie... et en tous les cas , encore une fois, moi, j'admire... | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Ven 17 Mai 2019 - 10:48 | |
| Merci Froggy One Moi j'ai perdu toute ma documentation de l'époque (Suite à l'achat de mon premier PC, j'avais donné l'Amstrad et toute sa documentation à un étudiant). Heureusement il y a le site des anciennes revues informatiques : https://www.abandonware-magazines.org/ainsi que le site suivant, qui contient plein de livres scannés : https://acpc.me/#ACME | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 18 Mai 2019 - 9:02 | |
| La nouvelle version est disponible sur mon WebDav (Dossier FBCroco, fichier setup_011.exe)
Programmes exemples :
- Démos de GOTO, GOSUB, SYMBOL
- Adaptation des 2 exemples de Jack : "Danseur" et "Hello World" | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Sam 18 Mai 2019 - 9:28 | |
| Merci Jean !
Je télécharge de suite !
Merci aussi pour les deux liens de ton post précédent (cf. le 17 mai 2019 10:48) qui sont une mine d'or !
Bonne continuation ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Sam 18 Mai 2019 - 11:08 | |
| @Jean
J'ai fait quelques tests. Bravo pour cette belle avancée !
Question rapidité, c'est impressionnant : sur mon PC, le danseur fait 500 000 pas de danse en moins de 7 secondes !
L'éditeur me pose quelques problèmes : si je modifie le programme du danseur, lors de l'appui sur F9, c'est l’exécution de l'ancien source qui s'affiche dans la fenêtre de sortie. Il y a peut-être quelque chose que je n'ai pas compris...
Bonne continuation ! | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Lun 20 Mai 2019 - 9:10 | |
| Merci Marc pour les tests Normalement dans l'éditeur l'appui sur F9 déclenche les événements suivants : - sauvegarde du code source - appel de fbcroco.exe (situé dans c:\FBPano\fbcroco) qui effectue la traduction et appelle à son tour le compilateur FreeBASIC fbc.exe (situé dans C:\FBPano\fbc) - lancement du programme compilé Si cela ne marche pas tu peux procéder manuellement : - sauvegarde par Ctrl+E - compilation par Ctrl+F9 : l'exécutable doit apparaître dans le répertoire du code source - lancement par Shift+F9 On peut aussi compiler en ligne de commande : - Code:
-
cd \FBPano\exemples\fbcroco \FBPano\fbcroco\fbcroco.exe danseur.bas danseur.exe
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Lun 20 Mai 2019 - 9:58 | |
| Bonjour Jean et tous, Je viens de tester les exemples, ça évolue ... J'ai remarqué un problème de coloration syntaxique de l’instruction sleep A+ PS: Chez moi, j'ai bien la sauvegarde du code source en faisant F9. Marc, tu devrais tenter une réinstallation de FbPano ??? | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mar 21 Mai 2019 - 9:01 | |
| Effectivement, certains mots-clés comme SLEEP ou SYMBOL échappent à la coloration syntaxique ! Ce sera corrigé dans la prochaine version. Et à propos de SYMBOL, voici un petit programme tiré d' "Amstrad Magazine" qui vous permettra d'avoir des chiffres de type "calculatrice" : - Code:
-
SYMBOL 48,24,36,36,0,36,36,24,0 SYMBOL 49,0,4,4,0,4,4,0,0 SYMBOL 50,24,4,4,24,32,32,24,0 SYMBOL 51,24,4,4,24,4,4,24,0 SYMBOL 52,0,36,36,24,4,4,0,0 SYMBOL 53,24,32,32,24,4,4,24,0 SYMBOL 54,24,32,32,24,36,36,24,0 SYMBOL 55,24,4,4,0,4,4,0,0 SYMBOL 56,24,36,36,24,36,36,24,0 SYMBOL 57,24,36,36,24,4,4,24,0
MODE 1
LOCATE 1, 2 : PRINT "0123456789"
WHILE INKEY$() = "" : WEND
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Naissance de Crocodile Basic Mar 21 Mai 2019 - 10:10 | |
| Bonjour jean_debord, Ça avance bien à ce que vois ! Maintenant il va falloir se replonger dans l'utilisation des mots clé et le fonctionnement des codes Amstrad. Pourrais tu nous donner une liste complète des mots clés déjà activés pour chaque avancement, ou bien une option dans l'éditeur Croco-basic afin de savoir ce qu'il est possible de faire... Bravo et bon courage... | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Ven 24 Mai 2019 - 0:26 | |
| Bonjour Jean, Suite à ma remarque : - Citation :
- L'éditeur me pose quelques problèmes : si je modifie le programme du danseur, lors de l'appui sur F9, c'est l’exécution de l'ancien source qui s'affiche dans la fenêtre de sortie. Il y a peut-être quelque chose que je n'ai pas compris...
J'ai compris ce qu'il se passe. Je suis coupable ! En détail : - j'ouvre le programme "Danseur.bas" ; - j'appuie sur F9, le programme se lance et s'affiche ; - je modifie le code-source et je crée (involontairement) une erreur de syntaxe ; - j'appuie sur F9, c'est le source précédent avant modification qui s’exécute. Je n'avais pas prêté attention aux messages d'erreur en bas de la fenêtre de l'éditeur. Une erreur de syntaxe n’empêche pas le lancement de l'exe existant sur le disque dur. Encore merci et bonne continuation !
Dernière édition par Marc le Lun 27 Mai 2019 - 11:03, édité 1 fois | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Ven 24 Mai 2019 - 8:53 | |
| Effectivement, si le code source n'a pas pu être compilé, mais qu'un ancien exécutable existe, c'est ce dernier qui sera lancé. Par ailleurs, voici une nouvelle version du programme exemple using1.bas qui montre toutes les possibilités : - Code:
-
' Demonstration de PRINT USING pour les nombres ' D'apres un exemple Quick Basic
cls
print using "Nombre decimal : ##.##"; .78 print using "Arrondi : ###.##"; 987.654
print
print "Espaces a la fin : "; using "##.## "; 10.2; 5.3; 66.789; .234 print "Signe au debut : "; using "+##.## "; -68.95; 2.4; 55.6; -.9 print "Signe a la fin : "; using "##.##- "; -68.95; 22.449; -7.01 print "Asterisques au lieu d'espaces : "; using "**#.# "; 12.39; -0.9; 765.2
print
print using "Signe dollar : $$###.##"; 456.78 print using "Asterisques et signe dollar : **$##.##"; 2.34 print using "Separateur des milliers : ####,.##"; 1234.5 print using "Exposant 2 chiffres : ##.##^^^^"; 234.56 print using "Signe et exposant 2 chiffres : +.##^^^^"; 123 print using "Exposant 2 chiffres et signe : .####^^^^-"; -888888 print using "Exposant 3 chiffres : +.##^^^^^"; 123 print using "Caractere non modifie : _!##.##_!"; 12.34 print using "Format trop petit : ##.##"; 111.22 print using "Format trop petit : .##"; .999
PS. La documentation est en cours d'écriture. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Sam 25 Mai 2019 - 5:15 | |
| | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 25 Mai 2019 - 10:28 | |
| Merci Marc, belle contribution ! Je comprends pourquoi tu étais si attentif à la forme de mes caractères La police s'installe bien sous Windows mais elle n'est pas reconnue par FLTK, et donc par l'éditeur FBPano. Serait-il possible de la transformer en TTF ? | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Dim 26 Mai 2019 - 17:20 | |
| Merci Jean !
Je suis désolé, je n'ai pas trouvé de solution pour passer en TTF, en dehors de la norme Unicode qui nous prive du segment &h80 à &hA0.
Je continue mes recherches.
Bonne soirée !
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Lun 27 Mai 2019 - 8:57 | |
| Je n'ai rien trouvé non plus de mon côté ! Pour mon système j'ai ajouté les caractères 0 à 31. Ce sont surtout des caractères de contrôle mais ils ont aussi une version imprimable. Voici ce que cela donne : | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Lun 27 Mai 2019 - 10:53 | |
| Bonjour Jean !
Le segment 0-31 est une bonne idée ! Effectivement, dans certains anciens Basic cette plage était exploitée.
Pour ce qui est de l'éditeur sous FLTK, je viens de constater qu'il n'était pas possible d'entrer les caractères avec la touche ALT.
Voilà qui nous prive la possibilité de visualiser un caractère graphique dans l'éditeur.
Bonne continuation !
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Mar 28 Mai 2019 - 9:08 | |
| On y arrive avec une police unicode, mais il faut faire du copier-coller : | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Sam 1 Juin 2019 - 9:10 | |
| Voici les couleurs de l'Amstrad, avec les noms que je leur ai donné (noms tirés du manuel) : Ces couleurs sont générées en prenant, pour chaque couleur R, G, B, 3 niveaux (0%, 50%, 100%) ce qui nous donne 3^3 = 27 possibilités. Ces couleurs sont là pour la compatibilité. On pourra bien sûr utiliser toutes les combinaisons RGB grâce à l'instruction COLOR de FreeBASIC. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Sam 1 Juin 2019 - 11:04 | |
| Bonjour Jean, Bravo pour ta ténacité. Pour les couleurs: Numéro 13: j'aurais plutôt choisi CL_GRIS et du coup CL_BLANC_BRILLANT deviens CL_BLANC. Numéro 12: CL_JAUNE hum... ça ressemble plus à du vert (vert-jaune) Si tu cherches des noms qui parlent, regarde ici => https://fr.wikipedia.org/wiki/Liste_de_noms_de_couleur#ListeA+ | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 9:22 | |
| J'ai pris les noms des couleurs dans la documentation Amstrad mais je ne vois pas d'inconvénient à les changer
Si j'ai bien compté, la page Wikipédia propose 206 couleurs.
On pourrait les ajouter aux 27 existantes, pour un total de 233 couleurs.
On a droit à un maximum de 256 couleurs de base. En effet dans le Basic Amstrad il y a un mécanisme qui permet de coder la couleur des caractères à l'intérieur d'une chaîne à l'aide d'un caractère de contrôle ; or le code d'un caractère est compris entre 0 et 255.
Bien sûr on peut toujours définir une couleur quelconque avec l'instruction FreeBASIC COLOR | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 11:09 | |
| Bonjour Jean, - Jean a écrit:
- J'ai pris les noms des couleurs dans la documentation Amstrad mais je ne vois pas d'inconvénient à les changer
A part la couleur N°13 qui ressemble bien plus à du gris qu'à du blanc, et la couleur n°12 qui est plus vers le vert que le jaune, je ne pense pas qu'il soit utile de changer les autres noms. Attendons l'avis des intéressés... A+ | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 13:44 | |
| Bonjour Jean et Jean-Claude, bonjour à tous ! Pour moi, les couleurs sont "bonnes". Ce sont les valeurs brutes avant correction gamma. Gamma qui sera d’une valeur d’environ 2,2 pour l’œil humain regardant un écran. Démonstration : - Code:
-
DIM r%,v%,b%,r1%,v1%,b1%,correction_gamma correction_gamma=2.2 PICTURE 1 FULL_SPACE 1 PRINT_TARGET_IS 1 FONT_SIZE 1,20 2D_TARGET_IS 1 2D_FILL_COLOR 0,0,0 COLOR 1,0,0,0 FONT_BOLD 1 r%=127 v%=127 b%=127 FONT_COLOR 1,r%,v%,b% PRINT "Ceci est le blanc avant correction gamma" PRINT PRINT r1% = (POWER(r%/255,1/correction_gamma))*255 v1% = (POWER(v%/255,1/correction_gamma))*255 b1% = (POWER(b%/255,1/correction_gamma))*255 FONT_COLOR 1,r1%,b1%,v1% PRINT "Blanc après correction gamma" PRINT PRINT PRINT r%=127 v%=127 b%=0 FONT_COLOR 1,r%,v%,b% PRINT "Ceci est le jaune avant correction gamma" PRINT PRINT r1% = (POWER(r%/255,1/correction_gamma))*255 v1% = (POWER(v%/255,1/correction_gamma))*255 b1% = (POWER(b%/255,1/correction_gamma))*255 FONT_COLOR 1,r1%,v1%,b1% PRINT "Jaune après correction gamma" Le blanc est fixé à environ 75% de l'échelle des gris => &h808080 avant correction gamma, soit &hBABABA après correction. Quant au blanc brillant, il est à 100% =>&hFFFFFF avant et après correction gamma. Bonne journée à tous ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 18:40 | |
| Bon OK, vu sous cet angle c'est vrai que les couleurs sont "bonnes", c'est juste que le nom et l'apparence ne sont pas en adéquation pour le jaune et le blanc avant la correction gamma. Jean fera ce qu'il estime le mieux, ça n'a pas une importance capitale. A+ | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 19:18 | |
| Bonsoir à tous ! Salut Jean-Claude ! C’est comme un APN (Appareil Photo Numérique) : la photo que tu récupères en BMP, JPEG ou TIFF… est déjà traitée en interne, dans l’appareil, avec une correction gamma. Tu l’affiches sur ton écran et c’est tout. Sur les APN pro, une option permet de récupérer la photo brute sans correction gamma (photo RAW). Dans ce cas, si tu l’affiches telle quelle sur un écran, tu vas être très déçu par la qualité des couleurs. Tu auras une photo non compatible avec le couple « écran-œil humain ». Cette photo RAW est destinée à être traitée par un logiciel de retouche photo pour pouvoir être exploitable. Dans le cas qui nous intéresse, celui du CPC, nous avons directement accès au format brut des données RVB. Il nous manque toute la partie électronique du CPC qui réalise cette correction gamma. C’est donc à nous, programmeurs, de réaliser une correction logicielle. Par exemple, le blanc n°13 pourrait être codé &hBABABA. Je suis d'accord avec toi : " Jean fera ce qu'il estime le mieux, ça n'a pas une importance capitale." Bonne soirée à tous ! EDIT : - Spoiler:
- Code:
-
' gamma DIM nom$(26),r%(26),v%(26),b%(26),correction_gamma HEIGHT 0,750 COLOR 0,0,0,0 FONT_SIZE 0,12 FONT_COLOR 0,186,186,186 correction_gamma = 2.2 Lecture_data() Affichage() Appliquer_correction() END
SUB Appliquer_correction() DIM_LOCAL i%,r1%,v1%,b1% FOR i% = 0 to 26 r1% = (POWER(r%(i%)/255,1/correction_gamma))*255 v1% = (POWER(v%(i%)/255,1/correction_gamma))*255 b1% = (POWER(b%(i%)/255,1/correction_gamma))*255 COLOR i%+61,r1%,v1%,b1% NEXT i% END_SUB
SUB Affichage() DIM_LOCAL i%,e% ALPHA 100 TOP 100,0 LEFT 100,10 CAPTION 100,"Couleurs brutes" ALPHA 101 TOP 101,0 LEFT 101,220 CAPTION 101,"Couleurs corrigées" FOR i% = 1 to 27 PICTURE i% WIDTH i%,100 HEIGHT i%,25 TOP i%,20+e% LEFT i%,10 COLOR i%,r%(i%-1),v%(i%-1),b%(i%-1) ALPHA i%+30 TOP i%+30,23+e% LEFT i%+30,120 CAPTION i%+30,nom$(i%-1) PICTURE i%+60 WIDTH i%+60,100 HEIGHT i%+60,25 TOP i%+60,20+e% LEFT i%+60,220 e%=e%+25 NEXT i%
END_SUB
SUB Lecture_data() DIM_LOCAL i% FOR i% = 0 to 26 READ r%(i%) READ v%(i%) READ b%(i%) READ nom$(i%) NEXT i% END_SUB
DATA 0,0,0,"Noir" DATA 0,0,127,"Bleu" DATA 0,0,255,"Bleu vif" DATA 127,0,0,"Rouge" DATA 127,0,127,"Magenta" DATA 127,0,255,"Mauve" DATA 255,0,0,"Rouge vif" DATA 255,0,127,"Violet" DATA 255,0,255,"Magenta vif" DATA 0,127,0,"Vert" DATA 0,127,127,"Turquoise" DATA 0,127,255,"Bleu ciel" DATA 127,127,0,"Jaune" DATA 127,127,127,"Blanc" DATA 127,127,255,"Bleu pastel" DATA 255,127,0,"Orange" DATA 255,127,127,"Rose" DATA 255,127,255,"Magenta pastel" DATA 0,255,0,"Vert vif" DATA 0,255,127,"Vert marin" DATA 0,255,255,"Turquoise vif" DATA 127,255,0,"Vert citron" DATA 127,255,127,"Vert pastel" DATA 127,255,255,"Turquoise pastel" DATA 255,255,0,"Jaune vif" DATA 255,255,127,"Jaune pastel" DATA 255,255,255,"Blanc brillant"
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Naissance de Crocodile Basic Lun 3 Juin 2019 - 20:08 | |
| Merci pour ces explications Marc. - Citation :
- Dans le cas qui nous intéresse, celui du CPC, nous avons directement accès au format brut des données RVB. Il nous manque toute la partie électronique du CPC qui réalise cette correction gamma. C’est donc à nous, programmeurs, de réaliser une correction logicielle.
C'est ce que je ne savait pas. A+ | |
| | | Contenu sponsorisé
| Sujet: Re: Naissance de Crocodile Basic | |
| |
| | | | Naissance de Crocodile Basic | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |