CPC Rulez
https://cpcrulez.fr/forum/

[VIDEO] Amstrad Phaser modified for GX4000/CPC+
https://cpcrulez.fr/forum/viewtopic.php?f=5&t=6379
Page 1 sur 2

Auteur :  Princesse Mariana [ 23 Août 2020, 11:18 ]
Sujet du message :  [VIDEO] Amstrad Phaser modified for GX4000/CPC+


src/url: https://www.facebook.com/groups/134352550519973/

Auteur :  TotO [ 23 Août 2020, 11:54 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Peut-être pas besoin de moder le Phaser avec un adaptateur DB9-RJ12.

Auteur :  hERMOL [ 23 Août 2020, 12:21 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Pas besoin de trucider son Phaser ?

Image

des trucs comme ca à quelques € font l'affaire ? :kissed:

Auteur :  TotO [ 23 Août 2020, 13:05 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Sans soudure, oui je pense que ça fait l'affaire. Après, j'ai testé cela avec la PlayCity qui est sur le port d'extension... Alors j'espère ne pas dire de bêtise, car sur le port RJ12 il faut peut-être dissocier COM de GND, car c'est une version "spéciale" du port manette.

Auteur :  hERMOL [ 23 Août 2020, 14:10 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

sur mes phasers , j'ai cette fiche :

Image

Image

Auteur :  TotO [ 23 Août 2020, 17:09 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Normal... C'est sur le port d'extension et ça utilise VCC, GND, LPEN et D7 (comme trigger)

Auteur :  norecess464 [ 24 Août 2020, 20:04 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Hey question bête.

Un phaser, c’était précis au pixel près a l’écran, avec une position rafraîchie a 50hz ?

J'ai toujours été intrigué par cet accessoire, je n'en ai jamais vu en vrai.

ps. c'est la même techno qu'un stylo optique ?

Auteur :  TotO [ 26 Août 2020, 16:57 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

LPEN marche comme le signal CURSOR, tous deux connectés au CRTC. C'est la combinaison de la pression du bouton/détente et la réception de la lumière du balayage du canon à électron qui va indiquer à quel endroit tu te trouve à l'écran à un instant t.

Auteur :  norecess464 [ 26 Août 2020, 19:18 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Merci Richard!
Ça reste de la sorcellerie pour moi :magic:

Auteur :  Megachur [ 26 Août 2020, 21:05 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

norecess464 a écrit :
Merci Richard!
Ça reste de la sorcellerie pour moi :magic:


Le principe est simple concernant le pistolet magnum d'Amstrad ou un crayon optique :

1) tu appuies sur le bouton
2) le capteur est alimenté et pointe sur l'écran
3) lorsque le capteur détecte la lumière du faisceau à électron qui rafraichit l'image à l'écran (ce qui explique que cela ne fonctionne pas sur un écran LED au passage )
4) tu as un signal qui est envoyé du pistolet vers le CRTC (LPSTB pin).
5) Le CRTC mets dans (LPEN registres R16 (H) et R17 (L)) la valeur de MA (Memory Address) dans ces registres...
6) Reste plus au z80 de lire les infos du CRTC et cela te donne un la position au caractère CRTC prêt (2 octets) ...ce qui correspond à la MA (Memory Address du CRTC)
7) et le CRTC en profite pour remettre le signal LPEN en interne à false ce qui permet de régénérer une autre adresse LPEN si besoin ;-) !

A toi de détecter au niveau de ton programme qu'elle zone d'écran a été "touché" : (R16<<8+R17)<<2 te donne l'adresse écran...

exemple :
valeur lue sur le CRTC = #3250

cela donne l'adresse écran : #C940

si j'ai bien tout compris :kissed:


:biere: :magic:

Auteur :  norecess464 [ 27 Août 2020, 13:54 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Merci Megachur :biere:

Oui la partie "lecture de la position" via le CRTC je pouvais voir comment l'envisager ;

Mais c'est la partie électronique dans laquelle je nage, cf. comment le capteur sait a quelle ligne il est par rapport a l’écran lors du rafraîchissement, comment ça fait pour fonctionner avec des écrans de dimension variées, etc.

Je n'ai eu aucune formation a l’électronique (a part l'introduction qu'on nous donne en classe de 6eme, bref je sais changer une pile dans une radio ;-)

Note que je ne demande pas plus d'info que ça -- le sujet m’intéresse vaguement en fin de compte :twisted:

:)

Auteur :  TotO [ 27 Août 2020, 15:38 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

La luminosité captée par un crayon optique est plus large que celle d'un pixel, mais le CRTC sait ou il en est dans l'affichage d'une scanline. De ce fait, la précision de ce périphérique est meilleure à l'horizontal qu'à la verticale.

Concernant un pistolet, j'imagine que l'on s'en fou un peut de viser l'écran tant que l'on reçoit un flash au moment ou l'on a pressé la détente et que l'adresse CRTC correspond à la position ou est présent un sprite.

Auteur :  markerror [ 27 Août 2020, 20:15 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Si j'ai compris les explications de Megachur, le capteur seul ne permet pas de déterminer une position, c'est juste un déclencheur pour dire au CRTC de stocker les cooordonnées où se trouvent le signal vidéo (correspondant au faisceau à électron dont la luminosité est détectée par le capteur !).

Auteur :  Megachur [ 28 Août 2020, 06:59 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

@norecess :biere: : tant pis même si tu n'en demandais pas plus, j'écris quand même ce que j'en ai compris pour la postérité amstradienne ;-) !!!

A noter que le Gunstick (Ubi Soft / Opera Soft) et le WestPhaser de Loriciels ne fonctionnent pas pareil :


Ceux-ci captent juste la luminosité à l'écran qui est affiché sans utiliser la fonctionnalité LPEN du CRTC et ce qui explique qu'ils marchent avec le DB9 / prise joystick...

en gros, on affiche un sprite à dégommer, puis une tempo, on affiche un carré blanc à la place, une tempo et on réaffiche (sprite touché ou le sprite avant)...

si le capteur détecte suffisamment de luminosité sur l'endroit pointé, alors il envoie joystick haut ou bas selon les modèles et c'est au z80 de lire cela comme une touche clavier... par contre, souvent il y a un décalage et il faut donc déterminer le Y où on est et surtout le X décalé pour savoir quel sprite est touché...

en gros en coding :
frame 1 : j'affiche les sprites
frame 2 : j'affiche noir sous les sprites
frame 2 : j'affiche blanc sous le sprite 1 et je teste si bas ou haut pressé : si oui on a tiré sur le sprite 1
frame 2+x frames : j'affiche noir sous le sprite 1 et blanc sous le sprite 2 et je teste si bas ou haut pressé : : si oui on a tiré sur le sprite 2
etc...
frame xx : j'affiche à nouveau les sprites non touchés, etc.

A noter que ni pour l'un, ni pour l'autre, je n'ai vu de doc technique / coding asm ; il serait peut-être intéressant d'en faire une... on désassemblant des routines de jeux afin d'en trouver l'optimale pour que des codeurs puissent supporter ces périphériques dans le futur :gamer: !!!

Pour ma part, je n'ai jamais eu de tel périphérique et c'est dommage, j'aurai pu faire plus de tests... :cry:

Auteur :  markerror [ 29 Août 2020, 07:48 ]
Sujet du message :  Re: [VIDEO] Amstrad Phaser modified for GX4000/CPC+

Merci pour les explications, là pour le coup, je ne savais pas que ces périphériques fonctionnaient de la sorte.

J'imagine que pour le phaser Loriciels, l'idée était d'avoir un pistolet compatible avec autre chose qu'un CPC (c'est sorti sur ST, Amiga et PC je crois, et évidemment, ces pauvres machines (sauf les PC CGA) n'ont pas dans leurs entrailles un puissant CRTC :-) ).

Ca doit méchamment limiter les possibilités de détection, ça. A un instant T, tu ne peux avoir qu'un sprite "blanc", non ?
Le pistolet devrait fonctionner sur un moniteur non cathodique par contre ?

Page 1 sur 2 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/