DM41X Quick Reference

Contents


About this manual

This manual is an excerpt of the more detailed DM41X User Manual available at
https://swissmicros.com/dm41x/doc/dm41x_user_manual/

I. Help Navigation

Global navigation

Use A or ON to exit
Use B to jump to Contents
Use C to open help file from disk

Navigation keys

Press + to move one line forward
Press - to move one line backward
Press × to move one page forward
Press ÷ to move one page backward
Use arrow keys to navigate to next/previous link
ENTER to follow link
to go back to place where was ENTER used.
The arrow keys navigate to the next/previous page if there is no link to navigate to.

Numpad-like navigation keys

2/8 - single line down/up
3/9 - page down/up
4/6 - prev/next link (same as arrows)
5 - follow the link (same as ENTER)
7 - jump to the Contents(same as B)

II. DM41X Unique Features


A. LCD Views and DISP Control

The large screen allows the display of full calculator stack at once. Which is the default view.
There are other possible views both in calculation mode and programing mode.
View modes are cycled using DSP key.
Calculation mode: Programming mode:

SI View

Enhanced "System Info" view:

SI first line

Displays status of your Alarms, there are 3 icons on the far left: Next, the alarm text of your next pending (or past-due) alarm is shown.
On the far right, the number of pending alarms is shown in parentheses.

SI second line

Displays the memory status.
On the far left, free (available for use) main Program Memory and free Extended Memory are shown as xxx/yyy.
On the far right on line 2 is the current 41 SIZE status, indicating how many data storage registers have been allocated.

SI third line

Displays information about your current Program and Printer status.
Starting from the left, the program’s name (topmost global Alpha label), current line number and max number of lines is displayed.
On the far right of line-3, the current printer status is displayed following the PRN: label as follows:

B. CST Menu use and Setup

CST functionality allows to assign commands to keys in the similar way as the standard ASN function works. Those assignments are then accessible in CST screen invoked by pressing CST key.
CST configuration could be activated by the SHIFT CST key sequence, it is possible to make 16 assignments to keys from 'A' to 'P' and assign commands to three special keys: SHIFT , SHIFT and SHIFT ALPHA. The key assignments could be also save/loaded to/from the .cst files in CST configuration screen.
The default directory for the .cst files is /KEYS/.

C. Help Access

DM41X contains internal help browser.
This functionality is accessible by pressing CST 1.
The default directory for the .html help files is /HELP/.
Calculator comes with basic set of help files, but it allows to add other user files.
Note that the html browser implementation is extremely minimalistic and help files have to be designed to comply with all the limitations.
Basic information for creation of user help files.

D. ROM Map

ROM Map shows ROM placement in pages and banks.
This functionality is accessible by pressing CST 2
Each row corresponds to page denoted at the beginning of the line, columns represent banks.
RAM pages are shown in first bank if other only as RAM banking isn’t supported now.
Soft menu items allow to:

E. Load/Save State

It is possible to load and save calculator state - i.e. contents of memory and CPU registers from/to .d41 file from/to FAT disk (respectively).
Note that this loads only calculator memory and doesn’t affect state of currently loaded modules.
The default directory for the .d41 files is /STATE/.
This functionality is accessible in File menu.

F. Load/Save RAW files

It is possible to load and save programs from/to standard .raw files from/to FAT disk (respectively).
Using the functional equivalent of GETP/SAVEP extended memory command. Only that the .raw file is read/written from/to FAT disk instead of extended memory.
Note that the program name for save has to be prepared in ALPHA register.
Default directory for .raw files is /PROG/.
This functionality is accessible through CST menu or in File menu.

G. USB Disk mode access

The calculator has 6MB of internal flash storage formatted as a FAT filesystem that is used for loading/saving programs and for backing up calculator state.
It is accessible as USB disk when activated via the menu File > Activate USB Disk.
There are several directories with special names (and purpose) on the FAT disk:

H. Flags

Calculator flags could be quickly examined at once on Flag Status screen accessible by CST 6.
DM41X extends use of some flags:

I. Screen shots

Hold SHIFT and press DSP to get a screenshot.
You will find a `.bmp` file named according to the current time and date in the `/SCREENS` folder of the FAT disk.

J. OFF Screen Images

The LCD display used in DM41X calculator behaves in the similar way as e-ink displays and contents of the LCD is visible for a long time after the calculator is turned OFF.
This feature is used to display images when the calculator is turned OFF.
Custom OFF images could be stored in /OFFIMG/ directory.
OFF images require specific image format. It has to be .bmp file with dimensions 400 x 240 and 1 bit depth.

K. New Built-in Functions

System Control and Misc


Alpha Functions


Extended Memory Functions:


L. Modules


Supported format

DM41X is able to load and use usual .mod files only.

How to add and use modules


Import modules to Flash

Flash Module Area is special region of flash memory dedicated for module use. It is the only place from where the emulator can access module ROMs and run module code.
Thus, all modules before activation have to be loaded to Flash Module Area.
Use Imprt in Manage Modules in flash for that.

Activating modules from Flash

'Activating module' corresponds to module plug-in on real calculator.
Module has to be first loaded in Flash Module Area.
Use Plug in Active Modules for module plug-in.

Printer module

There is preloaded 'PRINTER' module to simplify printer use.
Activate PRINTER module to enable printer functionality.

Module load order

Module order in Active modules list is relevant. Pages assigned to modules are based on this order and information in original .mod files.
This list describes procedure for page assignment:

Module RAM

The DM41X can provide up to 8 Pages of RAM.
Thus, any module can define its own RAM (in .mod file) and subsequently access it using WROM(WMLDL) and CXISA(FETCH S&X). HEPAX instructions WPTOG and BLKMOV are implemented too.
The only restriction in current implementation is that RAM doesn’t support banks.
Contents of RAM pages could be saved and restored to/from disk.

Main Setup Menu

File menu


Module menu


Load Modules


Save Modules


Settings menu


System menu


III. Key 41C Reference Topics


A. ISG/DSE Format

The functions ISG (increment and skip if greater) and DSE (decrement and skip if equal) are used to effectively control the loops using the number
iiiii.fffcc where: Each time ISG is executed, it first increments iiiii by cc, then it tests to see if iiiii is greater than fff. If it is then the next program line is skipped.
Each time DSE is executed, it first decrements iiiii by cc, then it tests to see if iiiii is equal to or less than fff. If it is then the next program line is skipped.

B. Date Formats

For date inputs: DATE function places date into the X-register in currently selected DMY/MDY format.

C. Time Formats

Use the (HH.MMSShh) format for time inputs.
Time inputs for hours later than 12:00 p.m. (noon) can be input either as negative numbers or in the 24-hours time format.
TIME function places time into the X-register (always) in 24-hours time format.

D. Alarm formats

All clock alarms are set by XYZALM (XYZ alarm) function using the data in the X, Y, Z, and ALPHA registers:

Z - Alarm Repeat Interval

This parameter (r) causes the alarm to repeat itself after the specified interval.
Format of r: HHHH.MMSSt
Range of r: 10 Seconds ≤ r < 10,000 Hours
No Repeat: Use r = 0

Y - Alarm Date

This parameter (d) is the date on which you want the alarm to activate.
Format of d: MM.DDYYYY or DD.MMYYYY
Range of d: January 1, 1900 through December 31, 2199
Current date: Use d = 0

X - Alarm Time

This parameter (T) is the time of day at which you want the alarm to be activated.
Format of T: HH.MMSSt
Range of T: –23.59599 ≤ T ≤ 23.59599

ALPHA - Message or Function

Contents of ALPHA register determines the alarm type:

IV. External References