Post Reply 
41CL Self-Update
10-31-2017, 01:11 PM
Post: #61
RE: 41CL Self-Update
Successfully updated CL V4 last night. 164 files updated. Update time (without initial and final FLDBCHK?) ~3 hours with AUTOVFY on.

Jack
Find all posts by this user
Quote this message in a reply
11-02-2017, 10:15 PM (This post was last modified: 11-02-2017 10:28 PM by aurelio.)
Post: #62
RE: 41CL Self-Update
I'm trying now to repeat these operations with the PC which I use daily at work.
Unfortunately it has a not working integrated RS232; I discovered it during a previous attempt (a manual update) few months ago, sure I talked about it on this forum when Sylvain left a tutorial on how to test the serial port...(thanks once more time) .

For this reason I bought a USB/serial adapter
Not without difficulties I found the drivers for windows 7 (with the cdrom were supplyed just the x32 ones), then I tryed to connect the calculator, of course after checking to have properly set the COM25 resulting from the serial adapter, in place of the COM1 default which as said is not working..
What I got was that the calculator stopped in RECEIVING... and there's no way to have a LOST MEMORY (I had to perform a hardware reset, taking apart the board from the calculator)

I have rechecked the connection the setup of the COM25 related to the usb adapter (4800......etc.) seems to be everything OK but three attempts with the same result: anyone have experienced the same problem while using a serial adapter?

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800

21:14:29 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800]
21:14:29 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-09-22]
21:14:30 Serial COM25 opened.
21:14:30 Sleeping 5 seconds before starting file transfer
21:14:35 Sending 4096 = 4096 bytes sent
21:15:47 Serial COM25 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]

edit: typos
Find all posts by this user
Quote this message in a reply
11-02-2017, 10:32 PM
Post: #63
RE: 41CL Self-Update
(11-02-2017 10:15 PM)aurelio Wrote:  I'm trying now to repeat these operations with the PC which I use daily at work.
Unfortunately it has a not working integrated RS232; I discovered it during a previous attempt (a manual update) few months ago, sure I talked about it on this forum when Sylvain left a tutorial on how to test the serial port...(thanks once more time) .

For this reason I bought a USB/serial adapter
Not without difficulties I found the drivers for windows 7 (with the cdrom were supplyed just the x32 ones), then I tryed to connect the calculator, of course after checking to have properly set the COM25 resulting from the serial adapter, in place of the COM1 default which as said is not working..
What I got was that the calculator stopped in RECEIVING... and there's no way to have a LOST MEMORY (I had to perform a hardware reset, taking apart the board from the calculator)

I have rechecked the connection the setup of the COM25 related to the usb adapter (4800......etc.) seems to be everything OK but three attempts with the same result: anyone have experienced the same problem while using a serial adapter?

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800

21:14:29 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800]
21:14:29 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-09-22]
21:14:30 Serial COM25 opened.
21:14:30 Sleeping 5 seconds before starting file transfer
21:14:35 Sending 4096 = 4096 bytes sent
21:15:47 Serial COM25 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]

edit: typos

Try changing the COM port to a single-digit port number (e.g. COM5) as many programs will not work with 2-digit port numbers (and really, who could blame them...).

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
11-02-2017, 11:01 PM
Post: #64
RE: 41CL Self-Update
(11-02-2017 10:32 PM)rprosperi Wrote:  
(11-02-2017 10:15 PM)aurelio Wrote:  I'm trying now to repeat these operations with the PC which I use daily at work.
Unfortunately it has a not working integrated RS232; I discovered it during a previous attempt (a manual update) few months ago, sure I talked about it on this forum when Sylvain left a tutorial on how to test the serial port...(thanks once more time) .

For this reason I bought a USB/serial adapter
Not without difficulties I found the drivers for windows 7 (with the cdrom were supplyed just the x32 ones), then I tryed to connect the calculator, of course after checking to have properly set the COM25 resulting from the serial adapter, in place of the COM1 default which as said is not working..
What I got was that the calculator stopped in RECEIVING... and there's no way to have a LOST MEMORY (I had to perform a hardware reset, taking apart the board from the calculator)

I have rechecked the connection the setup of the COM25 related to the usb adapter (4800......etc.) seems to be everything OK but three attempts with the same result: anyone have experienced the same problem while using a serial adapter?

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800

21:14:29 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800]
21:14:29 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-09-22]
21:14:30 Serial COM25 opened.
21:14:30 Sleeping 5 seconds before starting file transfer
21:14:35 Sending 4096 = 4096 bytes sent
21:15:47 Serial COM25 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]

