16 couleurs en BASIC 1.0 sur TO7/70

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

Répondre
nouvelhermes
Messages : 408
Inscription : 22 juil. 2020 20:56

16 couleurs en BASIC 1.0 sur TO7/70

Message par nouvelhermes »

J'ai une question toute bête : est-ce que les séquences d'échappement fonctionne pour avoir les seize couleurs en BASIC 1.0 sur TO7/70 ou est-ce qu'il faut obligatoirement passer par l'assembleur ?
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par Daniel »

Les séquences d'échappement ne sont pas décodées par le Basic, mais par le moniteur de l'ordinateur. Donc la réponse est oui, on peut utiliser les séquences d'échappement pour sélectionner les 16 couleurs du TO7/70. Je ne l'ai pas testé pour vérifier, mais j'en suis sûr à 99,99%.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par __sam__ »

En fait, au lieu de poser la question il suffit d'essayer.
Capture.PNG
Capture.PNG (33.8 Kio) Consulté 2762 fois
Là encore je ne suis pas certain que la question soit adaptée à la section:
Software original a écrit :Tout ce qui concerne le logiciel original et sa sauvegarde avec entre autre la régénération des disquettes ou autres supports physiques.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17534
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par fneck »

Oui Sam tu as raison, merci, je déplace.
Ceci dit, je ne sais pas trop où mettre :(
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par __sam__ »

"Discussions diverses" (ex bac à sable) me semble le plus adapté.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
nouvelhermes
Messages : 408
Inscription : 22 juil. 2020 20:56

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par nouvelhermes »

En ce qui concerne le lieu, je trouve qu'il manque une rubrique question de programmation, ou quelque chose comme cela, plus facile à retrouver ensuite quand il faudra rédiger la FAQ.

En ce qui concerne les séquences d'échappement, effectivement le mieux est d'essayer quand les connaît. Je ne sais même plus dans quel ouvrage je les avaient trouvées pour TO7(/70), le genre de renseignement qu'on trouve pas si facilement, et qui méritent de figurer dans la FAQ.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par __sam__ »

Les manuels sont là pour ca. Il n'y a pas de honte à se renseigner et (re)découvrir par soi-même. On est pas obligé de demander à d'autre de faire la recherche, surtout que si tu parles des codes d'échappement c'est que tu connais déjà partiellement la réponse.

En plus ici la question est purement rhétorique. Tu serais sur une thématique "je suis en train de développer en basic 1.0 pour TO7/70 tel truc et je coince là dessus, peut-on m'aider", bah ca serait différent (et la section "Development actuel" est faite pour cela). Par contre pour les questions que je qualifierait de gratuite, la section "discussions diverses" me semble plus adaptée.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
yoanrhk
Messages : 53
Inscription : 12 févr. 2023 19:18
Localisation : Amsterdam

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par yoanrhk »

Quelqu'un pour expliquer le +64 et le plus +112 ? Encore je veux bien pour le 64 (01000000) mais 112 (01110000) ???
nouvelhermes
Messages : 408
Inscription : 22 juil. 2020 20:56

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par nouvelhermes »

Posons calmement les choses.

Premièrement la question n'est pas "gratuite" : elle provient d'une remarque de Fool-Duplex. (et aussi une arrière pensée pour la FAQ qui va suivre)

Ensuite, les manuels c'est très bien pour des infos de base, mais pour des choses disons moins triviales, ce n'est pas l'idéal, surtout que ce n'est pas trop le renseignement qu'on trouve dans tous les livres loin de là, quand j'aurai le temps j'essairai de trouver le livre qui les présente de façon complète (parce que souvent limitées aux huit premières couleurs de mémoire).
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par __sam__ »

Comme toujours la réponse est dans le manuel technique:
Capture.PNG
Capture.PNG (63.89 Kio) Consulté 2706 fois
Capture.PNG
Capture.PNG (33.81 Kio) Consulté 2706 fois
Ou sur youtube:
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par petitjd »

Personnellement je ne connaissais pas les séquences d'échappement.
Pour ceux pour qui tout n'est pas encore clair, (comme c'était le cas pour moi malgré les explications),
voici ce que j'ai fais pour comprendre:

