db48x/doc/2-Quickstart.md
Christophe de Dinechin d27b1c419b documentation: Add links to YouTube videos
Add links to the Demo and Install YouTube videos in the documentation.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2023-11-01 17:46:51 +01:00

10 KiB

Quickstart guide

This quickstart guide will rapidly give you an overview of the capabilities of DB48X, and show you how to use it efficiently.

Installation process

Installation process

Downloading the software

Connecting the calculator to a computer

Setup menu system (firmware menus)

Exposing internal storage as a USB disk

Copying DB48X installation files

Copying DM42 installation files

Installing the DB48X QSPI file

Installing the DB48X program file

Switching between DM42 and DB48X

Checking that the DM42 firmware works with the DB48X QSPI file

Running the DB48X program

Running the DM42 program

Saving and restoring DM42 state

Saving and restoring DB48X state

Shared state between the two programs

Operations on whole numbers

Demo of v0.4.8

Entering whole numbers

Arithmetic on integers

Changing the sign of a number with +/-

Exact division

Computing on large numbers: 2^40, 25!

Separators to make large numbers more readable

Built-in functions: example of 1/x

Using the shift key

Primary function: 1/x

First shifted function: y^x and square

Second shifted function: Help

The shift annunciator

Invoking the on-line Help

Long-press on a function key

Moving up and down

Following links

Navigating back to a previous topic

Exiting the on-line help

Contextual help

The annunciator area

Battery level

USB vs. battery power

Showing or hiding the date and time

Current state file name

Future direction

Decimal values

Entering a decimal number

Entering a number in scientific notation with EEX

Arithmetic on decimal values

Arithmetic on fractions

Using EEX to cycle between decimal and fraction

Separators for the fractional part

Live separators during number editing

Soft keys and menus

Soft keys

The DISP menu

Effect of shift state on the menu

Submenus

Menu history (Last Menu)

Displaying decimal values

Standard display mode

FIX display mode

Switching to scientific mode

Digits to show for small values

SCI display mode

ENG display mode

SIG display mode

Emulating HP48 standard display

Scientific functions

Square and power

Square root and xroot

Exponential and Log

Exponential and log in base 10

DM42 layout difference: EXP LN instead of LOG LN

Trigonometric functions and their inverse

Functions in menus: example of hyperbolic functions

Using an infinite stack

Showing multiple stack levels

Result vs. other levels

When a result is too large

An example of complicated calculation - The Mach number benchmark

How to proceeed with that computation

Correcting an error in the middle

Saving results for later with Duplicate

Dropping results and cleaning up with Drop

LastArg to recall last arguments

Undo to restore previous stack state

The command line

Editing an object on the stack with Right key

Moving left and right on the command line

Repeating keys: Insert, left, right, delete

Inserting characters in the middle

Deleting characters left and right

Space key on R/S

Command line: entering three numbers at once

The editor menu

Selecting the editor menu

Moving word by word

Moving to beginning and end

Selecting text

Cut, copy and paste

Incremental search

Search and replace

Command line history

Recalling a previous command line

Optimization of command-line space

Exiting the command line

Entering letters and symbols

Alpha mode with Shift Enter

Alpha mode with Long Shift

Transient Alpha mode, upper and lowercase

Shift on digits and operations while in Alpha mode

Shifted characters

2nd shifted characters

White cursor for Alpha mode

C and L cursor indicators in text

Entering names

Executing a command by typing its name

Catalog with + key

Auto-completion

Example: VERSION

What happens if the name is not a command

Multi-line text editor

Multi-line Text editor

Up and down by shifting

Repeat up and down by holding key

Entering text

Entering text with 2nd shift ENTER

The C and L cursors

Mixed operations, e.g. adding text

Multiplying text by a number

Entering an algebraic expression

The ' () key

Entering an expression

Evaluating an expression with =

Cursor in algebraic mode

Comparing the sin key in direct and algebraic mode

Entering parentheses

Automatic elimination of parentheses

Symbolic algebraic expressions

Performing RPN operations on algebraic expressions

Automatic simplification of 0+x, 1*x, etc.

The Tools menu

Tools menu on empty stack

