Showing posts with label SwissMicros. Show all posts
Showing posts with label SwissMicros. Show all posts

Monday, February 15, 2021

Review: Swiss Micros DM16L

Review: Swiss Micros DM16L






Welcome to a special Monday edition of Eddie’s Math and Calculator blog!


General Information


Company:  SwissMicros, https://www.swissmicros.com

Type:  Programmable Scientific - Boolean Algebra

Memory: 203 steps, shared with memory registers; 32 MB external flash

Battery:  CR 2032

Connection:  USB-B

Cost:  119 CHF, about $132.38 USD (2/5/2021)

Current Software Version:  DM16_31, 7/21/2020

Case Included?  Yes

Operating System: RPN (Reverse Polish Notation)


A Programmer’s Paradise

The Swiss Micros DM16L, and it’s small version, the DM16, is a clone of the highly popular and sought after Hewlett Packard HP 16C.  The functions are suited to computer science, including:


One key conversions between Hexadecimal (base 16), Octal (base 8), Decimal (base 10), and Binary (base 2) integers.  


Boolean features including AND, OR, NOT,  XOR


Bit shift and rotating functions, masking bits, and double division, remainder, and multiplication


There is a separate floating point arithmetic mode, separate from decimal integer mode.


You can customize integers up to 64 bits by the WSIZE function.  A handy shortcut is to set integers up to 64 bits is done by the key sequence:  0 [ f ] [ STO ] (WSIZE)


Negation of integers are determined by one of three modes:  1’s Complement, 2’s Complement, and Unsigned Numbers.    


If that isn’t enough, you can manipulate and test specific bits with the SB (set bit), CB (clear bit), and B? (is the bit set) commands. 


The STATUS command gives the user a three number status #-##-####. 


The first number is the complement mode:  0 for unsigned, 1 for 1’s complement, 2 for 2’s complement.


The second number is the current wordsize, from 1 bit to 64 bits.


The third number is the status of the four user flags 0 to 3, in descending order (flag 3, flag 2, flag 1, flag 0):  0 for clear, 1 for set.  The user flags are used in programming.


Programming


If you have programmed on the original HP-16C, then you would be right at home programming with the DM16L, with all the key codes and positions intact.   There are eight comparison tests available:  x≤y, x<0, x>y, x>0, x≠y, x≠0, x=y, x=0.   Up to 16 labels can be used, labels 0-F.  The special registers I and (I) are used for indirect storage and branching.   The DSE and ISZ use register I.


Curiously missing is storage arithmetic.   For example, instead of STO+ #, the following sequence of commands must be used:  (number), RCL #, +, STO #.  


Sample Programs


Integer Division:  Quotient and Remainder


001 LBL A         43,22,A

002 STO 0 44,0

003 X<>Y 34

004 STO 1 44, 1

005 X<>Y 34

006 ÷ 10

007 R/S 31

008 RCL 1 45, 1

009 RCL 0 45, 0

010 RMD 42, 9   \\ remainder command

011 RTN 43, 21


Example:  Word size = 16


Decimal Integer Mode (DEC):   41 / 7 = 5, remainder 6

Y:  41, X:  7 [ GSB ] [ A ]

Result:   5, [ R/S ], 6


Hexadecimal Integer Mode (HEX):  FE2 / 81 = 1F, remainder 43

Y:  FE2, X: 81 [ GSB ] [ A ]

Result:  1F, [ R/S ], 43


Adding Both the 1’s and 2’s Complement


001 LBL B 43, 22, B

002 STO 1 44, 1

003 Set 1’s 42, 1

004 CHS 49

005 STO 0 44, 0

006 RCL 1 45, 1

007 Set 2’s 42, 2

008 CHS 49

009 RCL 0 45, 0   // storage arithmetic is not available

010 + 40

011 STO 0 44, 0

012 RTN 43, 21


Examples:  Word Size = 8


Hexadecimal Integer Mode (HEX)

x = 2D

Result:  A5  (D2 + D3)


Hexadecimal Integer Mode (HEX)

x = F6

Result:  13  (9 + A)


Remember: Word size is important, as your mileage may vary.  


Verdict

Swiss Micros continues to manufacture quality calculators.  Due to the rarity and highly sought after HP 16C, the price to obtain one may be out of reach.  The DM16L is a much more affordable alternative.  The calculator is solid, keys feel great, and the added connectivity is an added bonus.  


Eddie


All original content copyright, © 2011-2021. Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Sunday, December 20, 2020

Review: Swiss Micros DM41X

 Review: Swiss Micros DM41X






General Information


Company:  SwissMicros, https://www.swissmicros.com

Type:  Programmable Scientific

