Interface Contacts
- romain
- Collec Perso: 11 flips
- Rech/Achete: 0 flip
- Messages : 2048
- Enregistré le : 01/10/2002
- Pas vu depuis 2 mois
- Niveau : Expert
- Pro / revendeur : non
Interface Contacts
Salut,
je vais vous présenter ici la partie Interface des Contacts.
Cette partie sert à récupérer l'état des contacts de tout le flipper et les transmet au PC.
Le microcontrôleur de l'interface des contacts scrute tous les contacts et ne communique avec le PC que pour lui indiquer que des contacts ont changés. Ainsi le débit de données utilisé est très faible et paradoxalement le temps de réponse est très élevé, car moins de travail est nécessaire pour "trier les données" entre celles utiles (un contacts modifié) et celles ne servant à rien.
Un premier prototype a été réalisé avec une carte microcontrôleur et une carte de câblage rapide.
Voici les fonctions supportées :
-gestion de la matrice des contacts (8 lignes x 8 colonnes).
-gestion des 8 contacts directs ("dedicated grounded switches")
-gestion de 8 contacts directs supplémentaires, utilisés sur les WPC Fliptronic.
Détails du fonctionnement :
Le PIC balaye les colonnes et lit l'état des lignes à la recherche d'un contact modifié. C'est le coeur du programme du PIC; En clair : il passe plus de 95% de son temps à surveiller la matrice. Dès qu'un contact diffère depuis la dernière lecture, la mémoire est mise à jour et la colonne (comprenant le contact) est transférée au PC.
Les contact généraux sont gérés par un circuit d'extension : le MCP23017 qui communique par le bus I²C avec le microcontrôleur PIC. Ce circuit "ajoute" 16 pattes au PIC et est indépendant dans la surveillance de ces contacts. En effet, il n'informe le PIC que lorsqu'un contact a changé d'état. Le PIC recopie alors la donnée et la transfert au PC.
Toute la carte fonctionne en 5V ainsi que la matrice et les contacts généraux. Ceci permet de relier directement toutes les lignes sur les entrées des composants sans devoir faire d'adaptation (augmentation du nombre de composants et de la complexité de la carte). De plus les circuits comportant en interne les résistances nécessaire au fonctionnement des contacts, ça simplifie encore le système en diminuant d'autant le nombre de composants.
Des essais sur un vrai plateau ont été faits et sont très concluants.
La carte me permettant de faire mes essais sur mon bureau et en fonctionnement sur le Terminator2.
Voici la vidéo des test du premier prototype : http://www.youtube.com/watch?v=EpeeBJjY3AM (désolé pour la qualité pourrie de la vidéo. si vous voulez une voix OFF, tapez 1, si vous voulez une video de meilleure qualité tapez 2 )
Je tiens à préciser que je tente de limiter le nombre de composants au strict minimum (et donc le prix, et donc la complexité du système). Par exemple voici quelques composants et spécificités présents sur les CPU qui ne le seront pas ici :
- les résistances sur les fils des contacts (jusqu'à 4 par ligne sur les WPC).
- les diodes (sur la carte).
- les amplificateurs (lm339).
- alimentation en 12V des fils des contacts.
- tout circuit logique (TTL ou CMOS).
- circuit de reset.
[AJOUT du 5/7/07]
La première carte prototype a été réalisée :
Réalisation du circuit imprimé et photo du premier essai raté avec la 2e carte réussie.
Côté pile pendant le soudage des supports et composants; et le côté face.
Liste des composants présents sur cette carte :
- microcontrôleur PIC 16F877A
- 2 circuits d'extension MCP23017
- un support (en bas a droite) pour le branchement du convertisseur.
- 2 optocoupleurs juste à sa gauche.
- Régulateur d'alim 5V, fusible et zener de protection.
- quelques condos sur les pistes d'alim, quelques résistances.
C'est tout !
Cette carte fait 100*200mm, dans le but de pouvoir en tirer 3 sur une plaque vierge de 200*300...
[/AJOUT du 5/7/07]
[AJOUT du 9/7/07]
La carte étant terminée, je vais vous la présenter :
en haut a gauche le bornier 3 fils sert à l'alimentation des circuits de la carte. Le bornier du milieu est la masse, celui de gauche permet l'alimentation directement en +5V et celui de droite entre 7V et 30V.
Vient en dessous le régulateur 7805 qui rabaisse la tension à 5V si la carte est alimentée entre 7 et 30V.
Sous ce régulateur, un petit fusible associé à une diode zener de 5.6V (commandée, pas reçu donc pas soudée) pour la protection en cas de surtension ou d'inversion de polarité.
Puis un condensateur de 1000µF lissant la tension pour une alimentation bien propre et bien stabilisée.
Les 2 circuits intégrés verticaux à droite de l'alimentation sont les MCP23017, circuits d'extension au microcontrôleur. Ils communiquent avec lui grâce au bus I²C et l'informent d'un changement sur une de leurs entrées grâce à des sorties d'interruption (2 par circuit).
Le bus I²C communique à la vitesse de 1Mbps (plus de 128.000 octets par seconde).
Le microcontrôleur à droite est cadencé par le quartz à une fréquence de 20MHz (le maximum supportable par ce CI). Un condensateur a été rajouté de l'autre côté de la carte, une nouvelle fois pour des raisons de stabilité d'alimentation.
La rangée de picots sur le haut de la carte correspond à toutes les entrées/sorties possibles offertes par l'interface. Elles peuvent soit être utilisées de façon matricielle, soit une à une indépendamment.
En bas à droite de la carte nous observons le convertisseur USB/Série enfiché sur un support et un petit condensateur pour le lissage du +5V venant de l'USB.
La communication entre le PIC et le PC passe par ce convertisseur à une vitesse de 38400bps, avec un peu de travail elle pourra encore être augmentée.
Viennent ensuite et enfin les 2 optocoupleurs qui font l'isolation électrique totale entre la carte et le convertisseur USB. Ils permettent également la communication entre le PIC et le convertisseur. Ainsi, si une surtension intervient sur la carte, le convertisseur sera protégé, et également votre cher PC
Etant donné qu'aucun typon n'est parfait, le miens n'a pas échappé à la règle. 2 petites erreurs m'ont obligé à détourner une piste et à créer 2 petits ponts sous la carte. Promis le prototype 2 sera NICKEL
[/AJOUT du 9/7/07]
Pour toute question, complément d'info ou suggestion : ne vous privez pas !!!
@+
je vais vous présenter ici la partie Interface des Contacts.
Cette partie sert à récupérer l'état des contacts de tout le flipper et les transmet au PC.
Le microcontrôleur de l'interface des contacts scrute tous les contacts et ne communique avec le PC que pour lui indiquer que des contacts ont changés. Ainsi le débit de données utilisé est très faible et paradoxalement le temps de réponse est très élevé, car moins de travail est nécessaire pour "trier les données" entre celles utiles (un contacts modifié) et celles ne servant à rien.
Un premier prototype a été réalisé avec une carte microcontrôleur et une carte de câblage rapide.
Voici les fonctions supportées :
-gestion de la matrice des contacts (8 lignes x 8 colonnes).
-gestion des 8 contacts directs ("dedicated grounded switches")
-gestion de 8 contacts directs supplémentaires, utilisés sur les WPC Fliptronic.
Détails du fonctionnement :
Le PIC balaye les colonnes et lit l'état des lignes à la recherche d'un contact modifié. C'est le coeur du programme du PIC; En clair : il passe plus de 95% de son temps à surveiller la matrice. Dès qu'un contact diffère depuis la dernière lecture, la mémoire est mise à jour et la colonne (comprenant le contact) est transférée au PC.
Les contact généraux sont gérés par un circuit d'extension : le MCP23017 qui communique par le bus I²C avec le microcontrôleur PIC. Ce circuit "ajoute" 16 pattes au PIC et est indépendant dans la surveillance de ces contacts. En effet, il n'informe le PIC que lorsqu'un contact a changé d'état. Le PIC recopie alors la donnée et la transfert au PC.
Toute la carte fonctionne en 5V ainsi que la matrice et les contacts généraux. Ceci permet de relier directement toutes les lignes sur les entrées des composants sans devoir faire d'adaptation (augmentation du nombre de composants et de la complexité de la carte). De plus les circuits comportant en interne les résistances nécessaire au fonctionnement des contacts, ça simplifie encore le système en diminuant d'autant le nombre de composants.
Des essais sur un vrai plateau ont été faits et sont très concluants.
La carte me permettant de faire mes essais sur mon bureau et en fonctionnement sur le Terminator2.
Voici la vidéo des test du premier prototype : http://www.youtube.com/watch?v=EpeeBJjY3AM (désolé pour la qualité pourrie de la vidéo. si vous voulez une voix OFF, tapez 1, si vous voulez une video de meilleure qualité tapez 2 )
Je tiens à préciser que je tente de limiter le nombre de composants au strict minimum (et donc le prix, et donc la complexité du système). Par exemple voici quelques composants et spécificités présents sur les CPU qui ne le seront pas ici :
- les résistances sur les fils des contacts (jusqu'à 4 par ligne sur les WPC).
- les diodes (sur la carte).
- les amplificateurs (lm339).
- alimentation en 12V des fils des contacts.
- tout circuit logique (TTL ou CMOS).
- circuit de reset.
[AJOUT du 5/7/07]
La première carte prototype a été réalisée :
Réalisation du circuit imprimé et photo du premier essai raté avec la 2e carte réussie.
Côté pile pendant le soudage des supports et composants; et le côté face.
Liste des composants présents sur cette carte :
- microcontrôleur PIC 16F877A
- 2 circuits d'extension MCP23017
- un support (en bas a droite) pour le branchement du convertisseur.
- 2 optocoupleurs juste à sa gauche.
- Régulateur d'alim 5V, fusible et zener de protection.
- quelques condos sur les pistes d'alim, quelques résistances.
C'est tout !
Cette carte fait 100*200mm, dans le but de pouvoir en tirer 3 sur une plaque vierge de 200*300...
[/AJOUT du 5/7/07]
[AJOUT du 9/7/07]
La carte étant terminée, je vais vous la présenter :
en haut a gauche le bornier 3 fils sert à l'alimentation des circuits de la carte. Le bornier du milieu est la masse, celui de gauche permet l'alimentation directement en +5V et celui de droite entre 7V et 30V.
Vient en dessous le régulateur 7805 qui rabaisse la tension à 5V si la carte est alimentée entre 7 et 30V.
Sous ce régulateur, un petit fusible associé à une diode zener de 5.6V (commandée, pas reçu donc pas soudée) pour la protection en cas de surtension ou d'inversion de polarité.
Puis un condensateur de 1000µF lissant la tension pour une alimentation bien propre et bien stabilisée.
Les 2 circuits intégrés verticaux à droite de l'alimentation sont les MCP23017, circuits d'extension au microcontrôleur. Ils communiquent avec lui grâce au bus I²C et l'informent d'un changement sur une de leurs entrées grâce à des sorties d'interruption (2 par circuit).
Le bus I²C communique à la vitesse de 1Mbps (plus de 128.000 octets par seconde).
Le microcontrôleur à droite est cadencé par le quartz à une fréquence de 20MHz (le maximum supportable par ce CI). Un condensateur a été rajouté de l'autre côté de la carte, une nouvelle fois pour des raisons de stabilité d'alimentation.
La rangée de picots sur le haut de la carte correspond à toutes les entrées/sorties possibles offertes par l'interface. Elles peuvent soit être utilisées de façon matricielle, soit une à une indépendamment.
En bas à droite de la carte nous observons le convertisseur USB/Série enfiché sur un support et un petit condensateur pour le lissage du +5V venant de l'USB.
La communication entre le PIC et le PC passe par ce convertisseur à une vitesse de 38400bps, avec un peu de travail elle pourra encore être augmentée.
Viennent ensuite et enfin les 2 optocoupleurs qui font l'isolation électrique totale entre la carte et le convertisseur USB. Ils permettent également la communication entre le PIC et le convertisseur. Ainsi, si une surtension intervient sur la carte, le convertisseur sera protégé, et également votre cher PC
Etant donné qu'aucun typon n'est parfait, le miens n'a pas échappé à la règle. 2 petites erreurs m'ont obligé à détourner une piste et à créer 2 petits ponts sous la carte. Promis le prototype 2 sera NICKEL
[/AJOUT du 9/7/07]
Pour toute question, complément d'info ou suggestion : ne vous privez pas !!!
@+
Modifié en dernier par romain le lun. 09 07, 2007 15:52, modifié 3 fois.
Addams - T2 - Fathom - Special Force - Robocop - OxO - EATPM - Silverball Mania - TZ - BK2K - Totem
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
- Papo06
- Dept: 06
- Collec Perso: 1 flip
- Rech/Achete: 0 flip
- Messages : 4904
- Enregistré le : 30/03/2005
- Pas vu depuis 7 mois
- Niveau : Confirmé
- Pro / revendeur : non
- Localisation : Mougins
Yo,
Super !
Juste un truc si par hasard tu n'y a pas pensé, je ne sais pas à quelle fréquence le pic scrute les contacts mais il se pourrait que si la matrice tourne trop vite tu ais des faux rebonds, dans ce cas si plusieurs codes pour un même contacts sont envoyés ajoute un anti-rebond sur les contacts pour éviter que le pic envoie 2 ou 3 fois contact fermé/ouvert à quelques ms d'intervalle pour le même contact.
Pascal
Super !
Juste un truc si par hasard tu n'y a pas pensé, je ne sais pas à quelle fréquence le pic scrute les contacts mais il se pourrait que si la matrice tourne trop vite tu ais des faux rebonds, dans ce cas si plusieurs codes pour un même contacts sont envoyés ajoute un anti-rebond sur les contacts pour éviter que le pic envoie 2 ou 3 fois contact fermé/ouvert à quelques ms d'intervalle pour le même contact.
Pascal
- tony49
- Dept: 85
- Collec Perso: 3 flips
- Rech/Achete: 0 flip
- Messages : 757
- Enregistré le : 01/10/2002
- Pas vu depuis 3 an(s)
- Niveau : Confirmé
- Pro / revendeur : non
- Localisation : Vendée
Marrant, je viens de terminer un séquenceur de tir pyrotechnique qui utilise une matrice 10x10 qui permet de tirer 100 lignes. Et comme toi je suis parti d'un 16F877A, je pilote les optos via des PCF8574 (bus I2C) ce qui peut être une bonne idée pour ta carte qui commandera les bobines et lampes ???
Enfin je dis ça mais je n'ai surement rien à t'apprendre...
Si tu as besoin du schema que j'ai fais, tu me le dis
(par contre la partie que j'ai fait après opto ne te permettra pas de commander des bobines et lampes car mon schéma est fait pour inflammer une charge sous 48V-1A et j'utilise de ce fait des TIC106 sur mes colonnes et des TIC116 sur mes lignes. toi il faudrait plutôt commander des triac).
Enfin je dis ça mais je n'ai surement rien à t'apprendre...
Si tu as besoin du schema que j'ai fais, tu me le dis
(par contre la partie que j'ai fait après opto ne te permettra pas de commander des bobines et lampes car mon schéma est fait pour inflammer une charge sous 48V-1A et j'utilise de ce fait des TIC106 sur mes colonnes et des TIC116 sur mes lignes. toi il faudrait plutôt commander des triac).
- romain
- Collec Perso: 11 flips
- Rech/Achete: 0 flip
- Messages : 2048
- Enregistré le : 01/10/2002
- Pas vu depuis 2 mois
- Niveau : Expert
- Pro / revendeur : non
Salut,Papo06 a écrit :Juste un truc si par hasard tu n'y a pas pensé, je ne sais pas à quelle fréquence le pic scrute les contacts mais il se pourrait que si la matrice tourne trop vite tu ais des faux rebonds, dans ce cas si plusieurs codes pour un même contacts sont envoyés ajoute un anti-rebond sur les contacts pour éviter que le pic envoie 2 ou 3 fois contact fermé/ouvert à quelques ms d'intervalle pour le même contact.
c'est effectivement un problème que je rencontre, c'est pour cette raison que des petits condensateurs sont indispensables sur les retours des contacts. La fréquence de balayage reste à fixer, mais ça n'empêche pas la réalisation de la première carte... c'est juste du programme.
le MCP23017 que j'utilise correspond à 2 PCF8574 (soit 16 pattes d'E/S). Il est par contre plus complet et largement paramétrable en interne (pullup, différents modes d'interruptions...)je pilote les optos via des PCF8574 (bus I2C) ce qui peut être une bonne idée pour ta carte qui commandera les bobines et lampes ???
Pour la puissance, j'utiliserai des MOSFET comme suggéré par Pascal. Ce circuit d'extension sera donc aussi utilisé sur les autres cartes pour commander les MOSFET. Des Triacs sont injustifiés car les alimentations sont en courant continu.
Je fais des derniers essais et je commence le routage de cette première carte.
@+ et merci de vos réponses et suggestions !
Addams - T2 - Fathom - Special Force - Robocop - OxO - EATPM - Silverball Mania - TZ - BK2K - Totem
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
- Papo06
- Dept: 06
- Collec Perso: 1 flip
- Rech/Achete: 0 flip
- Messages : 4904
- Enregistré le : 30/03/2005
- Pas vu depuis 7 mois
- Niveau : Confirmé
- Pro / revendeur : non
- Localisation : Mougins
Berk les capas on est plus en 1980romain a écrit : c'est effectivement un problème que je rencontre, c'est pour cette raison que des petits condensateurs sont indispensables sur les retours des contacts. La fréquence de balayage reste à fixer, mais ça n'empêche pas la réalisation de la première carte... c'est juste du programme.
Il faut faire un anti-rebond software
Pour le faire c'est facile il faut conserver l'état précédent de la matrice + un compteur par contact, il faut donc 64 compteurs pour une matrice 8x8.
L'algo est le suivant:
Pour chaque contact
__Si compteur > 0 Alors
____décrémenter compteur du switch
__Fin Si
__Si contact <> valeur précédente alors
____Si compteur du contact à 0 alors
______envoyer code sur usb
______mettre le compteur du switch à N
______mettre à jour l'état précédent
____Fin si
__Fin si
Fin Pour
Tu choisi N en fonction de la vitesse de rotation de la matrice et du temps d'anti-rebond que tu veux, plus N est grand moins tu auras de rebonds
Par exemple si tu veux un anti-rebond de 10ms et que ta matrice tourne à 1Khz, tu mets N=10
Pascal
- romain
- Collec Perso: 11 flips
- Rech/Achete: 0 flip
- Messages : 2048
- Enregistré le : 01/10/2002
- Pas vu depuis 2 mois
- Niveau : Expert
- Pro / revendeur : non
Salut Pascal et merci pour le bout de code !
Ayant subit une cure intensive d'algo pendant un an et ayant 2 projets robot derrière moi, le programmation ne me pose pas de réelles difficultés
Pour mon code, je travaille plus "proprement" et avec un seul compteur.
J'ai effectivement ralenti ma scrutation et je n'ai plus aucun rebond sur la matrice des contacts. Les condensateurs disparaissent donc.
en gros mon code ça donne :
décalage sur les colonnes
si colonne != état précédent alors
__envoyer colonne
fin si
Pour les contacts directs branchés sur les circuits d'extension MCP23017, leur broche d'interruption passe à 1 si le port change d'état... fastoche !
et j'ai une fonction d'émission qui se charge de la transmission vers le PC.
Tout ceci fonctionne en scrutation, mais je pense tout passer en interruption avec un timer.
@+ et merci encore
Ayant subit une cure intensive d'algo pendant un an et ayant 2 projets robot derrière moi, le programmation ne me pose pas de réelles difficultés
Pour mon code, je travaille plus "proprement" et avec un seul compteur.
J'ai effectivement ralenti ma scrutation et je n'ai plus aucun rebond sur la matrice des contacts. Les condensateurs disparaissent donc.
en gros mon code ça donne :
décalage sur les colonnes
si colonne != état précédent alors
__envoyer colonne
fin si
Pour les contacts directs branchés sur les circuits d'extension MCP23017, leur broche d'interruption passe à 1 si le port change d'état... fastoche !
et j'ai une fonction d'émission qui se charge de la transmission vers le PC.
Tout ceci fonctionne en scrutation, mais je pense tout passer en interruption avec un timer.
@+ et merci encore
Addams - T2 - Fathom - Special Force - Robocop - OxO - EATPM - Silverball Mania - TZ - BK2K - Totem
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
ex : RFM - Judge Dredd - RoadShow - NBA - ToM - WoZ
- damien d.
- Dept: 000
- Rech/Achete: 0 flip
- Messages : 4328
- Enregistré le : 01/10/2002
- Pas vu depuis 2 an(s)
- Niveau : Débutant
- Pro / revendeur : non
- Localisation : 4NG1C0URt
- Contact :
Plus de condos, mais, que restera t'il sur cette carte ?
Encore merci pour ton boulot!
Encore merci pour ton boulot!
Damien D. - centinex.wizard@gmail.com
Band Wagon^Jungle^Jubilee^OXO^Little Chief^Space Mission^Royal Flush^Silverball Mania^Embryon^Speakeasy 4^Black Hole^Black Hole^Blackbelt^Genesis^Cyclone^Black Knight 2000^Star Trek^Star Wars^Twilight Zone
Band Wagon^Jungle^Jubilee^OXO^Little Chief^Space Mission^Royal Flush^Silverball Mania^Embryon^Speakeasy 4^Black Hole^Black Hole^Blackbelt^Genesis^Cyclone^Black Knight 2000^Star Trek^Star Wars^Twilight Zone
- Papo06
- Dept: 06
- Collec Perso: 1 flip
- Rech/Achete: 0 flip
- Messages : 4904
- Enregistré le : 30/03/2005
- Pas vu depuis 7 mois
- Niveau : Confirmé
- Pro / revendeur : non
- Localisation : Mougins
Sans parler de code propre ou sale, chacun son point de vue , mais ralentir la matrice va supprimer les rebond évidemment mais au détriment de la sensibilité, dans ton code cité rien n'empèche les rebonds.romain a écrit : Pour mon code, je travaille plus "proprement" et avec un seul compteur.
J'ai effectivement ralenti ma scrutation et je n'ai plus aucun rebond sur la matrice des contacts. Les condensateurs disparaissent donc.
en gros mon code ça donne :
décalage sur les colonnes
si colonne != état précédent alors
__envoyer colonne
fin si
Je te l'accorde et globalement ça marchera, mais il peut arriver (rarement certes) que des fermetures soient ratés:
Typiquement sur les roll-over l'appui est extremement bref quand la bille file dessus elle le frole à peine, c'est pourquoi il y avait des capas sur les vieux flips, si ta matrice tourne trop lentement elle peut 'rater' un passage, typiquement si le rollover est sur la colonne 1 et que ta matrice commence à scruter la colonne 2 à l'instant où la bille passe sur le rollover 1, le temps qu'elle fasse les colonnes 2 à 8, la bille est partie et la lecture de la colonne 1 ne donne rien...
Pareil avec les rebonds: imagine qu'à l'instant où tu scrutes la colonne 1, la bille passe bien sur le contact à cet instant mais pas de bol t'es pile poil dans un rebond et la colonne ne voit pas le contact, le tour d'après la bille est partie, le contact est raté.
Plus le contact est vieux et crado (comme les flips ) , et plus il y a de ratages et de rebonds.
Mettre un compteur par contact (et pas simplement par ligne sinon ça fera n'importe quoi si plusieurs rollover alignés sur le plateau sont sur la même colonne de la matrice ou en multiball) garanti la sensibilité pour chaque contact, on peut faire tourner la matrice à fond tout en évitant les rebonds.
L'anti rebond peut être implémenté dans le programme du pc qui va gérer le flip et pas obligatoirement sur la carte contacts, c'est juste une donnée importante à prendre en compte.
Pascal
- Mimosa
- Dept: 000
- Rech/Achete: 0 flip
- Messages : 355
- Enregistré le : 26/06/2007
- Pas vu depuis 3 an(s)
- Niveau : Débutant
- Pro / revendeur : non
- Localisation : Pithiviers/Loiret
- Contact :
Bonjour,
petite idée peut-être un peu bête
Pourquoi ne pas utiliser directement un clavier de PC en usb; ça coute que dalle et ça permet de détecter 105 contacts différents :
A+
petite idée peut-être un peu bête
Pourquoi ne pas utiliser directement un clavier de PC en usb; ça coute que dalle et ça permet de détecter 105 contacts différents :
A+
BayWatch SEGA - Jurassic Park DE - Apollo13 SEGA - World CUp Soccer - Dr Dude - Cactus Jack - Mario Brs - Star Wars DE - LethalWeapon 3 - Tales from the Crypt - Theatre Of Magic