Author Topic: Upgrading DSLogic Basic to Plus without EEPROM modification  (Read 2448 times)

0 Members and 1 Guest are viewing this topic.

Offline matbob

  • Contributor
  • Posts: 11
  • Country: ca
Upgrading DSLogic Basic to Plus without EEPROM modification
« on: March 10, 2019, 04:00:02 am »
Hello All,

I would like to share my experience with upgrading the DSLogic Basic to Plus. I saw discussions in EEVblog forum where some people were able to upgrade the basic version to plus version by soldering the 256Mbit RAM chip and renaming the firmware files (DSLogicBasic.fw/bin replaced by DSLogicPlus.fw/bin and renamed to *Basic.fw/bin). Even after these two steps, some were not able to get the upgrade and they had to modify the EEPROM content. The USB device PID in the EEPROM had to be changed to match the Plus version so that the DSView software recognizes the device as DSLogic Plus hardware.

Now, I will tell my story. I bought a DSLogic Basic clone from Ebay and I wanted to upgrade it to Plus. I bought the 256Mbit RAM and soldered it. I downloaded the DSView V0.99 from DreamSourceLab website and compiled and installed it (on Fedora 28, fingers crossed, installed successfully!). I ran the software, connected the hardware and it got detected as DSLogicBasic. Then I checked for the location in my PC where the firmware files are located, I found it was at: "/usr/local/share/DSView/res". I backed up all the files in the folder (you will need root privilages). Then I deleted the DSLogicBasic.fw and DSLogicBasic.bin files and made copies of DSLogicPlus.fw and DSLogicPlus.bin files and renamed them to DSLogicBasic.fw and DSLogicBasic.fw. By this step, the idea is to load the Plus firmware to the Basic (+RAM) hardware the next time the DSView software starts up. I opened DSView and connected my hardware, but it got detected only as DSLogic Basic.

So, the DSView software is checking the PID of the USB device to determine which version it is. Obviously, the PID was not getting modified by changing the firmware from Basic to Plus. The PID is stored inside the EEPROM and for the DSView software to recognize the hardware as Plus version, the EEPROM content had to be modified. I had a PICkit3 with me and I thought I will desolder the EEPROM, solder on a protoype board, solder the wires from PICkit3, read the EEPROM contents, modify the PID value at 2 locations (as suggested in another forum), write it back and solder it back. Unluckly, PICkit3 does not support EEPROM programming without a hardware hack. I did not want to do the hardware hack (beacuse the PICkit3 does not belong to me).

But I wanted to check that even though the DSView software recognized my hardware as Basic version, will it be capable of delivering the performace of the Plus version because the hardware and firmware is Plus version and only the PID is of Basic version. I checked the DSView software's user guide. The guide says that in the buffer mode, the maximum sample duration is given by: (maximum duration = hardware depth / sample rate / number of channels used). At 400MHz sample rate with 4 channels enabled, for a DSLogicBasic with 256Kbit memory, the maximum duration corresponds to: (256 x 1024 / 400M / 4) = 163.84us. For a DSLogicPlus with 256Mbit memory, the maximum duration is (256 x 1024 x 1024 / 400M / 4) = 167.77 ms! With my hardware (with the extra RAM and Plus firmware) I could see that in the DSView software, maximum duration is only 163.84us. That means the software is limiting the functionality even though the hardware is capable.

Now comes the interesting part. The DSView program was complied from the source. So, in the source code, there will be some place where the PIDs of the devices are defined. After a few minutes of searching, I found the file: .../DSView-0.99/libsigrok4DSL/hardware/DSL/dsl.h in which the DSLogic "profiles" for each version are defined. It was not very difficult to understand. I modified the following lines in the code:

    {0x2A0E, 0x0021, "DreamSourceLab", "DSLogic Basic", NULL,
     "DSLogicBasic.fw",
     "DSLogicBasic.bin",
     "DSLogicBasic.bin",
    {CAPS_MODE_LOGIC,
      CAPS_FEATURE_VTH,
      (1 << DSL_STREAM20x16) | (1 << DSL_STREAM25x12) | (1 << DSL_STREAM50x6) | (1 << DSL_STREAM100x3) |
      (1 << DSL_BUFFER100x16) | (1 << DSL_BUFFER200x8) | (1 << DSL_BUFFER400x4),
      SR_KB(256),
      0,
      DSL_STREAM20x16,
      0,
      0,
      DSL_STREAM20x16,
      SR_MHZ(1),
      SR_Mn(1),
      0,
      0}
   },