edit: typos

Try changing the COM port to a single-digit port number (e.g. COM5) as many programs will not work with 2-digit port numbers (and really, who could blame them...).

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM2 4800
23:58:08 --upload [fileName: UPDAT-3A.ROM] [portName: COM2] [baudRate:
23:58:08 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:222]
23:58:09 Serial COM2 opened.
23:58:09 Sleeping 5 seconds before starting file transfer
23:58:14 Sending = 0 bytes sent
23:59:18 Serial COM2 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]
Find all posts by this user
Quote this message in a reply
11-03-2017, 12:58 AM
Post: #65
RE: 41CL Self-Update
(11-02-2017 10:15 PM)aurelio Wrote:  I have rechecked the connection the setup of the COM25 related to the usb adapter (4800......etc.) seems to be everything OK but three attempts with the same result: anyone have experienced the same problem while using a serial adapter?
There are several usb-to-serial adapter chip manufacturer, some legal and some not-so-legal (cloned), be sure to install the appropriate driver that match the chipset.

(11-02-2017 10:15 PM)aurelio Wrote:  C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800
Command line is good

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:29 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800]
java was found, jar file was found and the proper command selected

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:29 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-09-22]
ROM file was found and properly understood

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:30 Serial COM25 opened.
Serial port found and opened

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:35 Sending 4096 = 4096 bytes sent
File data was transferred to the transmit buffer and accepted by the JSerialComm library to be transmitted asynchronously.

(11-02-2017 10:15 PM)aurelio Wrote:  21:15:47 Serial COM25 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]
For some reason the low level driver (written in C) of the JSerialComm library was not able to asynchronously send the data from the transmit buffer to the serial port driver, hence the TimeoutException message a little more than a minute after the Sending message.

This point to either a problematic usb-to-serial adapter or more probably a driver not matching the usb-to-serial adapter chipset.

Sylvain
Find all posts by this user
Quote this message in a reply
11-03-2017, 01:14 AM (This post was last modified: 11-03-2017 01:15 AM by Sylvain Cote.)
Post: #66
RE: 41CL Self-Update
(11-02-2017 10:32 PM)rprosperi Wrote:  Try changing the COM port to a single-digit port number (e.g. COM5) as many programs will not work with 2-digit port numbers (and really, who could blame them...).
It should work with any COM port.

Interesting thing that I found on Windows ..

Did you know that the maximum COM port number understood by Windows 64 bits is 32 while Windows 32 bits was able to understand up to 128 (maybe more but I never tried it)
I found this while doing the manufacturing line set up, each Windows PC has 2 electrical test jig connected to it and each test jig have 24 serial ports for a total of 48 serial ports for one Windows PC.
I spent a day trying to figuring why the newly equipped Windows PC was not seeing all the serial ports until I realized that it was a Windows 64 bit installation and the other Windows PC were 32 bits.
Microsoft never ceases to amaze me, fortunately 99% on my computing time is not on that platform. ;-)

Sylvain
Find all posts by this user
Quote this message in a reply
11-03-2017, 07:48 AM
Post: #67
RE: 41CL Self-Update
(11-03-2017 01:14 AM)Sylvain Cote Wrote:  Microsoft never ceases to amaze me, fortunately 99% on my computing time is not on that platform. ;-)
Sylvain
Smile
Find all posts by this user
Quote this message in a reply
11-03-2017, 08:11 AM (This post was last modified: 11-03-2017 08:13 AM by aurelio.)
Post: #68
RE: 41CL Self-Update
(11-03-2017 12:58 AM)Sylvain Cote Wrote:  
(11-02-2017 10:15 PM)aurelio Wrote:  I have rechecked the connection the setup of the COM25 related to the usb adapter (4800......etc.) seems to be everything OK but three attempts with the same result: anyone have experienced the same problem while using a serial adapter?
There are several usb-to-serial adapter chip manufacturer, some legal and some not-so-legal (cloned), be sure to install the appropriate driver that match the chipset.

(11-02-2017 10:15 PM)aurelio Wrote:  C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800
Command line is good

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:29 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800]
java was found, jar file was found and the proper command selected

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:29 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-09-22]
ROM file was found and properly understood

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:30 Serial COM25 opened.
Serial port found and opened

(11-02-2017 10:15 PM)aurelio Wrote:  21:14:35 Sending 4096 = 4096 bytes sent
File data was transferred to the transmit buffer and accepted by the JSerialComm library to be transmitted asynchronously.

(11-02-2017 10:15 PM)aurelio Wrote:  21:15:47 Serial COM25 closed.
Exception: TimeoutException [message: wait-time > 60000 milliseconds]
For some reason the low level driver (written in C) of the JSerialComm library was not able to asynchronously send the data from the transmit buffer to the serial port driver, hence the TimeoutException message a little more than a minute after the Sending message.

This point to either a problematic usb-to-serial adapter or more probably a driver not matching the usb-to-serial adapter chipset.

Sylvain

thank you for the step-by-step analysis
I'm more convinced that the problem is due to the driver.
I downloaded it from this page and when I tryed to install it a warning at the end of the setup "the setup is complete but could be a problem while using this driver" or something like that. in the device property box was marked infact with the sign (!) , but after unplugging and plugging it into another usb port was completed the setup and everithing seems to be normal
Find all posts by this user
Quote this message in a reply
11-03-2017, 02:07 PM
Post: #69
RE: 41CL Self-Update
(11-03-2017 01:14 AM)Sylvain Cote Wrote:  
(11-02-2017 10:32 PM)rprosperi Wrote:  Try changing the COM port to a single-digit port number (e.g. COM5) as many programs will not work with 2-digit port numbers (and really, who could blame them...).
It should work with any COM port.

Interesting thing that I found on Windows ..

Did you know that the maximum COM port number understood by Windows 64 bits is 32 while Windows 32 bits was able to understand up to 128 (maybe more but I never tried it)

I know that windows supports a large number of COM ports (though this discovery about 32 vs. 128 is truly weird); I suspected your java program may not have been properly parsing the 2-digit com port number, a problem I've found in many programs in the past.

A closer reading of the log indeed confirms the port was recognized and opened w/o error, so sorry about the overly simplistic diagnostic advice.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
11-03-2017, 03:41 PM
Post: #70
RE: 41CL Self-Update
(11-03-2017 02:07 PM)rprosperi Wrote:  
(11-03-2017 01:14 AM)Sylvain Cote Wrote:  It should work with any COM port.

Interesting thing that I found on Windows ..

Did you know that the maximum COM port number understood by Windows 64 bits is 32 while Windows 32 bits was able to understand up to 128 (maybe more but I never tried it)

I know that windows supports a large number of COM ports (though this discovery about 32 vs. 128 is truly weird); I suspected your java program may not have been properly parsing the 2-digit com port number, a problem I've found in many programs in the past.

A closer reading of the log indeed confirms the port was recognized and opened w/o error, so sorry about the overly simplistic diagnostic advice.

My remark was about Windows only and not related to Java at all.
On Windows 7 64 bits, if you install more than 32 com ports, the serial device driver is not seeing them and they are not showing in device manager period.
That is not the case on Windows 7 32 bits.
Find all posts by this user
Quote this message in a reply
11-04-2017, 02:09 PM
Post: #71
RE: 41CL Self-Update
WARNING
Current version of the clupdate program does not support the upcoming 41CL v5 board.
My two v5 boards are in the mail and should be arriving somewhere next week.
A new version with v5 board support should be available within the next two weeks.
Sylvain
Find all posts by this user
Quote this message in a reply
11-04-2017, 02:58 PM (This post was last modified: 11-04-2017 03:21 PM by aurelio.)
Post: #72
RE: 41CL Self-Update
now, after a swap of the usb/serial adapter,

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800
15:21:55 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800
15:21:55 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-0922]
15:21:57 Serial COM25 opened.
15:21:57 Sleeping 5 seconds before starting file transfer
15:22:02 Sending 2560 2816 2560 256 = 8192 bytes sent
15:22:26 Serial COM25 closed.

Now the target is to update the only image out of date after in the previous attempt 'cause in the OS sector (YFNZ-4F.ROM)
and expecially to take more confidence with the procedure and the Monte's manual (THANKS never enough Smile )


C:\clupd>java -jar clupdate-1.0.0.jar --update rom_files_171021.zip COM25 4800

