[Alice] Carte 24 E/S

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

Je viens de commander la carte 24 E/S. Génial ton tutoriel, le programme en assembleur est ultra-simple à comprendre.

Dès qu'elle arrive, je me procure ce que tu as dit et je teste ton code ! :wink:

Est t-il possible de se brancher à une télécommande et de changer les chaines de la télévision depuis Alice avec ton programme en Asm ?
Fred_72
Messages : 1170
Inscription : 22 mai 2019 13:10
Localisation : Sarthe

Re: [Alice] Carte 24 E/S

Message par Fred_72 »

Pour que les choses soient encore plus claires vis à vis de la carte borniers voici une photo de famille:
P1010212.JPG
P1010212.JPG (684.68 Kio) Consulté 318 fois
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

Magnifique Fred! Pile ce que j'ai en tête ! Pas mieux pour enseigner le binaire car c'est du concret.

Où puis-je me procurer cette carte pleine de led stp ? :o
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] Carte 24 E/S

Message par 6502man »

Oui très pratique et du coup pas besoin d'aller au magasin d'électronique :wink: :lol: :arrow:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Fred_72
Messages : 1170
Inscription : 22 mai 2019 13:10
Localisation : Sarthe

Re: [Alice] Carte 24 E/S

Message par Fred_72 »

@ DavidG : Pour l'instant, nulle part car elle n'est pas encore sortie de chez le "fournisseur".
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

Programme numéro 1 de @6502man traduit en BASIC : Faire clignoter des leds avec la carte E/S sur Alice

Code : Tout sélectionner

10 POKE 48995,128  : REM place les 3 ports en sorties 
20 REM CLIGNOTE	
30 POKE 48992,0 : REM pour eteindre les leds connectées au PORT A 
40 GOSUB 80  	
50 POKE 48992,255 : REM pour allumer les leds connectées au PORT A 
60 GOSUB 80  
70 GOTO 30 
80 FOR T=0 to 10 : NEXT T  : REM timing	
90 RETURN 
Programme numéro 2 : Une autre variante pour faire clignoter alternativement 1 leds sur 2 :

Code : Tout sélectionner

10 POKE 48995,128 : REM place les 3 ports en sorties 
20 REM CLIGNOTE	 
30 POKE 48992,170 : REM pour eteindre les leds connectées au PORT A
40 GOSUB 80  
50 POKE 48992,85 : REM pour allumer les leds connectées au PORT A 
60 GOSUB 80 
70 GOTO  30 
80 FOR T=0 to 10 : NEXT T  : REM Timing
90 RETURN

170 donne AA en hexadécimal et 10101010 en binaire, donc 1 led sur 2 allumée.
85 donne &H55 en hexadécimal et en binaire 01010101 : 1 led sur 2 allumée mais pas les mêmes donc alternativement.


Programme numéro 3 : allumer les Leds avec un bouton momentané avec la carte E/S sur Alice

Code : Tout sélectionner

10 POKE 48995,129 : REM  place les ports A et B et C (haut) en sorties et le port C (bas) en entrées
15 REM Début
20 POKE 48992,0 : REM pour éteindre les leds connectées au PORT A
25 REM  AttendBouton
30 BP=PEEK(48994) AND 1 : IF BP = 0 THEN GOTO 30 
40 POKE 48992,255 : REM  pour allumer les Leds connectées au PORT A 
50 FOR T=0 to 10 : NEXT T  : REM timing pour laisser les Leds allumées plus longtemps 
60 GOTO 15 
Dernière modification par David.G le 22 mars 2024 02:32, modifié 10 fois.
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] Carte 24 E/S

Message par 6502man »

Allez un petit montage supplémentaires pour l'Alice.

Cette fois on rajoute un bouton momentané et
ca permet d'allumer les LEDS :lol:
Button_&_Leds_Clignotent.png
Button_&_Leds_Clignotent.png (776.36 Kio) Consulté 304 fois
le code assembleur qui va permettre d'allumer
les leds :

Code : Tout sélectionner

; allumer les leds avec un bouton
; avec la carte E/S sur Alice	
	
	
	LDAA #$81		; place les ports A et B et C(haut) en sorties
	STAA $BF63		;	et le port C(bas) en entrées


Debut
	LDAA #$00		; pour eteindre les leds
	STAA $BF60		; connectées au PORT A


AttendBouton	
	LDAA $BF62			; lit le port C
	ANDA #$01			; conserve que le premier bit
	CMPA #$00			; est il à zéro
	BEQ AttendBouton	; dans ce cas on attend encore
	
AllumeLeds	
	LDAA #$FF		; pour allumer les leds
	STAA $BF60		; connectées au PORT A

	LDX #$FFFF		; timing pour laisser les
Tempo				; leds allumées plus longtemps
	DEX
	BNE Tempo
	RTS
	
	JMP Debut
La encore simple à faire en basic ;)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Leraptor06
Messages : 691
Inscription : 15 févr. 2022 10:34
Localisation : Mandelieu

