A PHP Error was encountered

Severity: 8192

Message: Function create_function() is deprecated

Filename: geshi/geshi.php

Line Number: 4698

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 624
Function: getPaste

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)

Filename: view/download.php

Line Number: 2

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/download.php
Line: 2
Function: header

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 625
Function: view

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)

Filename: view/download.php

Line Number: 3

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/download.php
Line: 3
Function: header

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 625
Function: view

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

' Gambas module file Private spd_i2c_eeprom_dir As String[] = ["/sys/bus/i2c/drivers/eeprom/", "/sys/bus/i2c/drivers/ee1004/", "/sys/bus/i2c/drivers/at24/", "/home/michal/Dokumenty/SPD/"] Private spd_i2c_eeprom_files As New String[] Private eeprom_file_name As String = "eeprom" Private Enum UNKNOWN = 0, DIRECT_RAMBUS = 1, RAMBUS = 2, FPM_DRAM = 3, EDO = 4, PIPELINED_NIBBLE = 5, SDR_SDRAM = 6, MULTIPLEXED_ROM = 7, DDR_SGRAM = 8, DDR_SDRAM = 9, DDR2_SDRAM = 10, DDR3_SDRAM = 11, DDR4_SDRAM = 12, N_RAM_TYPES = 13 Private ram_types As String[] = ["Unknown", "Direct Rambus", "Rambus", "FPM DRAM", "EDO", "Pipelined Nibble", "SDR SDRAM", "Multiplexed ROM", "DDR SGRAM", "DDR SDRAM", "DDR2 SDRAM", "DDR3 SDRAM", "DDR4 SDRAM"] Public spd_size As New Long[] Public ram_type_str As New String[] Public ram_type_int As New Integer[] Public spd_revision As New String[] Public part_number As New String[] Public module_type As New String[] Public module_speed As New String[] Public module_size As New String[] Public voltage As New String[] Public module_manufacturer As New String[] Public module_dram_manufacturer As New String[] Public module_manufacture_date As New String[] Public eeprom As New Byte[512] Private Function read_spd(file_path As String) Dim eeprom_file As File eeprom_file = Open file_path For Read eeprom.Read(eeprom_file, 0, Lof(eeprom_file)) eeprom_file.Close End Private Function calculate_spd_size(file_path As String) As Long If Exist(file_path) Then Return Stat(file_path).Size Else Return Null Endif End Private Function find_spd_eeprom_file() Dim eeprom_file As File Dim eeprom_byte As New Byte[512] Dim i As Integer For i = 0 To spd_i2c_eeprom_dir.Max If Exist(spd_i2c_eeprom_dir[i]) Then For Each element As String In Dir(spd_i2c_eeprom_dir[i], "*-****") If Exist(spd_i2c_eeprom_dir[i] &/ element &/ eeprom_file_name) Then eeprom_file = Open (spd_i2c_eeprom_dir[i] &/ element &/ eeprom_file_name) For Read eeprom_byte.Read(eeprom_file, 0, Lof(eeprom_file)) If eeprom_byte[0] > 0 Then spd_i2c_eeprom_files.Add(spd_i2c_eeprom_dir[i] &/ element &/ eeprom_file_name) Endif eeprom_file.Close Endif Next Endif Next End Public Sub Main() Dim i As Integer Dim eeprom_file As File Dim eeprom_byte As New Byte[] find_spd_eeprom_file() For Each Variable As String In spd_i2c_eeprom_files spd_size.Add(calculate_spd_size(Variable)) Next For i = 0 To spd_i2c_eeprom_files.Max read_spd(spd_i2c_eeprom_files[i]) ram_type_str.Add(ram_types[decode_ram_type(eeprom)]) ram_type_int.Add(decode_ram_type(eeprom)) Select ram_type_int[i] Case SDR_SDRAM Case DDR_SDRAM Case DDR2_SDRAM Case DDR3_SDRAM spd_revision.Add(decode_ddr3_spd_revision(eeprom)) part_number.Add(decode_ddr3_part_number(eeprom)) module_type.Add(decode_ddr3_module_type(eeprom)) module_speed.Add(decode_ddr3_module_speed(eeprom)) module_size.Add(decode_ddr3_module_size(eeprom)) voltage.Add(decode_ddr3_voltage(eeprom)) module_manufacturer.Add(decode_ddr3_module_manufacturer(eeprom)) module_dram_manufacturer.Add(decode_ddr3_module_dram_manufacturer(eeprom)) module_manufacture_date.Add(decode_ddr3_module_date(eeprom[120], eeprom[121])) 'Print "Manufacturer:" & Hex(eeprom[117] And &h7F) & " " & Hex(eeprom[118]) 'Print CMemVendors.MemVendors[CString(Hex(eeprom[117] And &h7F))][LCase(Hex(eeprom[118]))] 'decode_ddr34_manufacturer(eeprom[117], eeprom[118]) Case DDR4_SDRAM part_number.Add(decode_ddr4_part_number(eeprom)) module_type.Add(decode_ddr4_module_type(eeprom)) module_speed.Add(decode_ddr4_module_speed(eeprom)) module_size.Add(decode_ddr4_module_size(eeprom)) module_manufacturer.Add(decode_ddr4_module_manufacturer(eeprom)) module_dram_manufacturer.Add(decode_ddr4_module_dram_manufacturer(eeprom)) module_manufacture_date.Add(decode_ddr4_module_date(eeprom, spd_size[i], eeprom[323], eeprom[324])) End Select Next Print For i = 0 To spd_size.max Try Print ram_type_str[i];; Try Print module_manufacturer[i];; Try Print module_dram_manufacturer[i] Try Print "Manufacturing Date: "; module_manufacture_date[i]; " | "; Try Print part_number[i] Try Print module_type[i];; Try Print module_speed[i] Try Print module_size[i] & " MB";; Try Print voltage[i];; Try Print spd_size[i];; Try Print ram_type_int[i];; Try Print spd_revision[i] Print "\n" Next End Private Function decode_ddr3_spd_revision(bytes As Byte[]) As String Return Mid(Hex(bytes[1]), 1, 1) & "." & Mid(Hex(bytes[1]), 2, 1) End Private Function decode_ddr3_part_number(bytes As Byte[], Optional partnumber As String) As String Dim i As Integer For i = 128 To 145 partnumber &= Chr(bytes[i]) Next Return partnumber End Private Function decode_ddr4_part_number(bytes As Byte[], Optional partnumber As String) As String Dim i As Integer For i = 329 To 348 partnumber &= Chr(bytes[i]) Next Return partnumber End Private Function decode_ddr3_module_type(bytes As Byte[]) As String Dim type As String Select bytes[3] Case 01 type = "RDIMM (Registered Long DIMM)" Case 02 type = "UDIMM (Unbuffered Long DIMM)" Case 03 type = "SODIMM (Small Outline DIMM)" Default type = Null End Select Return type End Private Function decode_ddr4_module_type(bytes As Byte[]) As String Dim type As String = "Unknown" ''Default Unknown if no detect Select Hex(bytes[3], 2) Case "01" type = "RDIMM (Registered DIMM)" Case "02" type = "UDIMM (Unbuffered DIMM)" Case "03" type = "SODIMM (Small Outline Unbuffered DIMM)" Case "04" type = "LRDIMM (Load-Reduced DIMM)" Case "05" type = "Mini-RDIMM (Mini Registered DIMM)" Case "06" type = "Mini-UDIMM (Mini Unbuffered DIMM)" Case "08" type = "72b-SO-RDIMM (Small Outline Registered DIMM, 72-bit data bus)" Case "09" type = "72b-SO-UDIMM (Small Outline Unbuffered DIMM, 72-bit data bus)" Case "0c" type = "16b-SO-UDIMM (Small Outline Unbuffered DIMM, 16-bit data bus)" Case "0d" type = "32b-SO-UDIMM (Small Outline Unbuffered DIMM, 32-bit data bus)" Default type = Null End Select Return type End Private Function decode_ddr3_module_speed(bytes As Byte[]) As String ' Dim ctime As Float ' Dim ddrclk As Float ' Dim tbits, pcclk As Integer ' Dim mtb As Float = 0.125 ' ' If (bytes[10] == 1 And bytes[11] == 8) Then mtb = 0.125 ' If (bytes[10] == 1 And bytes[11] == 15) Then mtb = 0.0625 ' ctime = mtb * bytes[12] ' ddrclk = 2 * (1000 / ctime) ' ' tbits = 64 ' Select bytes[8] ' Case 1 ' tbits = 16 ' Case 4 ' tbits = 32 ' Case 3 ' Case 0 ' tbits = 64 ' End Select ' ' pcclk = ddrclk * (tbits / 8) ' pcclk -= pcclk % 100 ' ' Return Subst("DDR3-&1Mhz PC3-&2", CInt(ddrclk), pcclk) Dim divisor As Integer = bytes[10] Dim dividend As Integer = bytes[11] Dim ratio As Integer = bytes[12] If dividend = 0 And divisor = 0 And ratio = 0 Then Return "DDR3-Unknown Mhz" Else Return Subst("DDR3-&1Mhz", ((2000 * dividend) / (divisor * ratio))) Endif End Private Function decode_ddr4_module_speed(bytes As Byte[]) As String Dim mincycle As Integer = bytes[18] Dim fineadjust As Integer = Bytes[125] Dim frequency As Integer frequency = (2000000 / (mincycle * 125 + fineadjust)) Return Subst("DDR4-&1Mhz", frequency) End Private Function decode_ddr3_module_size(bytes As Byte[]) As String Dim size As Integer ' Dim sdr_capacity As Integer = Lsl(256, Hex(bytes[4]) And &hF) ' Dim sdr_width As Integer = Lsl(4, Hex(bytes[7]) And &h7) ' Dim bus_width As Integer = Lsl(8, Hex(bytes[8]) And &h7) ' Dim ranks As Integer = 1 + Lsr(3, Hex(bytes[7]) And &h7) ' Print "sdr_capacity = " & Lsl(256, Bytes[4]) ' Print "sdr_width = " & Lsl(4, bytes[7]) ' Print "bus_width = " & Lsl(8, bytes[8]) ' Print "ranks = " & (Lsr(3, bytes[7]) + 1) ' size = sdr_capacity / 8 * bus_width / sdr_width * ranks size = ((Hex(bytes[4]) And &h0f) + 28) + ((Hex(bytes[8]) And &h7) + 3) size -= (Hex(bytes[7]) And &h7) + 25 size = (Lsl(1, size)) * (Lsr(3, bytes[7] And &h1f) + 1) Return Subst("Module size: &1", size / 1024) End Private Function decode_ddr4_module_size(bytes As Byte[]) As String Dim sdram_width As Integer Dim ranks As Integer Dim signal_loading As Integer Dim die_count As Integer Dim cap As Integer sdram_width = 4 * CInt(2 ^ (bytes[12] And &h07)) ranks = ((bytes[12] \ CInt(2 ^ 3)) And &h07) + 1 signal_loading = (bytes[6] And &h03) die_count = ((bytes[12] \ CInt(2 ^ 4)) And &h07) + 1 cap = (256 * CInt(2 ^ (bytes[4] And &h0f))) / 8 cap *= (8 * CInt(2 ^ (bytes[13] And &h07))) / sdram_width cap *= ranks If signal_loading = &h02 Then cap *= die_count Endif ' Print "sdram_width: " & sdram_width ' Print "ranks: " & ranks ' Print "signal_loading: " & signal_loading ' Print "die_count: " & die_count ' Print "cap: " & cap Return Subst("&1", cap) End ' # Size computation ' my $sdram_width = 4 << ($bytes->[12] & 0x07); ' my $ranks = (($bytes->[12] >> 3) & 0x07) + 1; ' my $signal_loading = $bytes->[6] & 0x03; ' my $die_count = (($bytes->[6] >> 4) & 0x07) + 1; ' my $cap = (256 << ($bytes->[4] & 0x0f)) / 8; ' $cap *= (8 << ($bytes->[13] & 0x07)) / $sdram_width; ' $cap *= $ranks; ' $cap *= $die_count if $signal_loading == 0x02; # 3DS ' printl("Size", $cap . " MB"); Private Function decode_ddr3_voltage(bytes As Byte[]) As String Return If(bytes[6] = 4, "1.25V ", "") & If(bytes[6] = 2, "1.35V ", "") & If(bytes[6] = 1, "", "1.5V") End Private Function decode_ddr3_module_manufacturer(bytes As Byte[]) As String Return decode_ddr34_manufacturer(bytes[117], bytes[118]) End Private Function decode_ddr3_module_dram_manufacturer(bytes As Byte[]) As String Return decode_ddr34_manufacturer(bytes[148], bytes[149]) End Private Function decode_ddr4_module_manufacturer(bytes As Byte[]) As String Return decode_ddr34_manufacturer(bytes[320], bytes[321]) End Private Function decode_ddr4_module_dram_manufacturer(bytes As Byte[]) As String Return decode_ddr34_manufacturer(bytes[350], bytes[351]) End Private Function decode_ddr34_manufacturer(count As Byte, code As Byte) As String Dim Manufacturer As String Dim bank As String Dim index As String bank = Hex(count And &h7f, 1) index = Hex(code And &h7f, 2) Manufacturer = CMemVendors.MemVendors[bank][index] If Manufacturer = Null Then index = LCase(index) Manufacturer = CMemVendors.MemVendors[bank][index] Endif If Manufacturer = Null Then index = LCase(Hex(code)) Manufacturer = CMemVendors.MemVendors[bank][index] Endif Return Manufacturer End Private Function decode_ddr3_module_date(syear As Byte, sweek As Byte) As String 'Print syear; " "; sweek syear = Hex(syear) sweek = Hex(sweek) 'Print syear; " "; sweek If (syear And &hf0) <= &h90 Or (syear And &h0f) <= &h09 Or (sweek And &hf0) <= &h90 Or (sweek And &h0f) <= &h09 Then Return Subst("&1&2 W&3", IIf(syear >= &h80, 19, 20), syear, sweek) Else If (syear <= 99 Or sweek >= 1 Or sweek <= 53) Then Return Subst("&1&2 W&3", IIf(syear >= 80, 19, 20), syear, sweek) Else Return Subst("&1 W&2", syear, sweek) Endif Return "UNKNOWN" End Private Function decode_ddr4_module_date(Optional bytes As Byte[], Optional spd_size As Long, syear As Byte, sweek As Byte) As String 'Print "DDR4 Byte"; syear; " "; sweek syear = Hex(syear) sweek = Hex(sweek) 'Print "DDR4 Hex"; syear; " "; sweek If (spd_size < 324) Then Return "Unknown" Endif If bytes[323] = &h0 Or bytes[323] = &hff And If bytes[324] = &h0 Or bytes[324] = &hff Then Return "Unknown" Endif Return Subst("&1&2 W&3", IIf(syear >= 80, 19, 20), syear, sweek) End Private Function decode_ram_type(bytes As Byte[]) As Integer If bytes[0] < 4 Then Select bytes[2] Case 1 Return DIRECT_RAMBUS Case 17 Return RAMBUS End Select Else Select bytes[2] Case 1 Return FPM_DRAM Case 2 Return EDO Case 3 Return PIPELINED_NIBBLE Case 4 Return SDR_SDRAM Case 5 Return MULTIPLEXED_ROM Case 6 Return DDR_SGRAM Case 7 Return DDR_SDRAM Case 8 Return DDR2_SDRAM Case 11 Return DDR3_SDRAM Case 12 Return DDR4_SDRAM End Select Return UNKNOWN Endif End