to:

    {0x2A0E, 0x0021, "DreamSourceLab", "DSLogic Basic", NULL,
     "DSLogicBasic.fw",
     "DSLogicBasic.bin",
     "DSLogicBasic.bin",
     {CAPS_MODE_LOGIC,
      CAPS_FEATURE_VTH | CAPS_FEATURE_BUF,
      (1 << DSL_STREAM20x16) | (1 << DSL_STREAM25x12) | (1 << DSL_STREAM50x6) | (1 << DSL_STREAM100x3) |
      (1 << DSL_BUFFER100x16) | (1 << DSL_BUFFER200x8) | (1 << DSL_BUFFER400x4),
      SR_MB(256),
      0,
      DSL_BUFFER100x16,
      0,
      0,
      DSL_STREAM20x16,
      SR_MHZ(1),
      SR_Mn(1),
      0,
      0}
   },
   
I assume that the modification is self explanatory if you go through the code. 0x2A0E is VID, 0x0021 is PID of Basic version, the SR_KB(256) is modified to SR_MB(256).... By this modification, I force the software to use the features offered for Plus hardware for the Basic hardware (already upgraded to Plus) as well. After this, I compiled and installed DSView again. This time also the name of the hardare appeared as DSLogic Basic (becasue I did not modify this in the source) but I see that the maximum duration available with my hardware is 167.77 ms!

The only catch is that if you connect a Basic hardware without the RAM soldered to the hacked DSView software, it will use the Plus firmware and because the RAM is not available, it won't show any results. But as long as you have only one hardware with the RAM soldered to it, this method works well.
 
The following users thanked this post: egonotto, thm_w, coromonadalix, analogRF

Offline tsman

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: gb
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #1 on: March 10, 2019, 04:19:57 am »
Using the CyConsole tool didn't work for reprogramming the EEPROM?
 

Offline matbob

  • Contributor
  • Posts: 11
  • Country: ca
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #2 on: March 10, 2019, 10:12:52 pm »
Hello tsman,

Thanks for the comment. I was unaware of CyConsole. I went online and read about this software, it seems that it is a tool in the Cypress SuiteUSB which is available only for Windows. I run Linux (Fedora) on my  PC and therefore I can't try this.

If I want to modify the PID in the EEPROM, I should be knowing the address where the PID is stored. According to this post in one of the forums: https://time4ee.com/news.php?readmore=453, there are 2 locations: 00000003 and 0000186A. The value has to be changed from 0x21 (PID of Basic) to 0x20 (PID of Plus). This might be possible using CyConsole. Please let me know whether you have successfully tried this. This would be much elegant method rather than modifying the DSView software.

Thank you.
 

Offline Microcheap

  • Regular Contributor
  • *
  • Posts: 132
  • Country: 00
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #3 on: March 15, 2019, 03:45:55 pm »
I just upgraded my DSLogic Basic to the Plus version and I can confirm that it works. The steps I followed:

1- I got the MT48LC16M16A2-6A SDRAM IC from here https://www.aliexpress.com/item/in-stock-can-pay-MT48LC16M16A2-TG-75D-MT48LC16M16A2P-6A-MT48LC16M16A2TG-7E-MT48LC32M16A2-5pcs-lot/32805462396.html