j'ai tapé dans google "séquence échappement to7". Là coup de bol, je tombe sur ce lien: http://www.thomsonistes.org/doc2/genera ... /chap5.pdf
En parcourant ce chapitre du livre, je tombe sur ce tableau.

Image

Là tout devient clair:
Le "quartet fort" est le premier chiffre du code hexadécimal qui spécifie qu'on travaille sur la forme, le fond ou le tour.
Le "quartet faible", deuxième chiffre du code hexadécimal, indique la couleur.
Avec ce tableau, on voit que pour afficher toutes les couleurs de forme, il faut afficher de 40 à 47 et de 70 à 77.
Sauf que pas de chance, la fonction basic CHR$ ne travaille qu'en décimal. Donc, après conversion:
40 en hexadécimal donne 64 en décimal et 70 en hexadécimal donne 112 en décimal.
On retombe sur nos pattes par rapport au listing basic ci-dessus.

Et le CHR$(27) c'est le code décimal ascii de ESC qui comme le titre du tableau l'indique, est nécessaire à l'utilisation des séquences d'échappement.
Dernière modification par petitjd le 16 mars 2023 13:09, modifié 1 fois.
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par __sam__ »

Oui voila. A noter que ce tableau est incomplet. Pour changer le fond avec les couleurs de 8 à 15, c'est $78 à $7F (rappel: la forme c'est $70 à $77).

Changer les couleurs par code d'échappement permet quelques facéties, comme rendre un listing BASIC "invisible" (planquer les codes d'échappement pour afficher en noir sur fond noir dans le REM de la 1ère ligne par exemple).

Plus généralement (voir manuel technique) la gestion de l'écran alphanumérique se fait 100% par code d'échappement: le choix des couleurs, le déplacement ou l'affichage du curseur, passage en mode semi-graphique Télétel, changement de résolution, définition de la zone texte, etc.

Ce sont des codes très voisin du Minitel, ce qui limite les couleurs à 8 par défaut (et les quelques ruses pour utiliser les 8 autres sur TO7/70 et suivants).

Le C64 a aussi des codes spéciaux pour changer la couleur et les attributs graphiques avec la routine d'affichage de caractères en ROM: https://www.c64-wiki.com/wiki/control_character
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Zebulon
Messages : 2806
Inscription : 02 nov. 2020 14:03

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par Zebulon »

Oui Sam ce mécanisme de séquence d'échapement est très universellement répandu dans les flux de caractères.

Ces séquences existaient aussi sur Amstrad CPC (et probablement beaucoup d'autres machines) et ont notamment permis de faire les fameux catalogues de disquette "détournés" affichant des écrans plus ou moins travaillés.

Ce principe permet aussi de piloter les fonctions des imprimantes et comme tu l'as dit finalement tout "terminal" interprétant un flux de caractères.
nouvelhermes
Messages : 408
Inscription : 22 juil. 2020 20:56

Re: 16 couleurs en BASIC 1.0 sur TO7/70

Message par nouvelhermes »

Aussi sur PC avec le driver ANSI.SYS (et celles ci sont beaucoup plus facile à trouver).

Attention aussi, à ne pas confondre (je sais c'est un détail) les séquences US (commençant donc par 1F en hexa) servant pour les commandes CONSOLE et LOCATE, avec ces séquences d'échappement (commençant par 1B en hexa).

Attention, pour les codes sont donnés pour le TO7/70, pour le MO5 c'est beaucoup plus simple (et plus facile à trouver), mais pas de Télétel sur MO5.

Après de mémoire, il y a les attributs caractères et écran (différences entre SCREEN et COLOR).
Répondre