Auteur Sujet: Reproduction Taito Ice Cold Beer ou Zeke's PEAK  (Lu 50980 fois)

Hors ligne kidicarus

  • Grand Pilier
  • *
  • Messages: 786
  • Localisation: Bruxelles Belgique
  • Fan de flippers de nintendo et retro gaming
    • Voir le profil
Reproduction Taito Ice Cold Beer ou Zeke's PEAK
« Réponse #128 le: Jeudi 09 Juin 2016, 12:01:52 pm »
  • Terrible ce projet en tout cas !! Je vais suivre cela avec attention ?
    Je cherche une playchoice 10 et une pcb super system nintendo un playfield skateball ; evel knievel

    Hors ligne Sunn

    • ✌(◕‿◕)✌ Donateur 2019
    • Arcade Killer
    • *
    • Messages: 2939
    • Localisation: B’sançon
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #129 le: Jeudi 09 Juin 2016, 14:01:08 pm »
  • ouais, sacré projet !



    j'ai hâte de voir la suite aussi !


    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2022 Brouettes Master's
    • Staff
    • Arcade Kingmaster
    • *****
    • Messages: 4198
    • Localisation: 27
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #130 le: Jeudi 09 Juin 2016, 22:58:35 pm »
  • Bonsoir,

    Entre 2 enregistrements sur ma base de dev, j'ai trouvé ceci sur l'AY-3-8910, Il y a d'autre infos au passage
    https://books.google.de/books?id=ocjJE4KtZq4C&lpg=PA95&dq=ay-3-8910&pg=PA90&hl=fr#v=onepage&q=ay-3-8910&f=false
    Bonne lecture.

    Hors ligne sushy18

    • ✌(◕‿◕)✌ Donateur 2019 Bootlegger de cendrier Dealer de tokens
    • Game Cheater
    • *
    • Messages: 2273
    • Localisation: Bourges/Paris/cluster60
    • Dans l'arcade de pere en fils depuis aout 2014
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #131 le: Jeudi 09 Juin 2016, 23:22:59 pm »
  • Merci Tilowil  <:)
    Je suis sur mon tel  :mrgreen: on peut l'enregistrer en pdf et le mettre sur le post ? (Je checkerai ce week end depuis un PC histoire de tout centraliser  :D )

    Justement je regardais les montages à base d'arduino et AY-3-8910 (YM2149)
    En regardant les schémas,
    Je me demandais si les sons sont stockés ou indiqués dans les dumps de U23 et U24  ou si c'est le processeur (m6809) ou autre qui causait directement avec le chip son ou si c'est stocké ailleurs... ??
    Quoi que, dans le cas de multiple arduino, on pourrait leur donner le nom des beatles... John, paul, georges et ringo ! :)
    Je viens de percuter  :D

    Excellente idée  de nommer les AtMega :D
    Après à choisir je serais plutôt sur Leonardo , raphael, Donatello,Michelangelo ..... (:x
    Ou si on est à 3 arduino : alex, tam et sylia (cat's eyes)
    « Modifié: Vendredi 10 Juin 2016, 00:22:52 am par sushy18 »
    Si tu ne sais pas demande, si tu sais partage !!
    Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
    "Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2022 Brouettes Master's
    • Staff
    • Arcade Kingmaster
    • *****
    • Messages: 4198
    • Localisation: 27
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #132 le: Vendredi 10 Juin 2016, 01:21:57 am »
  • Bonsoir,

    Ce que j'ai trouvé concernant le AY-38910 et l'arduino hormis le livre :

    // No Quarz required version for controlling a AY-3-8910 sound chip with the Arduino
    // Author: Matio Klingemann http://incubator.quasimondo.com

    // A bomb drop sound effect modeled after an example found here
    // http://books.google.de/books?id=ocjJE4KtZq4C&lpg=PA95&dq=ay-3-8910&pg=PA90#v=onepage&q=ay-3-8910&f=false

    ////Pin connected to Data in (DS) of 74HC595
    const int dataPin = 5;
    //Pin connected to latch pin (ST_CP) of 74HC595
    const int latchPin = 6;
    //Pin connected to clock pin (SH_CP) of 74HC595
    const int clockPin = 7;

    const int pinBC1 =  13;    
    const int pinBCDIR =  12;

    // 2mz clock pin
    const int freqOutputPin = 11;   // OC2A output pin for ATmega328 boards

    const int prescale  = 1;
    const int ocr2aval  = 3;
    const float period    = 2.0 * prescale * (ocr2aval+1) / (F_CPU/1.0e6);
    const float freq      = 1.0e6 / period;

    int tp[] = {//MIDI note number
      15289, 14431, 13621, 12856, 12135, 11454, 10811, 10204,//0-o7
      9631, 9091, 8581, 8099, 7645, 7215, 6810, 6428,//8-15
      6067, 5727, 5405, 5102, 4816, 4545, 4290, 4050,//16-23
      3822, 3608, 3405, 3214, 3034, 2863, 2703, 2551,//24-31
      2408, 2273, 2145, 2025, 1911, 1804, 1703, 1607,//32-39
      1517, 1432, 1351, 1276, 1204, 1136, 1073, 1012,//40-47
      956, 902, 851, 804, 758, 716, 676, 638,//48-55
      602, 568, 536, 506, 478, 451, 426, 402,//56-63
      379, 358, 338, 319, 301, 284, 268, 253,//64-71
      239, 225, 213, 201, 190, 179, 169, 159,//72-79
      150, 142, 134, 127, 119, 113, 106, 100,//80-87
      95, 89, 84, 80, 75, 71, 67, 63,//88-95
      60, 56, 53, 50, 47, 45, 42, 40,//96-103
      38, 36, 34, 32, 30, 28, 27, 25,//104-111
      24, 22, 21, 20, 19, 18, 17, 16,//112-119
      15, 14, 13, 13, 12, 11, 11, 10,//120-127
      0//off
    };

    int fx = 0;
    int phase = 0;
    int temp1 = 0;


    void setup()
    {
       //init pins
        pinMode(latchPin, OUTPUT);
        pinMode(dataPin, OUTPUT);  
        pinMode(clockPin, OUTPUT);
        pinMode(pinBC1, OUTPUT);
        pinMode(pinBCDIR, OUTPUT);        
        pinMode(freqOutputPin, OUTPUT);
      
        init2MhzClock();
        
        set_mix( false, false, false, false, false, true );
        set_chA_amplitude(0,false);
        set_chB_amplitude(0,false);
        set_chC_amplitude(0,false);
    }


    void loop() {
      if ( fx == 0 )
      {
         if ( phase == 0 )
        {
            set_mix( true, false, false, false, false, true );
            set_chA_amplitude(15,false);
            temp1 = 0x20;
            write_data(0x01, 0);
            phase++;
        } else if ( phase == 1 )
        {
           write_data(0x00, temp1);
           delay(12);
           temp1++;
           if ( temp1 == 0xc0 ) phase++;
        } else if ( phase == 2)
        {
            noise(0x0f);
            set_mix( false, false, false, true, true, true );
            set_chA_amplitude(0,true);
            set_chB_amplitude(0,true);
            set_chC_amplitude(0,true);
            set_envelope(false,false,false,false,0x5000);
            delay(5000);
            phase=0;
        }
      }
    }



    void  init2MhzClock()
    {
        // Set Timer 2 CTC mode with no prescaling.  OC2A toggles on compare match
        //
        // WGM22:0 = 010: CTC Mode, toggle OC
        // WGM2 bits 1 and 0 are in TCCR2A,
        // WGM2 bit 2 is in TCCR2B
        // COM2A0 sets OC2A (arduino pin 11 on Uno or Duemilanove) to toggle on compare match
        //
        TCCR2A = ((1 << WGM21) | (1 << COM2A0));

        // Set Timer 2  No prescaling  (i.e. prescale division = 1)
        //
        // CS22:0 = 001: Use CPU clock with no prescaling
        // CS2 bits 2:0 are all in TCCR2B
        TCCR2B = (1 << CS20);

        // Make sure Compare-match register A interrupt for timer2 is disabled
        TIMSK2 = 0;
        // This value determines the output frequency
        OCR2A = ocr2aval;
    }

    void set_mix( boolean chA_tone,boolean chB_tone,boolean chC_tone,boolean chA_noise,boolean chB_noise,boolean chC_noise )
    {
       write_data(7, B11000000 |
                       (chC_noise == true ? 0 : B00100000)|
                        (chB_noise == true? 0 : B00010000) |
                        (chA_noise == true ? 0 : B00001000) |
                        (chC_tone == true ? 0 : B00000100) |
                        (chB_tone == true ? 0 : B00000010) |
                        (chA_tone == true ? 0 : B00000001)
       );
    }

    void set_chA_amplitude(int amplitude, boolean useEnvelope )
    {
       write_data(8, (amplitude & 0xf) | (useEnvelope != true ? 0 : B00010000 ) );
    }

    void set_chB_amplitude(int amplitude, boolean useEnvelope )
    {
      write_data(9, (amplitude & 0xf) | (useEnvelope != true ? 0 : B00010000 ) );
    }

    void set_chC_amplitude(int amplitude, boolean useEnvelope )
    {
      write_data(10, (amplitude & 0xf) | (useEnvelope != true ? 0: B00010000 ) );
    }

    void set_envelope( boolean hold, boolean alternate, boolean attack, boolean cont, unsigned long frequency )
    {
        write_data(13, (hold == true ? 0 : 1)|
                        (alternate == true? 0 : 2) |
                        (attack == true ? 0 : 4) |
                        (cont == true ? 0 : 8)
                    );
                    
        write_data(11,frequency & 0xff );
        write_data(12,(frequency >> 8)& 0xff );
        
    }

    void note_chA(int i)
    {
      write_data(0x00, tp[i]&0xff);
      write_data(0x01, (tp[i] >> 8)&0x0f);    
    }

    void note_chB(int i)
    {
      write_data(0x02, tp[i]&0xff);
      write_data(0x03, (tp[i] >> 8)&0x0f);
    }

    void note_chC(int i)
    {
      write_data(0x04, tp[i]&0xff);
      write_data(0x05, (tp[i] >> 8)&0x0f);
    }

    void noise(int i)
    {
      write_data(0x06, i&0x1f);
    }

    void mode_latch(){
        digitalWrite(pinBC1, HIGH);
        digitalWrite(pinBCDIR, HIGH);
    }

    void mode_write(){
        digitalWrite(pinBC1, LOW);
        digitalWrite(pinBCDIR, HIGH);
    }

    void mode_inactive(){
        digitalWrite(pinBC1, LOW);
        digitalWrite(pinBCDIR, LOW);    
    }

    void write_data(unsigned char address, unsigned char data)
    {  
      mode_inactive();  
      //write address

      digitalWrite(latchPin, LOW);
      // shift out the bits:
      shiftOut(dataPin, clockPin, MSBFIRST, address);  

      //take the latch pin high so the LEDs will light up:
      digitalWrite(latchPin, HIGH);

      mode_latch();  
      mode_inactive();

      //write data
      mode_write();  

      digitalWrite(latchPin, LOW);
      // shift out the bits:
      shiftOut(dataPin, clockPin, MSBFIRST, data);  

      //take the latch pin high so the LEDs will light up:
      digitalWrite(latchPin, HIGH);

      mode_inactive();  
    }

    Bon j'ai trouvé ce code mais je n'ai pas encore regarder plus en details. C'est juste une piste.

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2022
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 6327
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #133 le: Vendredi 10 Juin 2016, 11:08:43 am »
  • Salut,

    En regardant les schémas,
    Je me demandais si les sons sont stockés ou indiqués dans les dumps de U23 et U24  ou si c'est le processeur (m6809) ou autre qui causait directement avec le chip son ou si c'est stocké ailleurs... ??Je viens de percuter  :D

    Je ne connais pas précisément AY-3-8910, mais ce genre de circuit produit un son ou une note d'une certaine fréquence, avec une certaine enveloppe ADSR (Attack, Decay, Sustain, Release) en utilisant une forme d'onde de base (carré, triangulaire ou sinusoïdale). La forme de l'enveloppe est définie par des valeurs que tu vas placer dans certains registres de l'AY, et de même la fréquence jouée est fonction de valeurs mises dans ses registres (et ce pour chaque canal).

    Il n'y a donc pas de "sons" stockés à proprement parler. C'est plutôt la partition en quelques sorte qui est stockée en ROM, et le processeur qui commande l'AY lui envoie la succession de notes voulues avec le timing voulu (selon le tempo).

    En résumé :
    - la partition est stockée en ROM
    - une routine (un programme quoi) exécutée par le processeur lit la partition en ROM et traduit ces données en une séquences de valeurs envoyées au bon moment dans les différents registres de l'l'AY

    Je ne parle ici que de "chiptune", et je ne sais pas si l'Ice Cold Beer utilise des samples (mais le principe est le même : les samples sont en ROM et le processeur via une routine dédiée va les faire "jouer" par l'AY, chose pour laquelle il n'est pas très doué ;)).

    A+
    « Modifié: Vendredi 10 Juin 2016, 11:10:23 am par Little_Rabbit »
    Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
    Ma séance sur le divan : c'est grave Docteur ? :-\
    Ma gaming room

    Hors ligne sushy18

    • ✌(◕‿◕)✌ Donateur 2019 Bootlegger de cendrier Dealer de tokens
    • Game Cheater
    • *
    • Messages: 2273
    • Localisation: Bourges/Paris/cluster60
    • Dans l'arcade de pere en fils depuis aout 2014
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #134 le: Vendredi 10 Juin 2016, 11:20:31 am »
  •  <:)
    Merci pour ces infos  :-*
    Du coup on peut imaginer les partitions dans u23 et u24 ??
    Si oui on peux les extraire sachant que les dumps sont dispo pour Mame ??
    Si tu ne sais pas demande, si tu sais partage !!
    Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
    "Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

    Hors ligne lipide512

    • Famille
    • *
    • Messages: 1132
    • Localisation: Seine et Marne
    • Bonheur Pixel Perfect !
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #135 le: Vendredi 10 Juin 2016, 13:10:21 pm »
  • Excellente idée  de nommer les AtMega :D
    Après à choisir je serais plutôt sur Leonardo , raphael, Donatello,Michelangelo ..... (:x
    Ou si on est à 3 arduino : alex, tam et sylia (cat's eyes)


    Normalement les chipsets ont un nom simple à énoncer/écrire : Agus, Denise et Paula par exemple.
    Donc ça donnerait Leo, Raph, Dony, Mickey...
    Après dans le cas des beatles, faut voir qui est le boss... John ou Paul ?! :) (troll de vieux ??)  =:))
    « Modifié: Vendredi 10 Juin 2016, 13:15:02 pm par lipide512 »

    TylerDurden67

    • Invité
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #136 le: Vendredi 10 Juin 2016, 15:14:44 pm »
  • Si t'en a deux, je propose de les nommer comme un gars que j'ai rencontré avec ses filles
    Clara et Morgane

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2022
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 6327
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #137 le: Vendredi 10 Juin 2016, 15:19:53 pm »
  • Re,

    Normalement les chipsets ont un nom simple à énoncer/écrire : Agnus, Denise et Paula par exemple.
    Donc ça donnerait Leo, Raph, Dony, Mickey...

    Mickey c'est déjà pris, c'est le custom chip de la Lynx ! :)
    (on peut donc aussi exclure Sally, Maria, Stella, Freddie ;))

    A+
    « Modifié: Vendredi 10 Juin 2016, 15:23:08 pm par Little_Rabbit »
    Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
    Ma séance sur le divan : c'est grave Docteur ? :-\
    Ma gaming room

    Hors ligne Robin

    • ✌(◕‿◕)✌ Donateur 2018
    • VIP
    • *
    • Messages: 1742
    • Localisation: Haut-Rhin
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #138 le: Vendredi 10 Juin 2016, 16:20:40 pm »
  • Ah ! là je peux peut être aider....

    John, Paul, Georges et Ringo...!!! 8)
    Bornes :
    Midway/ Hydro Thunder 
    Sega/ Super Monaco GP
    Sega/ Out Run
    Sega/ The Lost World
    Taito/ Opération Wolf
    Konami/ Silent Scope 2/ Fatal Judgement
    New Games
    Mini Jeutel
    Space Attack.

    Flipper :
    Sega/ South Park

    Hors ligne th_vador

    • Dieu de l' Arcade
    • *
    • Messages: 5093
    • Localisation: Orléans
    • come and get some
      • Voir le profil
      • TomTom's Lair
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #139 le: Vendredi 10 Juin 2016, 22:22:26 pm »

  • Ou si on est à 3 arduino : alex, tam et sylia (cat's eyes)

    Cylia voyons! ;)
    [EDIT] j'ai rien dit, ça a l'air d'être n'importe quoi au niveau orthographe pour la série, avec parfois S parfois C... et même plus souvent S :P

    A part ça, ce post est vraiment incroyable à suivre ^-^
    « Modifié: Vendredi 10 Juin 2016, 22:27:41 pm par th_vador »
    De l'arcade, de la console, des conneries, du Giga Wing 2. TomTom's Lair quoi!
    Recherche : Altered Beast (Master System) | Streets of Rage (Megadrive) | Une borne DDR | Un flipper

    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2022 Brouettes Master's
    • Staff
    • Arcade Kingmaster
    • *****
    • Messages: 4198
    • Localisation: 27
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #140 le: Samedi 11 Juin 2016, 02:08:18 am »
  • Bonsoir,

    MarcoSpecialities vendant le bloc moteur de remplacement (http://www.marcospecialties.com/control/keywordsearch?SEARCH_STRING=59-00063-001+), je me suis tapé le culot de leur demander à quel vitesse tournait le moteur. En principe il répondent assez rapidement. Croisons les doigts pour avoir l'information. Ainsi je pourrait adapter la vitesse de rotation sur un Nema17.

    A+

    Hors ligne sushy18

    • ✌(◕‿◕)✌ Donateur 2019 Bootlegger de cendrier Dealer de tokens
    • Game Cheater
    • *
    • Messages: 2273
    • Localisation: Bourges/Paris/cluster60
    • Dans l'arcade de pere en fils depuis aout 2014
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #141 le: Samedi 11 Juin 2016, 11:59:51 am »
  • Bonsoir,

    MarcoSpecialities vendant le bloc moteur de remplacement (http://www.marcospecialties.com/control/keywordsearch?SEARCH_STRING=59-00063-001+), je me suis tapé le culot de leur demander à quel vitesse tournait le moteur. En principe il répondent assez rapidement. Croisons les doigts pour avoir l'information. Ainsi je pourrait adapter la vitesse de rotation sur un Nema17.

    A+

    Attention faudrait pas que tu sois plus motivé que moi hein  :-((  :D
    Je plaisante bien sûr.... content d'avoir dans l'équipe des personnes motivées et/ou compétentes (les 2 dans ton cas ) :-*
    Très bonne initiative , mais je pense qu'ils ne peuvent (s'ils acceptent) donner que les caractéristiques du moteur ( ils garderont jalousement la réf du moteur..)
    Ensuite si on arrive à obtenir les RPM faudra les mêmes dimensions de roues/poulie et utiliser le même systèm de rails/déplacement/courroie pour rester fidèle à la vitesse...

    Je pense que le plus simple et moins pro au passage serait de "chronométrer" la course sur une distance et d'adapter le nema pour retrouver la même vitesse... ce qui permettrait d'avoir plus de lattitude dans le choix des éléments non ?

    Si tu ne sais pas demande, si tu sais partage !!
    Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
    "Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

    Hors ligne sushy18

    • ✌(◕‿◕)✌ Donateur 2019 Bootlegger de cendrier Dealer de tokens
    • Game Cheater
    • *
    • Messages: 2273
    • Localisation: Bourges/Paris/cluster60
    • Dans l'arcade de pere en fils depuis aout 2014
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #142 le: Lundi 13 Juin 2016, 00:44:39 am »
  • salut tous les gens

    qq'un sait quel est le nom ou la ref de ce switch ??


    il est just nommé Magswitch !!

    le voici en action ici

    ca nous fera économiser toute la structure thermoformé à l’arrière ... p=)
    « Modifié: Lundi 13 Juin 2016, 00:47:03 am par sushy18 »
    Si tu ne sais pas demande, si tu sais partage !!
    Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
    "Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

    Hors ligne spectroman

    • alias Tondu
    • Staff
    • Game Cheater
    • *****
    • Messages: 2440
    • Localisation: aubagne
      • Voir le profil
    Reproduction Taito Ice Cold Beer ou Zeke's PEAK
    « Réponse #143 le: Lundi 13 Juin 2016, 06:37:04 am »
  • Magswitch, ca doit être un switch magnetique