Derniers sujets
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 242 membres enregistrésL'utilisateur enregistré le plus récent est AIRBUS44
Nos membres ont posté un total de 8922 messages dans 811 sujets
Désactiver le son des touches
3 participants
Forum Oric :: Forums :: Forum Public :: Programmation en C
Page 1 sur 1
Désactiver le son des touches
Hello,
Je ne retrouve plus la routine ROM permettant de désactiver le son des touches sur Oric (ou plus simplement, j'imagine qu'il y a une variable système (en page 2 ?) avec des valeurs particulières à y placer pour activer/désactiver le son des touches ?)
Si qqun peut venir à mon secours SVP... Merci d'avance !!
EDIT: peut-être est-ce un des bits de la variable d'état en $26A (dont le bit 0 contrôle l'affichage du curseur), mais je ne trouve pas de description détaillée de cette variable dans l'Oric A Nu...)
Je ne retrouve plus la routine ROM permettant de désactiver le son des touches sur Oric (ou plus simplement, j'imagine qu'il y a une variable système (en page 2 ?) avec des valeurs particulières à y placer pour activer/désactiver le son des touches ?)
Si qqun peut venir à mon secours SVP... Merci d'avance !!
EDIT: peut-être est-ce un des bits de la variable d'état en $26A (dont le bit 0 contrôle l'affichage du curseur), mais je ne trouve pas de description détaillée de cette variable dans l'Oric A Nu...)
Re: Désactiver le son des touches
Ah, ça y est, j'ai finalement trouvé tout seul, en suivant mon hypothèse sur la variable d'état en $26A !!
J'ai fait une recherche sur "26A" sur http://forum.defence-force.org, et je suis tombé sur un post avec la description de cette variable par DBug:
http://forum.defence-force.org/viewtopic.php?f=5&t=1048&p=10086&hilit=26A#p10086
J'ai pas trop compris la description pour le bit 1, mais j'ai l'info que je cherchais: le son du clavier est contôlé par le bit 3 !!
J'ai fait une recherche sur "26A" sur http://forum.defence-force.org, et je suis tombé sur un post avec la description de cette variable par DBug:
http://forum.defence-force.org/viewtopic.php?f=5&t=1048&p=10086&hilit=26A#p10086
- Code:
In $26A is a byte with some control bits:
- Bit 0 -> Cursor status (does the cursor blink)
- Bit 1 -> Video status (does printing to the screen works)
- Bit 3 -> Keyboard sound status (will it do clickety clicks)
- Bit 5 -> Are the two first columns of the screen writable by print
J'ai pas trop compris la description pour le bit 1, mais j'ai l'info que je cherchais: le son du clavier est contôlé par le bit 3 !!
Re: Désactiver le son des touches
Du coup, pour me re-répondre à moi-même:
Pour le son des touches, bit 3 de la variable en $26A:
En C:
En BASIC:
Pour le son des touches, bit 3 de la variable en $26A:
- bit 3 à 0: son activé
- bit 3 à 1: son désactivé
En C:
- Code:
unsigned char *status = (unsigned char *) 0x26A;
// Activer le son des touches:
*status |= (unsigned char) 8;
// Desactiver le son des touches:
*status &= (unsigned char) 247;
En BASIC:
- Code:
REM Activer le son des touches:
POKE #26A, PEEK(#26A) OR 8
REM Desactiver le son des touches:
POKE #26A, PEEK(#26A) AND 247
Re: Désactiver le son des touches
Je sais que je commence toujours mes programmes avec, entre autres, un POKE618,10.
618=#26A.
10 = clavier muet, curser off.
En détail (Micr'Oric 4, page 14) :
0 1=curseur visible, 0=invisible
1 1= affichage, 0 = pas d'affichage
2 ?
3 1= clavier muet, 0= clavier sonore
4 1= ESCAPE, 0= NORMAL
5 1= 40 colonnes, 0= 38 colonnes (je ne savais pas, tiens !)
6 1= double hauteur, 0= simple hauteur
7 libre
618=#26A.
10 = clavier muet, curser off.
En détail (Micr'Oric 4, page 14) :
0 1=curseur visible, 0=invisible
1 1= affichage, 0 = pas d'affichage
2 ?
3 1= clavier muet, 0= clavier sonore
4 1= ESCAPE, 0= NORMAL
5 1= 40 colonnes, 0= 38 colonnes (je ne savais pas, tiens !)
6 1= double hauteur, 0= simple hauteur
7 libre
Symoon- Messages : 779
Date d'inscription : 26/04/2014
Re: Désactiver le son des touches
There is a worse and slower variant :
BASIC:
PRINT CHR$(6) - toggle sound on/off - the same as press CTRL-F
PRINT CHR$(17) - toggle cursor on/off - the same as press CTRL-Q
C (works with OSDK):
printf("\x06");
printf("\x11");
BASIC:
PRINT CHR$(6) - toggle sound on/off - the same as press CTRL-F
PRINT CHR$(17) - toggle cursor on/off - the same as press CTRL-Q
C (works with OSDK):
printf("\x06");
printf("\x11");
iss- Messages : 112
Date d'inscription : 30/10/2014
Re: Désactiver le son des touches
Ah, thanks iss, I thought there was a CTRL+key combination to toggle keyboard sound, but I didn't remember it either !!
That's nice to have the control code for this, very handy !!
I suppose there are control codes for showing/hiding the cursor as well?
That's nice to have the control code for this, very handy !!
I suppose there are control codes for showing/hiding the cursor as well?
Re: Désactiver le son des touches
... Et merci Simon pour l'article sur Micr'Oric, et la description des autres bits !
M'étant gourré au début sur le masque binaire pour désactiver le bit 3, je suis tombé en fait par hasard sur l'activation de la double hauteur, mais je n'avais pas pris le temps de regarder du coup quel bit c'était !!
Et effectivement le bit 1 contrôle le blocage de l'affichage (si on le désactive, on peut toujours entrer des commandes avec l'interpréteur BASIC, mais rien ne s'affiche...). C'est un peu (mais pas exactement pareil) comme Ctrl-S et Ctrl-Q sous Unix (sous Unix je pense que Ctrl-S bloque aussi l'entrée au clavier, "stdin"... à vérifier)...
PS - pour la manipulation de ce registre, plutôt que d'affecter des valeurs en dur, je préfère faire des opérations logiques/masquages de bits pour positionner juste ce que je veux modifier..
M'étant gourré au début sur le masque binaire pour désactiver le bit 3, je suis tombé en fait par hasard sur l'activation de la double hauteur, mais je n'avais pas pris le temps de regarder du coup quel bit c'était !!
Et effectivement le bit 1 contrôle le blocage de l'affichage (si on le désactive, on peut toujours entrer des commandes avec l'interpréteur BASIC, mais rien ne s'affiche...). C'est un peu (mais pas exactement pareil) comme Ctrl-S et Ctrl-Q sous Unix (sous Unix je pense que Ctrl-S bloque aussi l'entrée au clavier, "stdin"... à vérifier)...
PS - pour la manipulation de ce registre, plutôt que d'affecter des valeurs en dur, je préfère faire des opérations logiques/masquages de bits pour positionner juste ce que je veux modifier..
Forum Oric :: Forums :: Forum Public :: Programmation en C
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 31 Mar 2024 - 14:35 par kenneth
» Bla Bla général du Jury
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur