Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Hardware
  3. CPU & Overclock
  4. Prime Cores V1.0 Freeware

Prime Cores V1.0 Freeware

Pianificato Fissato Bloccato Spostato CPU & Overclock
438 Post 0 Autori 40.9k Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • A Non in linea
    A Non in linea
    apix_1024
    scritto su ultima modifica di
    #177

    voilà:

    i36143_Immagine.jpg

    1 Risposta Ultima Risposta
    0
    • X Non in linea
      X Non in linea
      Xstreme
      scritto su ultima modifica di
      #178

      Le085 ha scritto:

      no 32

      lo puoi ricaricare ?

      stesso link

      stesso zip

      ma è aggiornato

      thanks

      1 Risposta Ultima Risposta
      0
      • X Non in linea
        X Non in linea
        Xstreme
        scritto su ultima modifica di
        #179

        apix_1024 ha scritto:

        voilà:

        nel limite dello scarso programmatore che sono,

        e di certo non al livello di

        Franck Delattre / CPU-Z,

        mi dici che voci si possono aggiungere o togliere ?

        1 Risposta Ultima Risposta
        0
        • G Non in linea
          G Non in linea
          gear667
          scritto su ultima modifica di
          #180

          bonis62 ha scritto:

          ------------------------------------------------------------------------

          abbiate una sana pazienza :ave:

          http://www.xstreme.it/XSSI5.zip

          avrei bisogno di...........beta testing.......grazieeee O0

          questo lo dedico a TOTO

          ------------------------------------------------------------------------

          l'ho provato ma si appena rileva i dati si chiude immediatamente senza il tempo di fare screen o altro

          1 Risposta Ultima Risposta
          0
          • X Non in linea
            X Non in linea
            Xstreme
            scritto su ultima modifica di
            #181

            gear667 ha scritto:

            l'ho provato ma si appena rileva i dati si chiude immediatamente senza il tempo di fare screen o altro

            ok

            lancialo dalla shell (cmd.exe) e dimmi che errore ti da....

            xp ?

            1 Risposta Ultima Risposta
            0
            • G Non in linea
              G Non in linea
              gear667
              scritto su ultima modifica di
              #182

              bonis62 ha scritto:

              ok

              lancialo dalla shell (cmd.exe) e dimmi che errore ti da....

              xp ?

              si sono sotto xp 32bit

              non so come fare a lanciarlo da shell, se mi puoi spiegare la procedura :)

              1 Risposta Ultima Risposta
              0
              • T Non in linea
                T Non in linea
                Timon85
                scritto su ultima modifica di
                #183

                Spero ti sia ultile per risolvere... Errore dal prompt; xp 32 bit su eeepc

                t36145_screen001.jpg

                1 Risposta Ultima Risposta
                0
                • X Non in linea
                  X Non in linea
                  Xstreme
                  scritto su ultima modifica di
                  #184

                  Timon85 ha scritto:

                  Spero ti sia ultile per risolvere... Errore dal prompt; xp 32 bit su eeepc

                  t36145_screen001.jpg

                  ok, grazie, il mio software ha problemi con le periferiche di massa del tuo pc , cd vuoto ? usb key lenta ? hard disk esterno ?

                  ---------------------------------------------------------------------

                  se vi da errore questa versione provate questa che usa la gui

                  http://www.xstreme.it/alpha.exe

                  -----------------------------------------------------------------------

                  1 Risposta Ultima Risposta
                  0
                  • X Non in linea
                    X Non in linea
                    Xstreme
                    scritto su ultima modifica di
                    #185

                    gear667 ha scritto:

                    si sono sotto xp 32bit

                    non so come fare a lanciarlo da shell, se mi puoi spiegare la procedura :)

                    manu di avvio

                    esegui

                    cmd.exe

                    metti l'exe in 😄

                    vai alla radice 😄

                    cd ..

                    cd ..

                    digita xssi5.exe

                    invio

                    1 Risposta Ultima Risposta
                    0
                    • T Non in linea
                      T Non in linea
                      Timon85
                      scritto su ultima modifica di
                      #186

                      bonis62 ha scritto:

                      ok, grazie, il mio software ha problemi con le periferiche di massa del tuo pc , cd vuoto ? usb key lenta ? hard disk esterno ?

                      ---------------------------------------------------------------------

                      se vi da errore questa versione provate questa che usa la gui

                      http://www.xstreme.it/alpha.exe

                      -----------------------------------------------------------------------

                      Ho provato anche a disabilitare tutte le periferiche esterne.. solito errore.

                      Invece l'altra versione che mi hai consigliato mi da questo tipo di errore:

                      t36151_screen002.jpg

                      devo aggiornare il framework??

                      1 Risposta Ultima Risposta
                      0
                      • O Non in linea
                        O Non in linea
                        One1ros
                        scritto su ultima modifica di
                        #187

                        ti interessano i test su notebook?

                        1 Risposta Ultima Risposta
                        0
                        • A Non in linea
                          A Non in linea
                          apix_1024
                          scritto su ultima modifica di
                          #188

                          bonis62 ha scritto:

                          nel limite dello scarso programmatore che sono,

                          e di certo non al livello di

                          Franck Delattre / CPU-Z,

                          mi dici che voci si possono aggiungere o togliere ?

                          guarda secondo me se già riuscissi a sistemare il fatto della frequenza del processore e della ram che scala sempre a 200mhz di bus invece del bus reale io direi che vada più che bene. certo se proprio volessi fare lo sborone dovresti tirare fuori anche timings ram e cache varie del processore ma per quello c'è pur sempre cpuz ;)

                          1 Risposta Ultima Risposta
                          0
                          • X Non in linea
                            X Non in linea
                            Xstreme
                            scritto su ultima modifica di
                            #189

                            Timon85 ha scritto:

                            Ho provato anche a disabilitare tutte le periferiche esterne.. solito errore.

                            Invece l'altra versione che mi hai consigliato mi da questo tipo di errore:

                            t36151_screen002.jpg

                            devo aggiornare il framework??

                            beh, male non farebbe :D

                            1 Risposta Ultima Risposta
                            0
                            • X Non in linea
                              X Non in linea
                              Xstreme
                              scritto su ultima modifica di
                              #190

                              apix_1024 ha scritto:

                              guarda secondo me se già riuscissi a sistemare il fatto della frequenza del processore e della ram che scala sempre a 200mhz di bus invece del bus reale io direi che vada più che bene. certo se proprio volessi fare lo sborone dovresti tirare fuori anche timings ram e cache varie del processore ma per quello c'è pur sempre cpuz ;)

                              lo scaling ,quello si puo fare facendo dei calcoli adatti, per i timings

                              delle ram mi devo inventare qualcosa in assembler per leggere gli SPD

                              dei moduli, è già da un pò che ci penso :)

                              1 Risposta Ultima Risposta
                              0
                              • X Non in linea
                                X Non in linea
                                Xstreme
                                scritto su ultima modifica di
                                #191

                                One1ros ha scritto:

                                ti interessano i test su notebook?

                                si :)

                                1 Risposta Ultima Risposta
                                0
                                • G Non in linea
                                  G Non in linea
                                  gear667
                                  scritto su ultima modifica di
                                  #192

                                  bonis62 ha scritto:

                                  manu di avvio

                                  esegui

                                  cmd.exe

                                  metti l'exe in 😄

                                  vai alla radice 😄

                                  cd ..

                                  cd ..

                                  digita xssi5.exe

                                  invio

                                  ecco qui

                                  i36182_xssi5.JPG

                                  1 Risposta Ultima Risposta
                                  0
                                  • X Non in linea
                                    X Non in linea
                                    Xstreme
                                    scritto su ultima modifica di
                                    #193

                                    gear667 ha scritto:

                                    ecco qui

                                    ok ti ringrazio

                                    1 Risposta Ultima Risposta
                                    0
                                    • T Non in linea
                                      T Non in linea
                                      Totocellux
                                      scritto su ultima modifica di
                                      #194

                                      bonis62 ha scritto:

                                      ------------------------------------------------------------------------

                                      abbiate una sana pazienza :ave:

                                      http://www.xstreme.it/XSSI5.zip

                                      avrei bisogno di...........beta testing.......grazieeee O0

                                      questo lo dedico a TOTO

                                      ------------------------------------------------------------------------

                                      appena potrò trovare qualche ora libera in santa pace. vedrò di interessarmi a ciò che mi hai chiesto precedentemente ;)

                                      Per ora, grazie del pensiero ed ecco un pò di testing :)

                                      Windows 7 Ultimate 64bit

                                      i36208_XSSI5Win7.jpg

                                      direi che sei già ad un discreto punto O0

                                      a parte l'impreciso riconoscimento del Fattore di Velocità dei moduli e della Massima Velocità di Clock

                                      l'unica lieve anomalia è che non ha completato correttamente la routine di uscita: per far ritornare il controllo al prompt è stato necessario un Ctrl+C.

                                      Per quanto riguarda la versione Alpha (con GUI) dà anche a me lo stesso errore del .NET Framework.

                                      Hai fatto comunque un buon lavoro :)

                                      1 Risposta Ultima Risposta
                                      0
                                      • X Non in linea
                                        X Non in linea
                                        Xstreme
                                        scritto su ultima modifica di
                                        #195

                                        apix_1024 ha scritto:

                                        guarda secondo me se già riuscissi a sistemare il fatto della frequenza del processore e della ram che scala sempre a 200mhz di bus invece del bus reale io direi che vada più che bene. certo se proprio volessi fare lo sborone dovresti tirare fuori anche timings ram e cache varie del processore ma per quello c'è pur sempre cpuz ;)

                                        MA TU INTENDEVI UNA COSETTA COSI DA NULLA ? :asd:

                                        /*
                                        * Serial Presence Detect (SPD) memory identification
                                        */
                                        
                                        #include 
                                        #include 
                                        #include 
                                        
                                        #include 
                                        
                                        /* Encodings of the size used/total byte for certain memory types    */
                                        #define    SPDMEM_SPDSIZE_MASK        0x0F    /* SPD EEPROM Size   */
                                        
                                        #define    SPDMEM_SPDLEN_128        0x00    /* SPD EEPROM Sizes  */
                                        #define    SPDMEM_SPDLEN_176        0x10
                                        #define    SPDMEM_SPDLEN_256        0x20
                                        #define    SPDMEM_SPDLEN_MASK        0x70    /* Bits 4 - 6        */
                                        
                                        #define    SPDMEM_SPDCRC_116        0x80    /* CRC Bytes covered */
                                        #define    SPDMEM_SPDCRC_125        0x00
                                        #define    SPDMEM_SPDCRC_MASK        0x80    /* Bit 7             */
                                        
                                        
                                        /* possible values for the memory type */
                                        #define    SPDMEM_MEMTYPE_FPM        0x01
                                        #define    SPDMEM_MEMTYPE_EDO        0x02
                                        #define    SPDMEM_MEMTYPE_PIPE_NIBBLE    0x03
                                        #define    SPDMEM_MEMTYPE_SDRAM        0x04
                                        #define    SPDMEM_MEMTYPE_ROM        0x05
                                        #define    SPDMEM_MEMTYPE_DDRSGRAM        0x06
                                        #define    SPDMEM_MEMTYPE_DDRSDRAM        0x07
                                        #define    SPDMEM_MEMTYPE_DDR2SDRAM    0x08
                                        #define    SPDMEM_MEMTYPE_FBDIMM        0x09
                                        #define    SPDMEM_MEMTYPE_FBDIMM_PROBE    0x0a
                                        #define    SPDMEM_MEMTYPE_DDR3SDRAM    0x0b
                                        #define    SPDMEM_MEMTYPE_NONE        0xff
                                        
                                        #define SPDMEM_MEMTYPE_DIRECT_RAMBUS    0x01
                                        #define SPDMEM_MEMTYPE_RAMBUS        0x11
                                        
                                        /* possible values for the supply voltage */
                                        #define    SPDMEM_VOLTAGE_TTL_5V        0x00
                                        #define    SPDMEM_VOLTAGE_TTL_LV        0x01
                                        #define    SPDMEM_VOLTAGE_HSTTL_1_5V    0x02
                                        #define    SPDMEM_VOLTAGE_SSTL_3_3V    0x03
                                        #define    SPDMEM_VOLTAGE_SSTL_2_5V    0x04
                                        #define    SPDMEM_VOLTAGE_SSTL_1_8V    0x05
                                        
                                        /* possible values for module configuration */
                                        #define    SPDMEM_MODCONFIG_PARITY        0x01
                                        #define    SPDMEM_MODCONFIG_ECC        0x02
                                        
                                        /* for DDR2, module configuration is a bit-mask field */
                                        #define    SPDMEM_MODCONFIG_HAS_DATA_PARITY    0x01
                                        #define    SPDMEM_MODCONFIG_HAS_DATA_ECC        0x02
                                        #define    SPDMEM_MODCONFIG_HAS_ADDR_CMD_PARITY    0x04
                                        
                                        /* possible values for the refresh field */
                                        #define    SPDMEM_REFRESH_STD        0x00
                                        #define    SPDMEM_REFRESH_QUARTER        0x01
                                        #define    SPDMEM_REFRESH_HALF        0x02
                                        #define    SPDMEM_REFRESH_TWOX        0x03
                                        #define    SPDMEM_REFRESH_FOURX        0x04
                                        #define    SPDMEM_REFRESH_EIGHTX        0x05
                                        #define    SPDMEM_REFRESH_SELFREFRESH    0x80
                                        
                                        /* superset types */
                                        #define    SPDMEM_SUPERSET_ESDRAM        0x01
                                        #define    SPDMEM_SUPERSET_DDR_ESDRAM    0x02
                                        #define    SPDMEM_SUPERSET_EDO_PEM        0x03
                                        #define    SPDMEM_SUPERSET_SDR_PEM        0x04
                                        
                                        /* FPM and EDO DIMMS */
                                        #define SPDMEM_FPM_ROWS            0x00
                                        #define SPDMEM_FPM_COLS            0x01
                                        #define SPDMEM_FPM_BANKS        0x02
                                        #define SPDMEM_FPM_CONFIG        0x08
                                        #define SPDMEM_FPM_REFRESH        0x09
                                        #define SPDMEM_FPM_SUPERSET        0x0c
                                        
                                        /* PC66/PC100/PC133 SDRAM */
                                        #define SPDMEM_SDR_ROWS            0x00
                                        #define SPDMEM_SDR_COLS            0x01
                                        #define SPDMEM_SDR_BANKS        0x02
                                        #define SPDMEM_SDR_CYCLE        0x06
                                        #define SPDMEM_SDR_BANKS_PER_CHIP    0x0e
                                        #define SPDMEM_SDR_MOD_ATTRIB        0x12
                                        #define SPDMEM_SDR_SUPERSET        0x1d
                                        
                                        #define SPDMEM_SDR_FREQUENCY        126
                                        #define SPDMEM_SDR_CAS            127
                                        #define SPDMEM_SDR_FREQ_66        0x66
                                        #define SPDMEM_SDR_FREQ_100        0x64
                                        #define SPDMEM_SDR_FREQ_133        0x85
                                        #define SPDMEM_SDR_CAS2            (1 sm_len ia_name, "spd") == 0)
                                        return (1);
                                        
                                        /* dumb, need sanity checks */
                                        if (strcmp(ia->ia_name, "eeprom") != 0)
                                        return (0);
                                        
                                        sc.sc_tag = ia->ia_tag;
                                        sc.sc_addr = ia->ia_addr;
                                        
                                        type = spdmem_read(&sc, 2);
                                        /* For older memory types, validate the checksum over 1st 63 bytes */
                                        if (type  spd_len)
                                        return 0;
                                        crc_calc = spdmem_crc16(&sc, spd_crc_cover);
                                        crc_spd = spdmem_read(&sc, 127) sm_type];
                                        
                                        if (s->sm_data[sPDMEM_SDR_SUPERSET] == SPDMEM_SUPERSET_SDR_PEM)
                                        type = spdmem_superset_types[sPDMEM_SUPERSET_SDR_PEM];
                                        if (s->sm_data[sPDMEM_SDR_SUPERSET] == SPDMEM_SUPERSET_ESDRAM)
                                        type = spdmem_superset_types[sPDMEM_SUPERSET_ESDRAM];
                                        
                                        num_banks = s->sm_data[sPDMEM_SDR_BANKS];
                                        per_chip = s->sm_data[sPDMEM_SDR_BANKS_PER_CHIP];
                                        rows = s->sm_data[sPDMEM_SDR_ROWS] & 0x0f;
                                        cols = s->sm_data[sPDMEM_SDR_COLS] & 0x0f;
                                        dimm_size = (1  0) {
                                        if (dimm_size sm_data[sPDMEM_DDR_MOD_ATTRIB] & SPDMEM_DDR_ATTRIB_REG)
                                        printf(" registered");
                                        
                                        if (s->sm_data[sPDMEM_FPM_CONFIG] sm_data[sPDMEM_FPM_CONFIG]]);
                                        
                                        p_clk = 66;
                                        if (s->sm_len >= 128) {
                                        switch (spdmem_read(sc, SPDMEM_SDR_FREQUENCY)) {
                                        case SPDMEM_SDR_FREQ_100:
                                        case SPDMEM_SDR_FREQ_133:
                                        /* We need to check ns to decide here */
                                        if (s->sm_data[sPDMEM_SDR_CYCLE] sm_len sm_data[sPDMEM_RDR_ROWS_COLS] >> 4;
                                        col_bits = s->sm_data[sPDMEM_RDR_ROWS_COLS] & 0x0f;
                                        bank_bits = s->sm_data[sPDMEM_RDR_BANK] & 0x07;
                                        
                                        /* subtracting 13 here is a cheaper way of dividing by 8k later */
                                        rimm_size = 1 sm_data[sPDMEM_RDR_MODULE_TYPE]) {
                                        case SPDMEM_RDR_TYPE_RIMM:
                                        printf("RIMM");
                                        break;
                                        case SPDMEM_RDR_TYPE_SORIMM:
                                        printf("SO-RIMM");
                                        break;
                                        case SPDMEM_RDR_TYPE_EMBED:
                                        printf("Embedded Rambus");
                                        break;
                                        case SPDMEM_RDR_TYPE_RIMM32:
                                        printf("RIMM32");
                                        break;
                                        }
                                        }
                                        
                                        void
                                        spdmem_ddr_decode(struct spdmem_softc *sc, struct spdmem *s)
                                        {
                                        const char *type;
                                        int dimm_size, cycle_time, d_clk, p_clk, bits;
                                        int i, num_banks, per_chip;
                                        uint8_t config, rows, cols, cl;
                                        
                                        type = spdmem_basic_types[s->sm_type];
                                        
                                        if (s->sm_data[sPDMEM_DDR_SUPERSET] == SPDMEM_SUPERSET_DDR_ESDRAM)
                                        type = spdmem_superset_types[sPDMEM_SUPERSET_DDR_ESDRAM];
                                        
                                        num_banks = s->sm_data[sPDMEM_SDR_BANKS];
                                        per_chip = s->sm_data[sPDMEM_SDR_BANKS_PER_CHIP];
                                        rows = s->sm_data[sPDMEM_SDR_ROWS] & 0x0f;
                                        cols = s->sm_data[sPDMEM_SDR_COLS] & 0x0f;
                                        dimm_size = (1  0) {
                                        if (dimm_size sm_data[sPDMEM_DDR_MOD_ATTRIB] & SPDMEM_DDR_ATTRIB_REG)
                                        printf(" registered");
                                        
                                        if (s->sm_data[sPDMEM_FPM_CONFIG] sm_data[sPDMEM_FPM_CONFIG]]);
                                        
                                        /* cycle_time is expressed in units of 0.01 ns */
                                        cycle_time = (s->sm_data[sPDMEM_DDR_CYCLE] >> 4) * 100 +
                                        (s->sm_data[sPDMEM_DDR_CYCLE] & 0x0f) * 10;
                                        
                                        if (cycle_time != 0) {
                                        /*
                                        * cycle time is scaled by a factor of 100 to avoid using
                                        * floating point.  Calculate memory speed as the number
                                        * of cycles per microsecond.
                                        * DDR uses dual-pumped clock
                                        */
                                        d_clk = 100 * 1000 * 2;
                                        config = s->sm_data[sPDMEM_FPM_CONFIG];
                                        bits = s->sm_data[sPDMEM_DDR_DATAWIDTH] |
                                        (s->sm_data[sPDMEM_DDR_DATAWIDTH + 1] = 50)
                                        p_clk += 50;
                                        p_clk -= p_clk % 100;
                                        printf(" PC%d", p_clk);
                                        }
                                        
                                        /* Print CAS latency */
                                        for (i = 6; i >= 0; i--) {
                                        if (s->sm_data[sPDMEM_DDR_CAS] & (1 sm_type];
                                        
                                        num_ranks = (s->sm_data[sPDMEM_DDR2_RANKS] & 0x7) + 1;
                                        density = (s->sm_data[sPDMEM_DDR2_RANK_DENSITY] & 0xf0) |
                                        ((s->sm_data[sPDMEM_DDR2_RANK_DENSITY] & 0x0f)  0) {
                                        if (dimm_size sm_data[sPDMEM_DDR2_DIMMTYPE] & SPDMEM_DDR2_TYPE_REGMASK)
                                        printf(" registered");
                                        
                                        if (s->sm_data[sPDMEM_FPM_CONFIG] sm_data[sPDMEM_FPM_CONFIG]]);
                                        
                                        /* cycle_time is expressed in units of 0.01 ns */
                                        cycle_time = (s->sm_data[sPDMEM_DDR2_CYCLE] >> 4) * 100 +
                                        ddr2_cycle_tenths[(s->sm_data[sPDMEM_DDR2_CYCLE] & 0x0f)];
                                        
                                        if (cycle_time != 0) {
                                        /*
                                        * cycle time is scaled by a factor of 100 to avoid using
                                        * floating point.  Calculate memory speed as the number
                                        * of cycles per microsecond.
                                        * DDR2 uses quad-pumped clock
                                        */
                                        d_clk = 100 * 1000 * 4;
                                        config = s->sm_data[sPDMEM_FPM_CONFIG];
                                        bits = s->sm_data[sPDMEM_DDR2_DATAWIDTH];
                                        if ((config & 0x03) != 0)
                                        bits -= 8;
                                        d_clk /= cycle_time;
                                        d_clk = (d_clk + 1) / 2;
                                        p_clk = d_clk * bits / 8;
                                        p_clk -= p_clk % 100;
                                        printf(" PC2-%d", p_clk);
                                        }
                                        
                                        /* Print CAS latency */
                                        for (i = 5; i >= 2; i--) {
                                        if (s->sm_data[sPDMEM_DDR_CAS] & (i sm_data[sPDMEM_DDR2_DIMMTYPE]) {
                                        case SPDMEM_DDR2_SODIMM:
                                        printf(" SO-DIMM");
                                        break;
                                        case SPDMEM_DDR2_MICRO_DIMM:
                                        printf(" Micro-DIMM");
                                        break;
                                        case SPDMEM_DDR2_MINI_RDIMM:
                                        case SPDMEM_DDR2_MINI_UDIMM:
                                        printf(" Mini-DIMM");
                                        break;
                                        }
                                        }
                                        
                                        void
                                        spdmem_fbdimm_decode(struct spdmem_softc *sc, struct spdmem *s)
                                        {
                                        int dimm_size, num_banks, cycle_time, d_clk, p_clk, bits;
                                        uint8_t rows, cols, banks, dividend, divisor;
                                        /*
                                        * FB-DIMM is very much like DDR3
                                        */
                                        
                                        banks = s->sm_data[sPDMEM_FBDIMM_ADDR] & SPDMEM_FBDIMM_ADDR_BANKS;
                                        cols = (s->sm_data[sPDMEM_FBDIMM_ADDR] & SPDMEM_FBDIMM_ADDR_COL) >>
                                        SPDMEM_FBDIMM_ADDR_COL_SHIFT;
                                        rows = (s->sm_data[sPDMEM_FBDIMM_ADDR] & SPDMEM_FBDIMM_ADDR_ROW) >>
                                        SPDMEM_FBDIMM_ADDR_ROW_SHIFT;
                                        dimm_size = rows + 12 + cols +  9 - 20 - 3;
                                        num_banks = 1 sm_data[sPDMEM_FBDIMM_MTB_DIVIDEND];
                                        divisor = s->sm_data[sPDMEM_FBDIMM_MTB_DIVISOR];
                                        
                                        cycle_time = (1000 * dividend + (divisor / 2)) / divisor;
                                        
                                        if (cycle_time != 0) {
                                        /*
                                        * cycle time is scaled by a factor of 1000 to avoid using
                                        * floating point.  Calculate memory speed as the number
                                        * of cycles per microsecond.
                                        */
                                        d_clk = 1000 * 1000;
                                        
                                        /* DDR2 FB-DIMM uses a dual-pumped clock */
                                        d_clk *= 2;
                                        bits = 1 sm_data[sPDMEM_FBDIMM_RANKS] &
                                        SPDMEM_FBDIMM_RANKS_WIDTH) + 2);
                                        
                                        p_clk = (d_clk * bits) / 8 / cycle_time;
                                        d_clk = ((d_clk + cycle_time / 2) ) / cycle_time;
                                        p_clk -= p_clk % 100;
                                        printf(" PC2-%d", p_clk);
                                        }
                                        }
                                        
                                        void
                                        spdmem_ddr3_decode(struct spdmem_softc *sc, struct spdmem *s)
                                        {
                                        const char *type;
                                        int dimm_size, cycle_time, d_clk, p_clk, bits;
                                        uint8_t mtype, chipsize, dividend, divisor;
                                        uint8_t datawidth, chipwidth, physbanks;
                                        
                                        type = spdmem_basic_types[s->sm_type];
                                        
                                        chipsize = s->sm_data[sPDMEM_DDR3_DENSITY] &
                                        SPDMEM_DDR3_DENSITY_CAPMASK;
                                        datawidth = s->sm_data[sPDMEM_DDR3_DATAWIDTH] &
                                        SPDMEM_DDR3_DATAWIDTH_PRIMASK;
                                        chipwidth = s->sm_data[sPDMEM_DDR3_MOD_ORG] &
                                        SPDMEM_DDR3_MOD_ORG_CHIPWIDTH_MASK;
                                        physbanks = (s->sm_data[sPDMEM_DDR3_MOD_ORG] >> 
                                        SPDMEM_DDR3_MOD_ORG_BANKS_SHIFT) & SPDMEM_DDR3_MOD_ORG_BANKS_MASK;
                                        
                                        dimm_size = (chipsize + 28 - 20) - 3 + (datawidth + 3) -
                                        (chipwidth + 2);
                                        dimm_size = (1 sm_data[sPDMEM_DDR3_MODTYPE];
                                        if (mtype == SPDMEM_DDR3_RDIMM || mtype == SPDMEM_DDR3_MINI_RDIMM)
                                        printf(" registered");
                                        
                                        if (s->sm_data[sPDMEM_DDR3_DATAWIDTH] & SPDMEM_DDR3_DATAWIDTH_ECCMASK) 
                                        printf(" ECC");
                                        
                                        dividend = s->sm_data[sPDMEM_DDR3_MTB_DIVIDEND];
                                        divisor = s->sm_data[sPDMEM_DDR3_MTB_DIVISOR];
                                        cycle_time = (1000 * dividend +  (divisor / 2)) / divisor;
                                        cycle_time *= s->sm_data[sPDMEM_DDR3_TCKMIN];
                                        
                                        if (cycle_time != 0) {
                                        /*
                                        * cycle time is scaled by a factor of 1000 to avoid using
                                        * floating point.  Calculate memory speed as the number
                                        * of cycles per microsecond.
                                        * DDR3 uses a dual-pumped clock
                                        */
                                        d_clk = 1000 * 1000;
                                        d_clk *= 2;
                                        bits = 1 sm_data[sPDMEM_DDR3_DATAWIDTH] &
                                        SPDMEM_DDR3_DATAWIDTH_PRIMASK) + 3);
                                        /*
                                        * Calculate p_clk first, since for DDR3 we need maximum
                                        * significance.  DDR3 rating is not rounded to a multiple
                                        * of 100.  This results in cycle_time of 1.5ns displayed
                                        * as p_clk PC3-10666 (d_clk DDR3-1333)
                                        */
                                        p_clk = (d_clk * bits) / 8 / cycle_time;
                                        p_clk -= (p_clk % 100);
                                        d_clk = ((d_clk + cycle_time / 2) ) / cycle_time;
                                        printf(" PC3-%d", p_clk);
                                        }
                                        
                                        switch (s->sm_data[sPDMEM_DDR3_MODTYPE]) {
                                        case SPDMEM_DDR3_SODIMM:
                                        printf(" SO-DIMM");
                                        break;
                                        case SPDMEM_DDR3_MICRO_DIMM:
                                        printf(" Micro-DIMM");
                                        break;
                                        case SPDMEM_DDR3_MINI_RDIMM:
                                        case SPDMEM_DDR3_MINI_UDIMM:
                                        printf(" Mini-DIMM");
                                        break;
                                        }
                                        
                                        if (s->sm_data[sPDMEM_DDR3_THERMAL] & SPDMEM_DDR3_THERMAL_PRESENT)
                                        printf(" with thermal sensor");
                                        }
                                        
                                        void
                                        spdmem_attach(struct device *parent, struct device *self, void *aux)
                                        {
                                        struct spdmem_softc *sc = (struct spdmem_softc *)self;
                                        struct i2c_attach_args *ia = aux;
                                        struct spdmem *s = &(sc->sc_spd_data);
                                        int i;
                                        
                                        sc->sc_tag = ia->ia_tag;
                                        sc->sc_addr = ia->ia_addr;
                                        
                                        printf(":");
                                        
                                        /* All SPD have at least 64 bytes of data including checksum */
                                        for (i = 0; i sm_len sm_type == SPDMEM_MEMTYPE_DIRECT_RAMBUS)
                                        spdmem_rdr_decode(sc, s);
                                        else
                                        printf(" no decode method for Rambus memory");
                                        } else {
                                        switch(s->sm_type) {
                                        case SPDMEM_MEMTYPE_EDO:
                                        case SPDMEM_MEMTYPE_SDRAM:
                                        spdmem_sdram_decode(sc, s);
                                        break;
                                        case SPDMEM_MEMTYPE_DDRSDRAM:
                                        spdmem_ddr_decode(sc, s);
                                        break;
                                        case SPDMEM_MEMTYPE_DDR2SDRAM:
                                        spdmem_ddr2_decode(sc, s);
                                        break;
                                        case SPDMEM_MEMTYPE_FBDIMM:
                                        case SPDMEM_MEMTYPE_FBDIMM_PROBE:
                                        spdmem_fbdimm_decode(sc, s);
                                        break;
                                        case SPDMEM_MEMTYPE_DDR3SDRAM:
                                        spdmem_ddr3_decode(sc, s);
                                        break;
                                        case SPDMEM_MEMTYPE_NONE:
                                        printf(" no EEPROM found");
                                        break;
                                        default:
                                        if (s->sm_type sm_type]);
                                        else
                                        printf(" unknown memory type %d", s->sm_type);
                                        break;
                                        }
                                        }
                                        
                                        printf("
                                        ");
                                        }
                                        
                                        uint8_t
                                        spdmem_read(struct spdmem_softc *sc, uint8_t reg)
                                        {
                                        uint8_t val = 0xff;
                                        
                                        iic_acquire_bus(sc->sc_tag,0);
                                        iic_exec(sc->sc_tag, I2C_OP_READ_WITH_STOP, sc->sc_addr,
                                        &reg, sizeof reg, &val, sizeof val, 0);
                                        iic_release_bus(sc->sc_tag, 0);
                                        
                                        return val;
                                        }
                                        1 Risposta Ultima Risposta
                                        0
                                        • X Non in linea
                                          X Non in linea
                                          Xstreme
                                          scritto su ultima modifica di
                                          #196

                                          ciao

                                          XSSI BETA 1

                                          ho rimesso la rilevazione dei dischi che prima

                                          crashava, ma ho aggiunto un salto

                                          quando trova un errore, non dovrebbe

                                          più bloccarsi, lanciatelo, aspettate qualche

                                          secondo e dovrebbe aprirsi Notepad

                                          con la lista di tutto, a me mi funziona tutto,

                                          quindi se salta o non salta gli eventuali errori

                                          me lo dovete dire voi :):)

                                          http://www.xstreme.it/xssi_beta.zip

                                          1 Risposta Ultima Risposta
                                          0

                                          Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                                          Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                                          Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                                          Registrati Accedi
                                          Rispondi
                                          • Risposta alla discussione
                                          Effettua l'accesso per rispondere
                                          • Da Vecchi a Nuovi
                                          • Da Nuovi a Vecchi
                                          • Più Voti


                                          • Accedi

                                          • Non hai un account? Registrati

                                          • Accedi o registrati per effettuare la ricerca.
                                          Powered by NodeBB Contributors
                                          • Primo post
                                            Ultimo post
                                          0
                                          • Categorie
                                          • Recenti
                                          • Tag
                                          • Popolare
                                          • Utenti
                                          • Gruppi