Memory:  319 registers (at default) - calculator; 32 MB external flash

Battery:  CR 2032

Date:  September 2020 - current

Cost:  229 CHF, about $257.34 according to currency converter on December 12, 2020 (https://www.xe.com/currencyconverter/convert/?Amount=229&From=CHF&To=USD)

Current Software Version:  2.1 (November 13, 2020)

Case Included?  Yes


The DM41X is a long waited calculator, and joins the DM 41L and DM41 family.  The family runs HP-41CX firmware, including a clock, time, and date functions.    On February 23, 2018, I reviewed the DM 41L which you can see here:


http://edspi31415.blogspot.com/2018/02/review-swissmicros-dm41l.html


I am going to address the features that are specific to the DM41X, which is added to all the great features of the DM41 and DM41L.  


A Return to the Original Layout





The DM41X's keyboard is in a portrait design, like the original Hewlett Packard HP-41C family (HP-41C, HP-41CV, HP-41CX)


Instead of the row of ON, USER, PRGM, and ALPHA keys on the top row, the DM41X adds a column of keys to the right of the main keyboard:


ON/CLK:  ON/OFF button, the shifted CLK displays the current time


USR/SETUP:  The user keyboard.  SETUP shows the DM41X's system menu where stve states and RAW progams can be saved, USB communication can be activated, modules can be saved and loaded, system settings can be changed, and accessing the About screen.


Blue Key:  This is the ALPHA key


Backspace Key


Up Arrow: for program scrolling and debugging


Down Arrow: for program scrolling and debugging


PRG/SIZE:  The PRGM button.  The shifted function allows the user set the number of registers to be set for numerical constants.


R/S/VIEW:  Run/Stop Key, View prompts for a view of a register's value without affecting the stack.


The Big Screen


The DM41X has three screen settings that is set by the DSP key:


1.  All four stacks, T, Z, Y, and X are displayed.  This is my preferred display. 


2.  The X stack and the Alpha Register are displayed.  On the top of the screen:  alarms, the number of storage registers designated for numerical constants, free memory, the current program loaded and it's pointer location.  


3.  Two stacks, Y and X are displayed. On the top of the screen:  alarms, the number of storage registers designated for numerical constants, free memory, the current program loaded and it's pointer location.  


Connectivity


The DM41X's connectivity interface is in line with the DM42's connectivity interface.  Simply plug the DM41X with a USB-Micro B port, then on the calculator press [shift], [USR] (SETUP), 1 for File, 5 for Activate USB Disk.  The DM41X now acts as a USB storage device like a smart phone.  


You can take screenshots by pressing and holding [SHIFT] and [DSP].  Screen shots are saved as .bmp files under the disk's SCREEN folder.


Black and white images of 400 x 240 pixels, 1 bit depth, .bmp format, can be saved to the disk's OFFIMG folder.  Every picture in the folder will be shown on a rotated basis every time the calculator is turned off.  


Custom Menu


Pressing the CST key will give you access to a custom menu 16 available slots for commands and programs.  CST also gives access to Help, ROM Map, and USB Disk activation.  To learn about how to set up the custom menu, click here:  https://edspi31415.blogspot.com/2020/10/swiss-micros-dm41x-custom-menus.html.


Programming


The DM41X operates like the HP-41CX in its programming language except the DM41X has a lot more room for ROM modules.


Verdict


Like the DM41L, the DM41X is a winner.  The keys feel good, I love seeing all four stack levels on the screen, and I am fan of the custom menu built into the DM41X.  This is definitely worth a purchase.


If the price tag of DM41X is too high, consider the DM41 or DM41L.  They may not have a four line display or a custom menu, but the high-quality calculator software and firmware is still present.  Currently only the DM41L is in stock from Swiss Micros, at CHF 129.  


- - - - - -


Announcement


This is the last post for 2020.  I want to wish everyone Merry Christmas, Happy Holidays, and Happy New Year.  2020 has been a brutal year in every respect.  May 2021 be free from disease, war, economic, social, and spiritual struggle; and be full of joy, health, and happiness.  Thank you to my blog's followers and readers; I appreciate all of you!  Take care, and the next schedule blog will be on January 2, 2021.  


Eddie


All original content copyright, © 2011-2020.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Saturday, December 12, 2020

DM41 and DM42: Self Timing Programs

 DM41 and DM42: Self Timing Programs


Timing a Program's Performance


The Swiss Micros calculators DM41 (including the DM41L, DM41X, Hewlett Packard HP 41CX, HP41C with a Time Module installed) and DM42 have an internal clock which allows us to set the date and time on the calculator.  With the use of the TIME function we can determine the how long a program takes to execute.


One structure that can be used:


[ preliminary storage]

TIME

HR (DM 41), →HR (DM 42)

STO Rxx  (register xx)

[ loop/main program starts here ]

TIME

HR (DM 41), →HR (DM 42)

RCL Rxx

-

ABS 

3600

*


The routine TIME, HR, RCL xx, -, ABS, 3600, * determines the amount of time in term of seconds.  


DM42S:  Accessing the TIME function:  [SHIFT], [ + ] (CATALOG), [down arrow], ( TIME )  ("F1")


Let's demonstrate this technique on three examples.  The time record is the calculator ran on batteries.  


Example 1:  40th Fibonacci Numbers 


Registers:  

R01:  counter

R02:  sum

R03:  time

(counter of 39 is set because the first Fibonacci number is loaded at the beginning)


DM41 Program TFIB


01  LBL ^T TFIB

02  39

03  STO 01

04  0

05  STO 02

06  TIME

07  HR

08  STO 03

09  1

10  0

11  +

12  LBL 00

13  LASTX

14  X<>Y

15  +

16  DSE 01

17  GTO 00

18  TIME

19  HR

20  RCL 03

21  -

22  ABS

23  3600

24  *

25  STO 03

26  END


Y:  Results:  102334155.0

X: Seconds:  0.5100


DM42 Program TFIB


00  {45-Byte Prgm}

01  LBL "TFIB"

02  39

03  STO 01

04  0

05  STO 02

06  TIME

07  →HR

08  STO 03

09  1

10  0

11  +

12  LBL 00

13  LASTX

14  X<>Y

15  +

16  DSE 01

17  GTO 00

18  TIME

19  →HR

20  RCL 03

21  -

22  ABS

23  3600

24  ×

25  STO 03

26  END


Y:  Results:  102334155.0

X: Seconds:  0.0200


Example 2:  The Sum of Cubes Using a Loop from 1 to 250


Registers:  

R01:  counter

R02:  sum

R03:  time


DM41 Program TSUM


01  LBL ^T TSUM

02  250

03  STO 01

04  0

05  STO 02

06  TIME

07  HR

08  STO 03

09  LBL 00

10  RCL 01

11  3

12  Y↑X

13  ST+ 02

14  DSE 01

15  GTO 00

16  RCL 02

17  TIME

18  HR

19  RCL 03

20  -

21  ABS

22  3600

23  *

24  STO 03

25  END


Y:  Results:  984390625.0

X: Seconds:  12.07


DM42 Program TSUM


00  {45-Byte Prgm}

01  LBL "TSUM"

02  250

03  STO 01

04  0

05  STO 02

06  TIME

07  →HR

08  STO 03

09  LBL 00

10  RCL 01

11  3

12  Y↑X

13  STO+ 02

14  DSE 01

15  GTO 00

16  RCL 02

17  TIME

18  →HR

19  RCL 03

20  -

21  ABS

22  3600

23  ×

24  STO 03

25  END


Y:  Results:  984390625.0

X: Seconds:  0.24


Example 3:  Savage Test


Let A = 1, then for 2499 loops:

A = tan(atan(exp(ln(sqrt(A^2))))) + 1   (radians mode is used)


Registers:  

R01:  counter

R02:  sum

R03:  time


DM41 Program SVGE


01  LBL ^T SVGE

02  2499

03  STO 01

04  1

05  STO 02

06  TIME

07  HR

08  STO 03

09  LBL 00

10  RCL 02

11  X↑2

12  SQRT

13  LN

14  E↑X

15  ATAN

16  TAN

17  1

18  +

19  STO 02

20  DSE 01

21  GTO 00

22  RCL 02

23  TIME

24  HR

25  RCL 03

26  -

27  ABS

28  3600

29  *

30  STO 03

31  END


Y:  Results:  2499.970322

X: Seconds:  246.4500240  (about 4 minutes, 6.45 seconds)


DM42 Program SVGE


00  {51-Byte Prgm}

01  LBL "SVGE"

02  2499

03  STO 01

04  1

05  STO 02

06  TIME

07  →HR

08  STO 03

09  LBL 00

10  RCL 02

11  X↑2

12  SQRT

13  LN

14  E↑X

15  ATAN

16  TAN

17  1

18  +

19  STO 02

20  DSE 01

21  GTO 00

22  RCL 02

23  TIME

24  →HR

25  RCL 03

26  -

27  ABS

28  3600

29  ×

30  STO 03

31  END


Y:  Results:  2500  (just over 2500)

X: Seconds:  13.24


Source:


Burkett, John.  "The Savage Benchmark"  TI-89 / TI-92 Plus Tip List 10.0   July 20, 2002.  http://www.technicalc.org/tiplist/en/files/pdf/tips/tip6_50.pdf   Retrieved November 28, 2020 


Eddie 


Friday, February 23, 2018

Review: SwissMicros DM41L

Review: SwissMicros DM41L





General Information

Company:  SwissMicros, https://www.swissmicros.com/
Type:  Programmable Scientific
Memory:  319 registers (2,233 steps),
(Firmware V 25 gives additional archive storage)
Battery:  CR 2032
Years:  Current (2015-)
Cost: $138 U.S. dollars (February 2018), 129 CHF

There are two models: the DM 41L and the DM41.  The DM41 is a credit card sized version of the DM 41L (99 CHF).  For me, I prefer the larger sized DM 41L as I do have large hands.  Both offer the same functionality. 

The size of the DM 41L is about the size of the Hewlett Packard HP 12C and HP 15C.

Note:  When I mention the DM 41L, this applies to both the DM 41L and the credit-card sized DM 41. 

The delivery for me (from Switzerland to the United States) was really fast, much faster than I expected.  I was motivated to purchase a DM 41L because I will turn 41 years old in March.  This is my first calculator from SwissMicros. 

The HP 41C Comes to the 21st Century

The DM 41L is a clone of the very popular HP 41CX calculator, but in a landscape form.  The HP 41CX was the final version of Hewlett Packard’s HP 41C series produced for most of the 1980s.  The HP 41CX included a time module, which gives the calculator a timer, stopwatch, and calendar operations.  Also the HP41CX included an extended functions and memory module.  The base HP 41C had 63 registers, while the HP41CX, and the DM 41L start you off with 319 registers.

Each register could either hold a number or seven program steps.  At any time you can designate how many registers to dedicate to holding numeric constants by executing the SIZE command.

The DM41L and DM 41 come with the following modules installed:

* Extended Memory and Functions (EX FCN 2D)
* Time Module (CX TIME)

I am so happy that the Time Module is included, because the DM41L has the days between dates function, so I don’t need to program the convert date to the Julian Date algorithm.  (I love the days between dates function, and I do feel that, and the date add functions should be standard on all calculators – OK, rant over).

Keyboard

The keyboard is a pleasure to use.  The colors of the fonts are beautiful, with the labels having great contrast between text and keyboard background.  The keys are very responsive and provide great feel for each press.  I have seen some reviewers comment that the keys are at first hard and need some breaking in, however, this is not the case for me. 

The only thing is that, I wish the ON button was the same height as the other keys, as the ON key is sunken a bit.  This could be personal preference as the ON key works just as well the rest of the keys.

Connectivity

The DM 41L can the connected to the computer where you can back up your memory, restore memory, load programs, and update the software.  The current version at the time of this review is Firmware 25.  Firmware 25 adds the X-Memory module, which allows for additional achieve memory. 

The cord used is a mini USB-RS232 cord, which is the same one used to connect the TI-84 Plus CE.

The Swiss Micros will have links to the required connectivity software and detailed instructions. It took me a little time to get the hang of it, it gets easier after I get the procedure. 

Get the DM 41L ready for connectivity use by having the calculator off, then holding the [ x ] (C) button and the [ ON ] button.

What Time Is It?

You can have the DM 41L tell you time and date by first having the calculator off, then holding the [ Σ+ ] (A) key, then the [ ON ]. 

In a similar fashion, you check the revision software by holding [ LN ] (E) then [ ON ].

SwissMicros’ other [ ON ] + key combos are listed here:  https://www.swissmicros.com/instructions.php

Programming

The DM 41L’s programming module is RPN keystroke, like the HP 41C.  If you know how to program the HP 41C, you can program the DM 41L.  Due to the popularity of the HP 41C, there is of ton of programming information online.  The Museum of HP Calculators has an entire software library thread dedicated to the HP 41C (http://www.hpmuseum.org/forum/forum-11.html ), which should work on the DM 41L with no problems.

A great online source to the programming and operating the HP 41C and the DM 41L can be found here:  http://www.greendyk.nl/hp41c-manual/index.php?s=J&p=7  Special thanks to Greendyk!   ( www.greendyk.nl )

Verdict

Do I recommend the DM 41L to purchase? 

That would be a 100% YES!

SwissMicros deserves all the praise from their customers, high quality calculator and high quality work.  I have very happy with my purchase. 

SwissMicros has several other calculators, including the DM 42 which was just released.  Please feel to check it out.

Eddie


This blog is property of Edward Shore, 2018.

DM42 and HP 42S: Quadratic Equation, Characteristic Polynomial, and Eigenvalues

DM42 and HP 42S: Quadratic Equation, Characteristic Polynomial, and Eigenvalues The programs are listed for the Swiss Micros DM42 an...