2- Desoldered the EEPROM from the LA board (U4) and attached it to a programmer like this https://www.aliexpress.com/item/SOIC8-SOP8-Test-Clip-For-EEPROM-93CXX-25CXX-24CXX-CH341A-24-25-Series-EEPROM-Flash-BIOS/32898599200.html I used a DIP8-SOIC8 adapter.

3- Read the EEPROM and save a backup just in case. Search for the Hex values "0E2A2100" and change it to "0E2A2000" (It appears 2 times, you need to change both). I've used HxD editor to edit the file extracted from the memory.

4- Just reprogram the EEPROM e solder the ICs to the board.

5- Now, when you open DSView it should identify the device as DSLogic Plus, no need to rename firmware files.
 
The following users thanked this post: coromonadalix, nb2000

Offline cv007

  • Frequent Contributor
  • **
  • Posts: 449
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #4 on: March 15, 2019, 11:09:44 pm »
This happened before-
https://www.eevblog.com/forum/testgear/dslogic-plus/msg2011508/#msg2011508

Simply rename the fw file from Plus to Basic. That's it.

I wonder if maybe the eeprom firmware has changed on newer ones where the fw file is no longer loaded/needed?

It seems odd that I can rename the fw file all day long (0.9.8,0.9.9) and switch between Plus/Basic, and some others don't seem to be able to.
If there is a newer eeprom firmware on newer ones, one way to check would be to remove all fw files and see if dsview is still happy (or if on Windows, just listen for the usb detection/re-enumerate when dsview starts).
 

Offline bianchifan

  • Regular Contributor
  • *
  • Posts: 65
  • Country: de
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #5 on: May 05, 2019, 11:59:05 am »
I just upgraded my DSLogic Basic to the Plus version and I can confirm that it works.
Me too... :)