Re: [Alice] Carte 24 E/S

Message par Leraptor06 »

Le fournisseur officiel des realisations de Fred c'est Brochiman, le roi de la gestion des kits. Une qualité parfaite.
Jp
Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [Alice] Carte 24 E/S

Message par Brochiman »

☺️☺️☺️
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

@6502man: Si j'ai bien compris jusque là :

Dans tes 2 premiers programmes , c'est l'ordinateur Alice qui envoie un signal vers l'extérieur et envoie l'ordre : éteint/allume les Led.

Dans ton 3ème programme, le bouton momentané quand il est appuyé envoie 1 à l'ordinateur Alice qui allume les Led quelques secondes.

On pourrait aussi décider de les laisser allumées tant que le bouton est pressé. Il suffirait de boucler tant que LDAA $BF62 ANDA #$1 donne 1

Donc je peux déclencher un programme sur l'ordinateur Alice en appuyant sur ce bouton,

ou bien me fabriquer une manette de jeu rudimentaire avec une planche et simplement 2 boutons (boutons droite gauche pour BreakOut).

Correct ? :)
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Alice] Carte 24 E/S

Message par 6502man »

Oui c'est ca :)

Pour l'exemple je n'ai connecté qu'un interrupteur mais on peut en connecter plus,
tant que l'on déclare bien les ports concernées en Entrées :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

Merci Phil. J'ai traduit tes 3 programmes en BASIC dans le message précédent, à vérifier s'il n'y pas d'erreur.

J'ai déjà donné ton plan et la doc pdf de la 24 E/S au magasin d'électronique, avec les bidules à acheter que tu as indiqué (led, bouton momentané, etc.) pour qu'ils me fabriquent tout ça en attendant que la carte arrive. Je vais lui dire de me commander 2 boutons momentanés et je me charge de la prog en asm. C'est facile avec tes exemples. :wink:

Puis-je connecter 8 petits leviers-interrupteurs comme sur l'Altair8800 pour envoyer un nombre binaire dans la mémoire de l'Alice ?
J'aurai besoin d'un bouton "entrée" pour envoyer le nombre un fois que j'ai positionné les 8 bits.
Zebulon
Messages : 2806
Inscription : 02 nov. 2020 14:03

Re: [Alice] Carte 24 E/S

Message par Zebulon »

Tu peux effectivement imaginer de construire un panneau de contrôle avec des interrupteurs, des LEDs et développer un "moniteur" qui tournera sur l'Alice et qui simulera un ordinateur du type Altaïr.

C'est une très bonne idée de projet à réaliser avec ce type d'interface !
Avatar de l’utilisateur
David.G
Messages : 300
Inscription : 16 janv. 2024 00:02

Re: [Alice] Carte 24 E/S

Message par David.G »

Zebulon a écrit : 22 mars 2024 22:30 C'est une très bonne idée de projet à réaliser avec ce type d'interface !
Merci ! C'est pour programmer directement une mini routine en binaire (pour le côté amusant et pédagogique).
Si tu m'indiques ce que je dois faire fabriquer à mon électronicien pour obtenir ce panneau, je suis partant !

On va finir par écrire un bouquin : "50 projets amusants à réaliser avec votre carte 24 E/S pour Alice/Oric" :lol:
Zebulon
Messages : 2806
Inscription : 02 nov. 2020 14:03

Re: [Alice] Carte 24 E/S

Message par Zebulon »

Il faut déjà définir ton cahier des charges de comment tu comptes employer les 24 entrées ou sorties.

Pour faire simple dans une v1 je pense qu'il te faut déjà 8 leds en sortie pour afficher les bits que tu programmes ou que tu relis de chaque octet de ta mémoire et il te faut 8 interrupteurs pour positionner les bits que tu programmes. Ces 8 bits serviront à saisir l'adresse mémoire (donc 256 octets max) et la valeur de chaque octet. Tu as donc utilisé 16 de tes entrées/sorties, 8 en sortie et 8 en entrée.

Il reste 8 entrées/sorties, je pense qu'il te faut encore d'autres interrupteurs pour commuter entre la saisie de l'adresse et celle de la valeur de l'octet, pour passer le processeur en mode exécution ou en mode programmation, etc.

Le côté câblage des leds et des interrupteurs peut être aussi simple que proposé par 6502man, c'est le programme que tu développeras dans Alice qui animera ton interface. Dans ta v1 je ne pense pas qu'il soit souhaitable de véritablement programmer Alice via cette interface, j'émulerais plutôt un ordinateur dans Alice, avec par exemple 256 octets de mémoire programme et un jeu d'instructions rudimentaire. Ta machine pourrait gérer une ou plusieurs pile(s) pour effectuer les calculs, des registres mémoire, un peu comme fonctionnent les calculatrices type HP.

Pour t'inspirer tu peux retrouver des documentations des ordinateurs type Altair 8800, Micral N, Gigatron, etc.
Répondre