Dual Kick 3.1/1.3 A500 (27C800 + 12F629)

15 sujets de 76 à 90 (sur un total de 95)

  • Mod

    Amigars

      #259393

      @X-cAlibur

      Si tu as à vendre juste une 27C800 ou idem qui permettrait d’avoir à la fois un KS1.3 + Logica je suis preneur 🙂

      Pour la bascule entre les ROMs je le ferai old-school avec juste un switch…

      Ou sinon même une version avec 1.2/1.3/Logica et 3.1 ça m’irait aussi 🙂 J’ai comme toi une CM A500+ qui tourne en stock A500 avec son A501 connectée.

      Merci !

      Only AMIGA makes it possible !

      X-cAlibur

        #259394

        @Amigars

        Pour une version quadkicks, oublie le switch, tu seras forcé de passer au pic.
        Sinon avec deux switches, mais ça fait bcp quoi…

        Les 800, je les attends justement.
        Mais je n’en reçois que 4, ça commence à être dur à trouver à prix correct ces bestioles.
        Néanmoins, je peux t’en céder une oui, pas de souci…

        +++

        Mod

        Amigars

          #259396

          @X-cAlibur

          C’est sympa merci bcp 🙂

          Après si tu avais prévu de les utiliser, je ne veux pas abuser… si tu as des EPROMs juste pour faire 1.3/Logica ça m’ira bien aussi. Disons que la version quad kick c’est ultra confortable pour m’amuser un peu avec les kicks (il est probable que seuls les 1.2/1.3 passeront par le switch et pour les 2 autres il faudra ouvrir la bête), c’est tout.

          J’avais vu ça : http://www.ebay.fr/itm/2pcs-M27C800-100F1-M27C800-27C800-EPROMs-free-shipping-/161993333651?hash=item25b78e1b93:g:C4MAAOSwzgRWwsLZ mais comme j’ai pas de programmateur d’EPROM c’était un peu inutile pour moi…

          Only AMIGA makes it possible !

          X-cAlibur

            #259398

            Ces eproms pour les duals kicks sont les 800 que j’attends justement.
            Je n’en n’ai pas fircément besoin, j’aime avoir un peu de tout en réserve, donc, pas de souci si tu en veux une. 🙂
            Après, si tu veux vraiment un quad, oui, ça peut se faire aussi, j’ai les eproms en stock.
            Je viens de relire ton ancien post, je n’ai pas de 500+ moi hein ?
            Juste un 500 normal, mais Saya a testé et ça passe.
            Et oui je suis sympa, non mais ! 🙂

            Mod

            Amigars

              #259399

              Ok merci encore. Je passe en MP pour la suite.

              Désolé je croyais que tu avais un A500 rev8 (sur base CM A500+) mais en regardant la photo de plus près c’est un rev6. Mais comme tu dis que ça marche aussi sur A500+ donc ce sera bon pour mon A500 en CM rev8 🙂

              Only AMIGA makes it possible !

              X-cAlibur

                #260082

                Je remonte le top pour Loup et je ne sais plus qui.
                Quelqu’un m’avait demandé un dual kick non ?
                J’ai rentré les 800, donc si les personnes concernées me lisent, qu’elles se manifestent, thx.

                Loup

                  #260094

                  Salut XcAlibur,

                  Pour ce qui est des 27c800 j’en ai.

                  Par contre le Pic j’ai lu que tu avais « revu/corrigé sa programmation », pour l’instant je n’ai pas touché à mon A600 parce que je passe tout mon temps sur le A1200 Tour…si tu peux m’envoyer le fichier je prends, j’ai de quoi programmer le 12F629.

                  Merci

                  http://www.slickpic.com/u/LoupSifer/Arcade?squared

                  X-cAlibur

                    #260102

                    Si tu veux, mais il ne te servira pas à grand-chose.
                    C’est juste la seconde #addr qui est connectée dans le cas du quad-bios.
                    Afin de faire 0-0/0-1/1-0/1-1
                    Soit 2^2 = 4 combinaisons.

                    Loup

                      #260105

                      Ok, alors pas besoin…tu as raison

                      http://www.slickpic.com/u/LoupSifer/Arcade?squared

                      freddu91

                        #271906

                        Compte AI de l’utilisateur freddu91 et messages supprimés à la demande de ce dernier !

                        Attachments:

                        Fuwyfun

                          #271909

                          L’endroit où souder est le Q511.
                          Tu trouveras le tuto pour câbler le reset du 600 ICI
                          De mémoire, la borne du bas vers le 12F629.
                          Et les bornes du haut (masse) et du bas connectées sur ton bouton poussoir.

                          A500 rev. 6a|MC68010P8|PC502|MTEC AT500|1Mo Chip/1Mo Slow/8Mo Fast|KS 1.3/3.1|CF 2Go|GoteK HxC|LCD|Rotary|switch DF0/DF1
                          A500+ rev 8a.1
                          A600|Vampire 600 V1 (68EC20@195Mhz/64Mo Fast 32b)|2Mo Chip (A604n)|CF 4Go|KS 1.3/3.1
                          The A500 Mini
                          P233MMX|QDI P5I430TX (TIB+)|256Mo SDRAM|Matrox G450 32Mo PCI|3DFX2|AWE64 ISA|SSD 120Go|ZIP100 //
                          Pii266|440LX|384Mo SDRAM|Riva TNT 64Mo|SB Live!|SSD 120Go|ZIP100 IDE
                          Piii1Ghz|ASUS P2B|440BX|768Mo SDRAM|FX5500 256Mo|SB Live!|SSD 120Go
                          ToDo : Q9450,XP2800+, iMacG5

                          freddu91

                            #271916

                            Compte AI de l’utilisateur freddu91 et messages supprimés à la demande de ce dernier !

                            Giants

                              #383212

                              Blup !

                              Je me permet de rebondir sur le sujet.
                              J’ai essayé de contacté X-cAlibur mais c’est resté sans réponse, peu etre est t’il passé à autre chose?

                              Quoi qu’il en soit, je me suis mis au code du PIC (remis ? touché en ASM quand j’étais à l’école)
                              L’avantage c’est que maintenant on a plein d’outils et qu’on peut coder en C
                              Du coup, j’ai refais le code qu’il proposait, si ça interresse du monde !

                              Alors attention, je ne suis pas DEV et encore moins sur du PIC
                              Le code fonctionne, il est tres simple Mais, il se peut qu’il puisse être amélioré (et le cas échéant, on le rendra mailleur).
                              Donc si c’est votre domaine, n’hesite pas à apporter votre exper. sur le sujet, je pense qu’on est tous preneur.
                              Ce genre de montage existe depuis belle lurette mais là, comme déjà dit dans ce thread, c’est à base de PIC.

                              Hardware : PIC12F629 + 27C800 (programmé Bank0 = Kickstart 1.3, Bank1 = Kickstart 3.1 pour A500)
                              IO utilisé : exactement comme le code X-cAlibur, à savoir :
                              GP0 pour piloter la 27C800 (donc configuréen sortie)
                              GP2 connecté sur le KBRESET de l’amiga (donc configuré en entré)
                              GP1 connecté sur Diode 1N4148 (Cathode, trait noir) puis Anode de cette diode sur -> R503 pin1 (en haut, voir schema si besoin)

                              Pour rappel, _KBRESET est à l’état HAUT en fonctionnement et passe par une phase BAS quand on fait un reset (de mémoire ~200ms)

                              Ce que fait le code : Quand on provoque un Reset de l’amiga (soit via les touches claviers, soit via un Bouton poussoir ajouté) et ce pendant 5 Secondes (temps trop long ? dite moi)
                              Il passe GP0 de l’état Haut à l’état Bas OU inverssement (selon dernier état)
                              Donc on passe d’une BANK à l’autre (et donc d’un kickstart à l’autre).

                              Treve de blabla, voila le code.

                              #include <xc.h>
                              #include <stdint.h>
                              //Dual Kickstart pour Amiga
                              //2025 Giants
                              
                              // Définitions
                              #pragma config FOSC = INTRCCLK
                              #pragma config WDTE = OFF
                              #pragma config PWRTE = OFF
                              #pragma config BOREN = OFF
                              #pragma config CPD = OFF
                              #pragma config MCLRE = OFF
                              #pragma config CP = OFF
                              
                              // Variables globales
                              uint8_t kickstart_state = 0;    // État initial de GP0 (0 = LOW, 1 = HIGH)
                              #define _XTAL_FREQ 4000000      // Fréquence d'oscillation (4 MHz)
                              
                              // Configuration du PIC
                              void init_pic(void) {
                              #define OSCCON 0x61;            // Configure l'oscillateur interne à 4 MHz
                                  
                              // Configurer GP2 en entrée et GP0 en sortie
                              TRISIObits.TRISIO2 = 1;             // GP2 en entrée (1 = entrée)
                              TRISIObits.TRISIO0 = 0;             // GP0 en sortie (0 = sortie)
                              TRISIObits.TRISIO1 = 0;             // GP1 en sortie (0 = sortie)
                              GPIObits.GPIO0 = kickstart_state ;  // Set de GP0
                              }
                              
                              // Fonction de délai (en millisecondes)
                              void delay_ms(uint16_t ms) {
                                  for (uint16_t i = 0; i < ms; i++) {
                                      __delay_ms(1);
                                  }
                              }
                              
                              // Fonction de clignotement de GP1
                              void blink(uint16_t nb) {
                                  for (uint16_t i = 0; i < nb; i++) {
                                  GPIObits.GPIO1 = 1;
                                  delay_ms(100);
                                  GPIObits.GPIO1 = 0;
                                  delay_ms(100);
                                  }
                              }
                              
                              void main(void) {
                                  init_pic();       // Initialisation du PIC
                                  delay_ms(2000);   // Attendre 2 secondes pour avoir un etat stable
                              
                                  while(1) {
                                      // Si la broche 5 (GP2) est à l'état bas (GND)
                                      if (GPIObits.GPIO2 == 0) {
                                          delay_ms(2000);   // Attendre 2 secondes
                                          
                                          // Si la broche 5 (GP2) est toujours à l'état bas après 2 secondes
                                          if (GPIObits.GPIO2 == 0)
                                          {
                                              if (kickstart_state == 0) {
                                                  blink(3);
                                                  kickstart_state = 1; GPIObits.GPIO0 = 1; }
                                              else {
                                                  blink(2);
                                                  kickstart_state = 0; GPIObits.GPIO0 = 0 ; }
                                              __delay_ms(500);  // Délai de 500 ms pour éviter une surcharge du processeur
                                          }
                                      }        
                                  }
                              }

                              Le fichier compilé pret à être programmer sur un PIC12F629

                              Donc, concernanr le PIC12F629 :
                              – Pin VCC (1) sur le 5v de l’amiga (ex: sur la pin22 du 27C800)
                              – Pin GND (8) sur la masse de l’amiga (ex : sur la pin12 ou 31 du 27C800)
                              – Pin VPP (4) sur la masse de l’amiga comme au dessus.
                              – Pin GP1 (6) vers une diode 1N4148 Cathode
                              – La diode en question coté Anode, connecté sur
                              AMIGA500 ==> R503 pin1 (qui est aussi connecté a R505, voir schema de l’Amiga500 rev R5 et/ou R8)
                              AMIGA600 ==> R636 pin1 (qui est aussi connecté à R635, voir schema)
                              Idéalement il faudrait coupé la liaison entre le CIA (_LED PA1, Pin3) et les resistances R503/R505
                              Et la remplacé par une diode histoire d’envoyer uniquement le 5V/GND sur le circuit de filtre.
                              Mais bon… De base la pin 3 (_LED) du CIA est mise à la masse en interne, donc ça ne devrait pas poser de probleme.
                              Et puis, ça ne dure que 200ms…
                              En tout cas les deux solutions fonctionnent, en coupant ou pas.

                              – Pin GP0 (7) vers la pin1 du 27C800 (aka : A18) : note, cette pin de doit PAS etre connecté sur l’amiga, uniquement au PIC
                              – Pin GP2 (5) vers le signal _KBRESET de l’amiga :
                              _KBRESET sur A500 se trouve sur JP1 (à gauche du NE555)
                              _KBRESET sur A600 se trouve sur la pin3 de Q511 (ou pin63 du Gayle ou Pin1 de U49)

                              Et… c’est tout 🙂

                              Question, remarque, autres, n’hesite pas.

                              Update ; Ajout d’un ‘set’ de GP0 au boot du PIC + une tempo avant d’entrer dans la boucle principale de check des 2s du reset;
                              ça permet à l’amiga de booter trankilou.
                              Il set la pin GP0 correctement, l’amiga bootera forcement sur cette bank (aucune doute)
                              et… attends 2s*
                              Puis entre dans une boucle sans fin de check du signal reset.
                              Update ; Ajout de l’utilisation de GP1 pour faire clignoter la LED POWER de l’amiga
                              Selection de Bank0 = clignote 2 fois
                              Selection de Bank1 = clignote 3 fois

                              *ca permet d’etre plus stable car si on etteinds et on rallume rapidement l’amiga, l’elec restant dans les condo peuvent suffirent à faire fonctionner le PIC alors que l’amiga est etteinds.
                              Du coup, quand il est rallumé, il était possible de se trouver sur l’autre bank. (car il aura capté le signal reset)
                              Bref… theoriquement, ça ne devrait plus du tout etre le cas.

                              Réparation électronique (Amiga and Co et re-cap.)
                              Contact UNIQUEMENT via email (voir ma page web)
                              https://sasfepu78.ddns.net/PA/index.html

                              Fuwyfun

                                #383218

                                Joli!

                                A500 rev. 6a|MC68010P8|PC502|MTEC AT500|1Mo Chip/1Mo Slow/8Mo Fast|KS 1.3/3.1|CF 2Go|GoteK HxC|LCD|Rotary|switch DF0/DF1
                                A500+ rev 8a.1
                                A600|Vampire 600 V1 (68EC20@195Mhz/64Mo Fast 32b)|2Mo Chip (A604n)|CF 4Go|KS 1.3/3.1
                                The A500 Mini
                                P233MMX|QDI P5I430TX (TIB+)|256Mo SDRAM|Matrox G450 32Mo PCI|3DFX2|AWE64 ISA|SSD 120Go|ZIP100 //
                                Pii266|440LX|384Mo SDRAM|Riva TNT 64Mo|SB Live!|SSD 120Go|ZIP100 IDE
                                Piii1Ghz|ASUS P2B|440BX|768Mo SDRAM|FX5500 256Mo|SB Live!|SSD 120Go
                                ToDo : Q9450,XP2800+, iMacG5

                                stephbb75

                                  #383229

                                  Salut @Giants,

                                  Question, remarque, autres, n’hesite pas.

                                  Ha oui bien cool 🙂

                                  Moi qui est cela sur un de mes 500, je cherche une solution identique pour les 1200 et le 4000.
                                  Cela serais t’il adaptable à ces machines ?

                                  Je n’ai pas relut tous le post, mais il y a un schéma du montage ?

                                  https://youtube.com/@stephbb75

                                15 sujets de 76 à 90 (sur un total de 95)

                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Matériel Dual Kick 3.1/1.3 A500 (27C800 + 12F629)

                                Amiga Impact