3- Read the EEPROM ...
4- Just reprogram the EEPROM ...
I'm sad but this didn't work for me :((
Taking a closer look at the EEPROM it identifies itself as 4128BRP form ST -> M24128
UNfortunately it seems not to be supported by CH341A programmer, ST Chips are listed only within 24C01 - 24C64, no C128 , no M-types..
So i ordered a couple of Atmel Chips on ebay and hope...
For the meanstime I edited the sources, DSView and PulseView, similar as mentioned above.
DSView recons the unit just at the moment of connection, PulseView not.
First you must connect the device and afterwards start Pulseview... :-//
 

Offline Microcheap

  • Regular Contributor
  • *
  • Posts: 132
  • Country: 00
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #6 on: May 05, 2019, 04:17:39 pm »
Just select any common EEPROM chip form the menu like the 24C128 (supposing you are using the same CH341 programmer as me) that it should work.

Did you de-soldered the chip from the board? The programmer will not work if you try to read the eeprom with the IC on the board, you have to remove it. I then used an adapter like this https://www.aliexpress.com/item/1PCS-150mil-SOIC8-SOP8-to-DIP8-EZ-Programmer-Adapter-Socket-Converter-Module-Suitable-for-ALL-11/32900742229.html attached to the CH341 ZIF socket.
 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #7 on: May 28, 2019, 05:51:26 pm »
Hello,

I tried the method of replacing the firmware in the eeprom and soldered the ram's memory. Unfortunately, my dslogic is not working. The DSView application sees the analyzer as a plus version, but giving a rectangular signal to inputs has no effect - it is always zero. Return to the old version (Basic) of the eeprom without changing the VID and PID returns the analyzer to normal operation (square wave). I also checked the random memory pins of the oscilloscope and see that communication occurs.

Can anyone share a working hex file for the plus version.

PS. File from the thread https://time4ee.com/news.php?readmore=453
it gives the same effect as I wrote above.

Regards
« Last Edit: May 28, 2019, 06:59:12 pm by fonak »
 

Offline TheNewLab

  • Regular Contributor
  • *
  • Posts: 233
  • Country: us
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #8 on: August 03, 2019, 05:49:05 am »
Did you get the Basic to work again? have you tried again to upgrade it to a Plus?
I had a random thought. that RAM add on to make it a Plus is 256MB,

Has anyone tried 512MB? Is it doable? double the amount of RAM of the Plus version?
 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #9 on: August 04, 2019, 09:12:49 am »
Hello

1. Yes the Basic version works without problems (with BASIC firmware version), even with soldered 256MB RAM chip.

2. Yes, I tried two times, but without any effects. The software (v0.99) sees the plus version, however, after entering the rectangular signal to input, the DSView software always sees zero.

3. I have not tried to use 512 MB.
« Last Edit: August 04, 2019, 09:19:26 am by fonak »
 

Offline pgo

  • Contributor
  • Posts: 10
  • Country: au
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #10 on: August 05, 2019, 03:30:20 am »
Hi,

Just to provide another data point.

I purchased a DSLogic basic on ebay.  I was confused and thought it was the Plus. 
I added the SDRAM chip (https://au.element14.com/micron/mt48lc16m16a2p-6a/sdram-256mbit-167mhz-54tsop/dp/2253737)
see https://time4ee.com/news.php?readmore=453 for intial information (but don't remove the EEPROM!)

Method 1 - no EEPROM changes required
-------------------------------------------------
I then (under windows) patched the DSView program.  It is necessary to search for the PID/VID for the basic and change it so that it doesn't detect the Basic one and then modify the PID/VID for the Plus so that it is the Basic (two bytes modified).  This effectively makes the software accept the basic as plus.  The PID/VID are in little-endian order. (DSView.exe, Offset EE9AC2, EE9B52.)

Method 2 - Re-program EEPROM in-situ
--------------------------------------------
Wire pin 7(WC) to pin 4(Gnd) on the EEPROM.  This disables the write protect. This can be done with  a fine wire e.g. wire-wrap. This is safe because pin 7 only has a pull-up to Vdd.
This allows the EEPROM to be programmed by the Cypress USB chip over the USB from a PC.
A program to do this is available at https://github.com/podonoghue/LogicAnalyser/tree/master/Software/fx2lafw_eeprom_loader
The required EEPROM images are available if you search on the web or you can simply download the image from the DSLogic and patch the PID/VID and reprogram.

You may remove the link after programming but there is no requirement.

bye

Edit to clarify.


« Last Edit: August 06, 2019, 12:48:34 am by pgo »
 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #11 on: August 05, 2019, 05:27:23 pm »
Hello pgo

Thanks for the information, I will try to upgrade the analyzer according to your suggestion this coming weekend.

I have an question. Which file in the DSview app you patched?

At the moment I found hex file only on this page: https://time4ee.com/news.php?readmore=453
and I have used them without success.


files:
The 24C128 EEPROM content file
https://mega.nz/#!j8p3iSZB!-L7zwI02reZQz0ASXzjAxWUnioAEUW1Z70uJY6H2oNQ

Regards
« Last Edit: August 05, 2019, 05:58:48 pm by fonak »
 

Offline Microcheap

  • Regular Contributor
  • *
  • Posts: 132
  • Country: 00
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #12 on: August 05, 2019, 10:06:54 pm »
You don't need to change any file in the DSview, just solder the SDRAM chip and desolder the EEPROM. Read the EEPROM chip that you just removed from the board with a eeprom reader. Save the extracted content, that is your HEX file, then edit it to change the PID/VID, save it and reprogram the eeprom using this modified HEX file. Solder the IC back to the board, if everything is correct, the DSview will identify your LA as the Plus version.

I've posted a more detailed explanation (with pics) a few threads above.

There was another method that involved renaming some files in the DSview folder, but it did not work for me and if you reinstall the software or change the computer you would have to rename the files again. Reprogramming the EEPROM worked fine and is a more permanent solution.
« Last Edit: August 05, 2019, 11:13:49 pm by Microcheap »
 

Offline pgo

  • Contributor
  • Posts: 10
  • Country: au
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #13 on: August 06, 2019, 12:36:14 am »
Hi Fonak,

I edited DSView.exe.

Offset EE9AC2, EE9B52.

Hi Microcheap -

Not everyone has access to a programmer! 
It is easier to solder one wire than remove the EEPROM.
It easier to program the chip without removing it and you don't need a programmer at all.

bye
« Last Edit: August 06, 2019, 12:39:59 am by pgo »
 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #14 on: August 06, 2019, 05:50:51 pm »
Hi Microcheap and pgo


I did exactly (I use ch341a eeprom programmer) how you write in post from March 16, 2019, But this do not work for me.

As I wrote before, DSwiev sees the analyzer as Plus but after giving the rectangular signal to the iputs, softwere always sees zero (always flat line at zero level). When I return to original firmware everything worked fine as Basic version of course :)


I will try to upload the firmware again with your method and the method proposed by PGO. I hope one of them works. In addition, I will try to upload a hex downloaded from the Internet

Thank you pgo and Microcheap very much for your help



 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #15 on: August 11, 2019, 01:16:16 pm »
Hi Microcheap and pgo

I noticed a strange thing. When I ran the modified DSView file as pgo said (Offset EE9AC2, EE9B52 change  data from 21 to 20) the analyzer is detected as BASIC and works perfect as BASIC (buffer 163us @ 400MHz). Then without disconnecting the analyzer from usb I closed the modified DSView program and turned on the original one. Then the analyzer is recognized as PLUS and works perfect as PLUS version (167ms buffer @ 400MHz). If I disconnect the analyzer from the USB and connect again (or restart original DSView.exe ), the analyzer is recognized as a PLUS but does not see the rectangular signal at the input. The analyzer has been programmed with modified firmware (offset 00000003 and 0000186A change from 21 to 20).
« Last Edit: August 11, 2019, 01:20:00 pm by fonak »
 

Offline DEV001

  • Contributor
  • Posts: 7
  • Country: us
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #16 on: August 12, 2019, 10:50:48 pm »
After reading this thread, I ordered a USB programmer with SOIC-8 clip and a (MT48LC16M16A2) memory chip to upgrade my DSLogic basic. I will try the 'fx2lafw_eeprom_loader' tool first and if I can't get it to work I can desolder the flash chip if necessary. Hopefully the memory chip and programmer will arrive next week if the E-Bay estimates are accurate.

 

Offline excitedbox

  • Contributor
  • Posts: 45
  • Country: de
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #17 on: August 15, 2019, 09:47:46 pm »
I have a basic that isnĀ“t upgraded yet. Where all would I have to change the memory value if I was gonna try the 512MB ram chip?
 

Offline fonak

  • Contributor
  • Posts: 17
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #18 on: September 09, 2019, 07:29:53 pm »
Hello

New version of DSview has been released
 
change log 1.00 -- (2019-09-09)
-----------------
  --common
  *add multi-language support and dynamic switch
  *add two themes (dark/light) support and dynamic switch
  *improve 4K/high DPI display support
  *add close function for file type device
  *add message tips when encounter file save errors
  *fix file format of export file, like VCD
  *fix other minor issues

  --for logic analyzer
  *add support for V3 version decode library
  *add more decoders, the number of decoders come up to 97
  *improve options and speed for certain decoders
  *fix load&store issue of some decode options
  *fix wrong measure result at certain sample rate
  *fix channel selection of stream mode
  *fix filter issue above 100M sample rate
  *fix decode error for long time capture
  *fix progress display issue when set region decode
  *improve measurement bwteent edges in different channels

  --for oscilloscope
  *improve the auto measure funciton, support up to 20 measurements
  *improve UI for auto measure
  *implement x-y mode display for lissajous-figure
  *implement Add/Sub/Mul/Div math channel
  *add horizontal measure cursors
  *improve measure of frequency, refer to current trigger level
  *fix captured wave display issue when change horizontal resolution
  *fix inconsistant issue when export csv file
  *improve algorithm of frequency measure, especially for low frequency and special signals
  *improve autoset function
  *improve auto calibraiton function

  --for data acquisiton
  *add default settings of Y-axis

https://www.dreamsourcelab.com/download/
 

Offline AngusBeef

  • Regular Contributor
  • *
  • Posts: 78
  • Country: us
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #19 on: September 20, 2019, 10:28:28 pm »

Method 2 - Re-program EEPROM in-situ
--------------------------------------------
Wire pin 7(WC) to pin 4(Gnd) on the EEPROM.  This disables the write protect. This can be done with  a fine wire e.g. wire-wrap. This is safe because pin 7 only has a pull-up to Vdd.
This allows the EEPROM to be programmed by the Cypress USB chip over the USB from a PC.
A program to do this is available at https://github.com/podonoghue/LogicAnalyser/tree/master/Software/fx2lafw_eeprom_loader
The required EEPROM images are available if you search on the web or you can simply download the image from the DSLogic and patch the PID/VID and reprogram.


I attempted to use the program but I don't have any compilers, and it won't run on Windows which it was compiled for without a pile of libraries. I'm attempting to use Eclipse and MINGW recompile it into a binary that includes all necessary libraries but it's a new experience for me. I would buy a programmer but this seems an interesting challenge.
 

Offline pgo

  • Contributor
  • Posts: 10
  • Country: au
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #20 on: September 21, 2019, 07:44:31 am »
Hi AngusBeef,

I believe the bin directory contains all the required DLLs from MingGW-64, the libusb DLL and the executable.
What DLLs do you believe is missing?

There should be no need to build anything (under Windows-64bit).

bye
 

Offline AngusBeef

  • Regular Contributor
  • *
  • Posts: 78
  • Country: us
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #21 on: September 21, 2019, 08:01:28 am »
I know that libwinpthread-1.dll is missing from the directory (at least on my PC) as I get an exception for it saying it failed to start as it's missing that dependency.

However, once I downloaded the above .dll from MinGW and drop it in the bin folder I still get a different exception at 0xc000007b.

I'm solving a library linking issue with GCC and the Eclipse IDE on Linux since I'm getting the "function not defined" errors when I can see they're properly defined in the header files - but it's been about 8 years since I've played with C++ so I forgot almost everything and I'm on the struggle bus.

Edit: to clarify I have both a Windows computer and a Linux computer - tried running it on Windows and I'm trying to recompile it on Linux - the libraries you used are mostly cross-compatible with the exception of Windows.h which reading through looks like only was used for the sleep function - but there's unistd.h that provides the same.
« Last Edit: September 21, 2019, 08:05:25 am by AngusBeef »
 

Offline pgo

  • Contributor
  • Posts: 10
  • Country: au
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #22 on: September 21, 2019, 10:04:16 am »
Hi

I've added  libwinpthread-1.dll to the bin directory.
I didn't spot it missing as apparently there is a copy in my windows/system32 directory - presumably dropped by some other software.
I was assuming any DLLs picked up from there were part of windows.

It is probably important to have the correct version i.e. matching the build.

Dependency graph is attached.

I have also built it on Linux and included a binary  but this will be even more problematic.

bye
 
The following users thanked this post: AngusBeef

Offline AngusBeef

  • Regular Contributor
  • *
  • Posts: 78
  • Country: us
Re: Upgrading DSLogic Basic to Plus without EEPROM modification
« Reply #23 on: September 21, 2019, 11:16:37 pm »
Thanks! Including the additional dependencies solved the issue running the software on Windows.

Connected the pins with two probes and a lead wire, read the hex file off, changed the appropriate entries, and voila - it's got a new PID.

The only issue I ran into was that the checksums were incorrect in my hex file the first time I tried to write it (because I changed values in two lines of course). - I'm glad you run those checks in your program - I did some reading and then updated the checksum for the two lines I changed and then it wrote with no issue.

I think your method is more ingenious and elegant than de-soldering the EEPROM to use a programmer - it takes advantage of the components that already exist on the board.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf