Physical setup
- plug serial cable in your 41CL
- plug serial cable to your computer
Calculator should always be off when you plug/unplug the serial cable to/from the calculator.
You should also insert fresh batteries before doing a Flash update.
Note: it is important to physically connect your 41CL to your computer before doing the MMU configuration.
The reason is that sometime the MMU is deactivated when you plug or unplug the serial cable.
When that happen you just need to reactivate the MMU by executing the MMUEN command.
Configuring 41CL
Code:
Command Description
------------ ---------------------------------------------------
Code:
MMUDIS Disable memory management unit
MMUCLR Clear MMU configuration
"YFNX" 41CL Extreme Functions ROM image identifier
PLUG1L Map YFNS ROM image to page 8 (port 1 low page)
"YUPS" 41CL Update Functions ROM image identifier
PLUG1U Map YUPS ROM image to page 9 (port 1 high page)
Code:
TURBO50 Activate 50x speed up (optional)
SERINI Initialise serial port (optional)
BAUD48 Set port to 4800 bauds (optional)
ON Deactivate sleep mode (optional)
CF 26 Deactivate sound (optional)
MMUEN Activate MMU configuration
CAT 2 should show the following
Code:
-TIME 3B
-CL TIME
-YFNX 4C
-SYS FNS
-SER FNS
-MISC FNS
UPDATE 4D
-EXT FCN 3B
-CL EXT FNC
Note: you may see different version for some ROMs but that is ok.
On the 41CL
Code:
Command Description
------------ ---------------------------------------------------
FDBVER? Get current FLDB version of your 41CL
The output is the FLDB date currently installed in your 41CL. Date format respect MDY/DMY mode.
Mine is 06/05/2022 for June 5th, 2022, yours will be somewhere in 2020.
Software & files needed before going further:
From the command line:
Code:
cd folder-where-clupdate-and-rom_files-are-located
java -jar clupdate-1.1.0.jar --update rom_files_220629.zip COMx 4800
You should see something like this on your computer: (I use a Mac so my serial port name is different than the ones on Windows)
Code:
hh:mm:ss --update [fileName: rom_files_220629.zip] [portName: /dev/tty.usbserial-AQ01D0DE] [baudRate: 4800]
hh:mm:ss File rom_files_220629.zip loading ... done
hh:mm:ss Serial /dev/tty.usbserial-AQ01D0DE opened at 4800 baud.
hh:mm:ss Waiting for 41CL commands ...
On the 41CL
Code:
Command Description
------------ ---------------------------------------------------
CMOPEN Open serial port
You should see something like this on your computer:
Code:
HH:MM:SS Received OPEN_CHANNEL_REQUEST(0x41)
HH:MM:SS Sent OPEN_CHANNEL_RESPONSE(0x42)
On the 41CL
Code:
Command Description
------------ ---------------------------------------------------
CPONLY Enable compare mode.
"*" All Flash memory will be scanned
FLCHK? Scan Flash ranged specified in ALPHA
On your computer, you should see the new FLDB ROM image being downloaded to your 41CL
Code:
HH:MM:SS Received FLDB_8MB_IMPORT_REQUEST(0x47) [Page: 0x0DE] [BoardGeneration: third] [EstimatedFullScan: 02h 51m 18s]
HH:MM:SS File [FileName: FLDB.ROM] [YCRC:0x06292022] [Rev: 2022-06-30]
HH:MM:SS Sending 8192 = 8192 bytes sent
Then, several lines of:
Code:
HH:MM:SS Received KEEP_ALIVE(0x59))))))))))))))))))))))))))))))))
...
HH:MM:SS Received KEEP_ALIVE(0x59))))))))))))))))))))))))))))))))
Then, the updated FLDB (called CFLDB) is being uploaded to your computer:
Code:
HH:MM:SS Received CORR_FLDB_8MB_EXPORT_REQUEST(0x4F)
HH:MM:SS Sent CORR_FLDB_8MB_EXPORT_RESPONSE(0x50)
HH:MM:SS Receiving 2183 2186 2186 1637 = 8192 bytes received
HH:MM:SS File CFLDB.ROM saved
Finally, the diff report between your 41CL FLDB and the new FLDB (CFLDB):
Code:
HH:MM:SS Report Outdated ROM images [BoardGeneration: third]
HH:MM:SS Report EVAL_3K.ROM [Page:0x0B7 ID:FRML Rev:2022-06-29 YCRC:0xFEA85C11]
HH:MM:SS Report EVAL_APP.ROM [Page:0x0B8 ID:FRMX Rev:2022-06-29 YCRC:0x91C0F69E]
HH:MM:SS Report FLDB.ROM [Page:0x0DE ID:FLDB Rev:2022-06-29 YCRC:0x06292022]
HH:MM:SS Report IMDB.ROM [Page:0x0DF ID:IMDB Rev:2022-06-23 YCRC:0x16F7EB60]
HH:MM:SS Report XMTWIN.ROM [Page:0x173 ID:XMTW Rev:2022-06-29 YCRC:0x8F1118C5]
HH:MM:SS Report SMAT43.ROM [Page:0x1A2 ID:SM44 Rev:2022-06-29 YCRC:0xC7FE7120]
HH:MM:SS Report WARPB1.ROM [Page:0x1B8 ID:WARP Rev:2022-06-29 YCRC:0x23F9223A]
HH:MM:SS Report WARPB2.ROM [Page:0x1B9 ID:WARP Rev:2022-06-29 YCRC:0x3869A14A]
HH:MM:SS Report WARPB3.ROM [Page:0x1BA ID:WARP Rev:2022-06-29 YCRC:0x9E92DDB3]
HH:MM:SS Report XMEMXF.ROM [Page:0x202 ID:XMXF Rev:2022-06-29 YCRC:0x407CDBAC]
HH:MM:SS Report XMMTRX.ROM [Page:0x203 ID:XMMA Rev:2022-06-29 YCRC:0x40F50C7D]
HH:MM:SS Report XMPPC.ROM [Page:0x204 ID:XMPP Rev:2022-06-29 YCRC:0x74968745]
HH:MM:SS Report 2022JUL.ROM [Page:0x288 ID:CEPH Rev:2022-06-29 YCRC:0x18C5232A]
HH:MM:SS Report 2022JUN.ROM [Page:0x289 ID:LEPH Rev:2022-06-29 YCRC:0x503081B1]
HH:MM:SS Report 14 outdated pages, out of 1024 pages, spread over 8 Flash blocks, estimated update time: 00h 26m 28s
Note 1: your list will be longer because your FLDB is older.
Note 2: the estimated update time above is pretty much what it will take to complete the update.
Now we do the actual update, on the 41CL
Code:
Command Description
------------ ---------------------------------------------------
FLUPD Update Flash Memory
On your computer, for each ROM being updated you will see something like this:
Code:
HH:MM:SS Received PAGE_IMPORT_REQUEST(0x53) [Page:0x0B7]
HH:MM:SS Image EVAL_3K.ROM [Page:0x0B7 ID:FRML Rev:2022-06-29 YCRC:0xFEA85C11]
HH:MM:SS Sending 8192 = 8192 bytes sent
The update will go on until you see "UPD DONE" on your 41CL.
On the 41CL type:
Code:
Command Description
------------ ---------------------------------------------------
CDBEXP Export CFLDB ROM image
On your computer, you should see the updated FLDB (called CFLDB) being uploaded to your computer and the updated report.
Code:
HH:MM:SS Received CORR_FLDB_8MB_EXPORT_REQUEST(0x4F)
HH:MM:SS Sent CORR_FLDB_8MB_EXPORT_RESPONSE(0x50)
HH:MM:SS Receiving 2183 2186 2186 1637 = 8192 bytes received
HH:MM:SS File CFLDB.ROM saved
HH:MM:SS Report Outdated ROM images [BoardGeneration: third]
HH:MM:SS Report 0 outdated pages, out of 1024 pages, spread over 0 Flash blocks, estimated update time: 00h 00m 00s
Note: if you have outdated system ROM your list will not be empty.
If that is the case I will address that scenario in another post.
On the 41CL type:
Code:
Command Description
------------ ---------------------------------------------------
CMCLOSE Close serial port
OFF
ON To reactivate the sleep mode on your 41CL
CDBDEL To clear the CFLDB location in your 41CL.
FDBVER? Get current FLDB version of your 41CL
The output is the FLDB date currently installed in your 41CL. Date format respect MDY/DMY mode.
You should see 06/29/2022 for June 29th, 2022.
I hope this is detailled enough so you can do it.
Regards,
Sylvain
edit 1: typos
edit 2: added optional & MDY/DMY comments