15:26:35 --update [fileName: rom_files_171021.zip] [portName: COM25] [baudRate: 4800]
15:26:35 File rom_files_171021.zip loading ... done
15:26:37 Serial COM25 opened at 4800 baud.
15:26:37 Waiting for 41CL commands ...
15:27:13 Received OPEN_CHANNEL_REQUEST(0x41)
15:27:13 Sent OPEN_CHANNEL_RESPONSE(0x42)
16:06:19 Received FLDB_4MB_IMPORT_REQUEST(0x45) [Page: 0x0DE] [boardGeneration: SECOND]
16:06:19 File [FileName: FLDB.ROM] [YCRC:0x10212017] [Rev: 2017-10-23]
16:06:19 Sending 2560 2816 2560 256 = 8192 bytes sent
16:06:46 Received KEEP_ALIVE(0x59))))))))))))))))
16:09:18 Received CORR_FLDB_4MB_EXPORT_REQUEST(0x4D)
16:09:18 Sent CORR_FLDB_4MB_EXPORT_RESPONSE(0x4E)
16:09:18 Receiving 2183 2189 2189 1631 = 8192 bytes received
16:09:36 File CFLDB.ROM saved
16:09:36 Report Outdated ROM images [boardGeneration: SECOND]
16:09:36 Report YFNZ-4F.ROM [Page:0x007 ID:YFNZ Rev:2017-06-19 YCRC:0x3650EF10]
16:09:36 Report Summary: 1 outdated of 512 ROM images
16:11:28 Received PAGE_IMPORT_REQUEST(0x53) [Page:0x007]
16:11:28 Image YFNZ-4F.ROM [Page:0x007 ID:YFNZ Rev:2017-06-19 YCRC:0x3650EF10]
16:11:28 Sending 2560 2816 2560 256 = 8192 bytes sent
16:16:11 Received CORR_FLDB_4MB_EXPORT_REQUEST(0x4D)
16:16:11 Sent CORR_FLDB_4MB_EXPORT_RESPONSE(0x4E)
16:16:11 Receiving 2181 2189 2189 1633 = 8192 bytes received
16:16:30 File CFLDB.ROM saved
16:16:30 Report Outdated ROM images [boardGeneration: SECOND]
16:16:30 Report Summary: 0 outdated of 512 ROM images

Smile
Find all posts by this user
Quote this message in a reply
11-04-2017, 03:24 PM (This post was last modified: 11-04-2017 03:25 PM by Sylvain Cote.)
Post: #73
RE: 41CL Self-Update
(11-04-2017 02:58 PM)aurelio Wrote:  now, after a swap of the usb/serial adapter,

C:\clupd>java -jar clupdate-1.0.0.jar --upload UPDAT-3A.ROM COM25 4800
15:21:55 --upload [fileName: UPDAT-3A.ROM] [portName: COM25] [baudRate: 4800
15:21:55 File UPDAT-3A.ROM loading ... done [YCRC=0x8D9DEE9B Rev:2017-0922]
15:21:57 Serial COM25 opened.
15:21:57 Sleeping 5 seconds before starting file transfer
15:22:02 Sending 2560 2816 2560 256 = 8192 bytes sent
15:22:26 Serial COM25 closed.

For the following section, I assumed that you have mapped and activated the UPDAT-3A.ROM image in your 41CL.

In case you have not done it previously, I would suggest you to do a complete update of your 41CL with the OS protection activated before doing the OS sector.

(11-04-2017 02:58 PM)aurelio Wrote:  Now the target is to update the only image oudate after in the previous attempt 'cause in the OS sector YFNZ-4F.ROM

I was thinking to save time scanning just the page interested to the update, in this case
"000>00F"
so that:

On the computer:
java -jar clupdate-1.0.0.jar --update rom_files_171021.zip COM25 4800 RETURN]
Code:
HH: MM: SS --update [fileName: rom_files_171021.zip] [portName: COM25] [baudRate: 4800]
I should see
HH: MM: SS File rom_files_171021.zip loading ... done
HH: MM: SS Serial COM25 opened at 4800 baud.
HH: MM: SS Waiting for 41CL commands ...
On the calculator:
CMOPEN
I should see on the computer
Code:
HH: MM: SS Received OPEN_CHANNEL_REQUEST(0x41)
HH: MM: SS Sent OPEN_CHANNEL_RESPONSE(0x42)
On the calculator:
OSUPDT
"000>00F"
FLCHK?
-> I should see the Outdated ROM images report on the computer at the end of the check
"000>00F"
FLUPD
-> I should see update activity on the calculator and on the computer
CDBEXP
-> I should see, now, 0 outdated on the Outdated ROM images report on the computer
CMCLOSE

is this procedure correct?

Yes that is correct, but I would add the OSPROT command just after the FLUPD command and limit the scan/update range to "000>007".

Sylvain

edit: typo
Find all posts by this user
Quote this message in a reply
11-04-2017, 03:32 PM (This post was last modified: 11-04-2017 03:34 PM by aurelio.)
Post: #74
RE: 41CL Self-Update
(11-04-2017 03:24 PM)Sylvain Cote Wrote:  Yes that is correct, but I would add the OSPROT command just after the FLUPD command and limit the scan/update range to "000>007".