Tools menu for a decimal value

Tools menu for an integer

Tools menu for a text

Tools menu for an expression

Computations on complex numbers

The complex menu

Entering numbers in rectangular form

Entering numbers in polar form

Switching between polar and rectangular with EEX

Arithmetic on complex numbers

Exact angles and exact computations: 2<45 * 3<90 ^ 8

Functions on complex numbers, e.g. sin and log.

Effect of angle mode on display in polar form

Computations on vectors

Entering a vector

The M cursor

Adding and subtracting vectors

Component-wise multiplication and division

Operations between vector and a constant

Component-wise functions: 1/x

The tools menu on vectors

Computing the norm of a vector

The Matrix menu

Computations on matrices

Entering a matrix

Adding and subtracting matrices

Multiplication and division by a constant

Multiplying square matrices

Multiplying a matrix and a vector

Computing a determinant

Computing an inverse with 1/x

Advanced matrix operations

Matrix of complex numbers

Symbolic matrix

Inverse and determinant of 2x2 symbolic matrix

Entering data in lists

Entering a list

Adding elements to a list

Applying a function to a list

Repeating a list (multiply)

Lists containing lists

Computations with based numbers

Entering based numbers

Entering hexadecimal directly with A-F

Logical operations

Setting the word size

Changing to common bases (2, 8, 10, 16)

Changing to an arbitray base

Entering number in arbitrary base

The tools menu on based number

Binary operations

Emulating a 16-bit or 256-bit CPU

The Cycle key on based numbers

Adding a suffix to force a base (DM32 only)

Unit objects

Entering a value with a unit

The units menus

Applying a unit

Converting to a unit

Dividing by a unit

Entering a program

Computing a VAT

Evaluating a program with Evaluate

Modifying a program with LastArg

Modifying a program with Undo

Modifying a program with command-line history

The three roles of the R/S key: Space, =, EVAL

Storing values in global variables

Storing a value in a new variable 'VATRate'

Evaluating a variable

Case insensitivity

Naming a variable on the command line

Using quotes to avoid evaluation

Overwriting a variable value

Expressions containing variables

Storing and modifying programs

Creating a new VAT command

Evaluating a program by name

Evaluting a program from variables menu

Taking input and computing output

The variables menu

Showing the variables menu

Evaluating a variable with F1

Recalling a variable with shift F1

Storing in an existing variable with xshift F1

Rationale for the difference with HP48

Using variables menu while editing a program

Menus with too many entries

Adding more variables overflows

Going from 6 to 7 entries

No next key, using F6 and shift F6 for next and previous

Saving your state to disk

The system menu

Saving the calculator state

Restoring another state

Merging states

Returning to the calculator

Saving state quickly with xshift-EXIT

Plotting a function

Plotting a wave function sin(x * a) * cos(x * b)

Plotting a polar function

Plotting a parameteric function

Drawing two functions on the same screen

Changing line width

Changing line patterm

The numerical solver

Solving an equation

Expressions that must be zero

Equations A=B

Solving for different variables

Numerical integration

Integrating x^2 from 0 to 1 (exact results)

What happens with 0.0 to 1.0

Integration 1/x from 2 to 22

Comparing with LN(2) - LN(2)

Symbolic expression manipulation

Collecting terms

Expanding terms

General expression rewriting facility

Local variables

Why use local variables

Inserting local variables in a program

Inserting local variables in equations

Localized number display preferences

Changing the decimal separator

Changing the spacing for numbers

Changing the character used for spacing

User interface preferences

Square and rounded menu styles

3-level, 1-level and flat menu styles

Changing result font size

Changing stack font size

Changing editor font size

Changing multi-line editor font size

Comparisons and tests

Truth: True, False, 0, 1

Equality tests

Differences between = and ==

Relational operators

Logical operations (AND, OR, NOT)

More sophisticated programming

Testing with IF THEN ELSE END

Conditional expression with IFTE

Counted loop with START NEXT

Stepping loop with START STEP

Named loop with FOR NEXT

Named loop with FOR STEP

WHILE conditional loop

UNTIL conditional loop

Enjoy the calculator!