Sylvain

edit: typo

I will add the OSPROT command, but is it to be given after or before the FLUPD command?


the selection "000>007" was already done, thanks, sorry ............ I did not wait for the answer before to test it, I did at my risk Smile
Find all posts by this user
Quote this message in a reply
11-04-2017, 03:34 PM
Post: #75
RE: 41CL Self-Update
(11-04-2017 02:58 PM)aurelio Wrote:  16:16:30 Report Outdated ROM images [boardGeneration: SECOND]
16:16:30 Report Summary: 0 outdated of 512 ROM images

Congratulation for your updated 41CL! Smile
I understand that the update operation can be scary for some users, but like you just demonstrated it can be done easily enough.
Do not forget to reactivate the OS protection by executing the OSPROT function.
Sylvain
Find all posts by this user
Quote this message in a reply
11-04-2017, 03:38 PM
Post: #76
RE: 41CL Self-Update
(11-04-2017 03:32 PM)aurelio Wrote:  I will add the OSPROT command, but is it to be given after or before the FLUPD command?
the selection "000>007" was already done, thanks, sorry ............ I did not wait for the answer before to test it, I did at my risk Smile
OSUPDT deactivate OS protection and must executed before FLUPD function.
OSPROT activate OS protection and must executed after FLUPD function.
Find all posts by this user
Quote this message in a reply
11-04-2017, 03:40 PM (This post was last modified: 11-04-2017 03:44 PM by aurelio.)
Post: #77
RE: 41CL Self-Update
(11-04-2017 03:38 PM)Sylvain Cote Wrote:  
(11-04-2017 03:32 PM)aurelio Wrote:  I will add the OSPROT command, but is it to be given after or before the FLUPD command?
the selection "000>007" was already done, thanks, sorry ............ I did not wait for the answer before to test it, I did at my risk Smile
OSUPDT deactivate OS protection and must executed before FLUPD function.
OSPROT activate OS protection and must executed after FLUPD function.
Thanks but mine was a useless question at all, the protection is to be restored after the image swap, of course sure not before... Smile
Find all posts by this user
Quote this message in a reply
11-05-2017, 09:45 AM
Post: #78
RE: 41CL Self-Update
Rainy autumn day here in Switzerland. Perfect weather for updating my 41CLs.
With the beta board I encountered the problem that importing the update ROM using YIMP didn't work. YIMP always immediately returned. So I used my CLONIX to import the update ROM. After that everything worked flawlessly.
Now I just updated the OS section, too. Yippie!
And the V5 board already arrived in my country, I hope I'll get it on Monday. Since more than 30 years, the HP-41 is a source of a lot of fun, that's absolutely great!
Find all posts by this user
Quote this message in a reply
11-06-2017, 01:44 AM
Post: #79
RE: 41CL Self-Update
(11-04-2017 02:09 PM)Sylvain Cote Wrote:  WARNING
Current version of the clupdate program does not support the upcoming 41CL v5 board.
My two v5 boards are in the mail and should be arriving somewhere next week.
A new version with v5 board support should be available within the next two weeks.
Sylvain

I just discovered that UPDAT-3A does not work properly with Flash addresses
above 0x1FF. I'll have a fix in time to use with the new clupdate version.

I also just discovered (thank you, Mark Fleming) that some of the pages in
Flash were not updated properly before I shipped the V5 boards. Two pages
I plain forgot to update, but several others seem not to have gotten the
correct images. But the IMDB and FLDB are correct. So all V5 boards will
need to be updated once Sylvain and I get the changes done. I'll post more
information on the 41CL website once I get everything straightened out.
I apologize to everyone who already got a V5 board. I got complacent
and didn't thoroughly check the Flash contents.

Monte
Visit this user's website Find all posts by this user
Quote this message in a reply
11-17-2017, 03:37 PM
Post: #80
RE: 41CL Self-Update
This is the first time I’m trying to link and update any CL board.
I received my new V5 a couple of days ago.
I can’t update. I followed the instructions, but when I get to the part where I have to plug the serial connector to the Mac and run the JAVA command line, I get an error message saying something like: “Error opening port com3...”
After a while the calculator displays “TIMEOUT” or sometimes “HR or HS ERROR”, can’t remember which one.

I am doing XEQ CMOPEN before I hit ENTER on the terminal.

What am I doing wrong?

Engineer & Senior IT Executive
Tall-Key HP41CL, HP41CX, HP82162A Printer, HP82143A Printer, 82160A HP-IL and some other modules, HP50g.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)