Droid_Calculator

Author

"Martin Krischik" «krischik@users.sourceforge.net»

Constructors

Link copied to clipboard
constructor(Context: Context)
create new calculator cositing of the calculator itself and a printer for use with Android.

Properties

Link copied to clipboard
private open var A: Array<A_Register>
The A Register contains the Keyboard_Alpha data of the display.
Link copied to clipboard
private open var A_Active: AlphaRegisterType
Active A register.
Link copied to clipboard
val A_Size: Int = 4
Link copied to clipboard
private open var Calculator_Running: Boolean
Calculator is running - needed for power saving.
Link copied to clipboard
private open var Calculator_Shutdown: Boolean
Calculator is not running - needed for end program.
Link copied to clipboard
private val Context: Context
some context to do things with
Link copied to clipboard
private open var Current_Program: Short
Current Current_Program
Link copied to clipboard
val Display_Alpha: Int = 0
The Display currently displays the content of an Alpha register.
Link copied to clipboard
Display enable - used to switch off the display so that intermediate result are not shown to the user.
Link copied to clipboard
val Display_Error: String = "Wrong display mode!"
Error Message displayed on using the wrong display mode!
Link copied to clipboard
private open var Display_Mode: DisplayType
Current display mode
Display_Alpha
Displays the content of the Alpha register.
Display_L
Displays the content of the L0 aka X register.
Display_Formatted
Displays the content of the L0 aka X register inside an alpha
Link copied to clipboard
Calculator debugging a program.
Link copied to clipboard
Execution Mode.
Link copied to clipboard
val Execution_Error: String = "Wrong execution mode!"
Error Message displayed on using the wrong execution mode!
Link copied to clipboard
Calculator debugging a program.
Link copied to clipboard
Calculator is used interactively.
Link copied to clipboard
private open var Execution_Mode: Int
Current Execution mode.
Link copied to clipboard
Do a single step and return to Execution_Halt.
Link copied to clipboard
final Calculator debugging a program.
Link copied to clipboard
Calculator running a program.
Link copied to clipboard
Execution Mode.
Link copied to clipboard
open var FA2: Tape
A simulated cassette Printer
Link copied to clipboard
open var Form: ICalculatorCanvas
Canvas class where we display our result or get our keycodes
Link copied to clipboard
open var FP10: Printer
A simulated Printer Printer
Link copied to clipboard
private open var Hlt_Position: Int
Return Position for HLT Mode.
Link copied to clipboard
The last operation was one of the operations (+-) which disable the clear key.
Link copied to clipboard
Keyboard Mode Alpha:
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
The mode show that the Alpha Keyboard mode is active. The indicator also blinks twice in that 2 sec pause when displaying an string >11 characters.
Link copied to clipboard
Indicator count:
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode 2, write programms
Pcl
Mode 3, clear, save, load programs.
Deg
Mode 4, Tr
Rad
Mode 5
Gra
Mode 6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
Trigonometric functions in degrees (360° based)
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
Trigonometric functions in gradians (400 based)
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
Program halt wait for user response
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
Hyperbolic function active.
Link copied to clipboard
Inverse functions active.
Link copied to clipboard
val Indicator_K: Int = 2
Arithmetic with constants.
Link copied to clipboard
Clear program and memory.
Link copied to clipboard
Trigonometric functions in radians (2π based)
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
Run and calculation mode.
Link copied to clipboard
Write Programs
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
private val Indicators: Array<Boolean>
Indicators:
Inv
Keyboard in inverse move
Hyp
Keyboard in hyperbolic mode - also used for password entry
K
Constant calculation mode
Hlt
halted programm - also used for debugger
Run
Mode1, interactive or program run mode
Wrt
Mode2, write programms
Pcl
Mode3, clear, save, load programs.
Deg
Mode4, Tr
Rad
Mode5
Gra
Mode6
Keyboard_Alpha
Alpha entry and display mofe
Link copied to clipboard
private open var Indirect: Boolean
Currently indirect addressing is active
Link copied to clipboard
The memory from 1000 ..
Link copied to clipboard
val Internal_Steps_Low: Int = 1000
The memory from 1000 ..
Link copied to clipboard
private open var IO_Count: Int
Number of virtual CPU cycles until next IO run.
Link copied to clipboard
private val IO_Speed: Int = 50
defines how many steps are executed before the display is updated.
Link copied to clipboard
private open var Key_Buffer: Int
last key pressed
Link copied to clipboard
private open var Key_Flag: Boolean
a key was pressed
Link copied to clipboard
private open var Key_Operations: Array<Keyboard>
Operations as they come from the keyboard.
Link copied to clipboard
private open var Key_Time: Long
System time when last Key was clicked.
Link copied to clipboard
Keyboard is in alpha mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
val Keyboard_Error: String = "Wrong keyboard mode!"
Error Message displayed on using the wrong keyboard mode!
Link copied to clipboard
val Keyboard_Hyp: Int = 4
Keyboard is in hyperbolic mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
val Keyboard_Inv: Int = 1
Keyboard is in inverse mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
Keyboard is in inverse alpha mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
Keyboard is in inverse hyperbolic mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
Keyboard is in normal mode
Keyboard_Normal
Keyboard is in normal mode
Keyboard_Inv
Keyboard is in inverse mode
Keyboard_Hyp
Keyboard is in hyperbolic mode
Keyboard_Inv_Hyp
Keyboard is in inverse hyperbolic mode
Keyboard_Alpha
Keyboard is in alpha mode
Keyboard_Inv_Alpha
Keyboard is in inverse alpha mode
Link copied to clipboard
private open var L: Array<L_Register>
The L-Register are used for general calculations.
Link copied to clipboard
val L_CHANGED: String = "L_Changed"
The L or A register where changed.
Link copied to clipboard
val L_Count: Int = 12
Link copied to clipboard
open var L_Used: Int
Amount of L Register used
Link copied to clipboard
val L_X: Int = 0
L [0] is also the X register.
Link copied to clipboard
val L_Y: Int = 1
L [1] is also the Y register.
Link copied to clipboard
open var Last_Operation: Int
Last operation choosen by user - used for the K option.
Link copied to clipboard
private val Logger: Logger
Class logger instance.
Link copied to clipboard
private open var M: Array<Number>
The M-Register are used for general data storage.
Link copied to clipboard
val M_CHANGED: String = "M_Changed"
An M or MF register has changed.
Link copied to clipboard
val M_n: Int = 9
M [9] is also the statistical register n.
Link copied to clipboard
val M_Sx: Int = 8
M [8] is also the statistical register Σx.
Link copied to clipboard
val M_Sx2: Int = 7
M [7] is also the statistical register Σx².
Link copied to clipboard
open var Merge_Key: Keyboard
Key Operations which currently merged to a Calculator operation.
Link copied to clipboard
private open var Merge_Token: IProgrammable_Operation
Multi Keystroke Operation like Alpha, Degree, Eng, Save, Load in progress
Link copied to clipboard
open var Merged_Operations: Array<IProgrammable_Operation>
Operations as they executed by the calculator.
Link copied to clipboard
private open var MF: Array<Number>
The MF-Register are used for special data storage.
Link copied to clipboard
val Null_Return: Int = 1023
The memory from 1000 ..
Link copied to clipboard
private val Off_Text: Array<Short>
Text to display when ( is pressed
Link copied to clipboard
Text to display when ( is pressed
Link copied to clipboard
open var Pause_Repeat: Int
Link copied to clipboard
private open var Program_Counter: Int
Current Program counter .
Link copied to clipboard
open var Program_Stack: Array<Int>
Program stack used for GSB commands .
Link copied to clipboard
private open var Program_Stack_Pointer: Int
Program stack poiunter used for GSB commands .
Link copied to clipboard
private open var Program_Store: Int
Where to store the next merged operations.
Link copied to clipboard
Handle property changes.
Link copied to clipboard
Run calculator with realistic speed - just about as fast as the original.
Link copied to clipboard
Text to display when ( is pressed
Link copied to clipboard
private open var Service: IService
Canvas class where we display our result or get our keycodes
Link copied to clipboard
val Stack_Count: Int = 20
deeps of the program stack.
Link copied to clipboard
val STATUS_CHANGED: String = "Status_Changed"
Program or program counter where changes where changed.
Link copied to clipboard
val STEP_CHANGED: String = "Step_Changed"
Program or program counter where changes where changed.
Link copied to clipboard
Calculator Program Memory
Link copied to clipboard
Amount of Steps.
Link copied to clipboard
private val TAG: String
Class logger tag.
private val TAG: String
Logging tag
Link copied to clipboard
Active plane:
  • 0: Keyboard_Normal
  • 1: Memory + 20, Fix instead of RND
  • 2; Memory + 40
  • 3: Memory + 60
  • 4: Memory + 80
Link copied to clipboard
The memory from 0 ..
Link copied to clipboard
The memory from 0 ..

Functions

Link copied to clipboard
fun A(Index: AlphaRegisterType): A_Register
Link copied to clipboard
open fun A_Active(): AlphaRegisterType
open fun A_Active(A: AlphaRegisterType)
Active A register for row.
Link copied to clipboard
Add a PropertyChangeListener to the listener list.
open fun addPropertyChangeListener(propertyName: String, listener: PropertyChangeListener)
Add a PropertyChangeListener for a specific property.
Link copied to clipboard
open fun Clear(AC: Boolean)
Clean Calculator
Link copied to clipboard
protected open fun clone(): Any
Link copied to clipboard
Decrement where to store the next merged operations.
Link copied to clipboard
open fun Display_A(Register_Number: AlphaRegisterType)
Display A register
Link copied to clipboard
open fun Display_Error(Text: Array<Short>)
Display an error message until C or AC is pressed.
Link copied to clipboard
open fun Display_Fatal(Text: Array<Short>)
Display an error message until C or AC is pressed.
Link copied to clipboard
Display program overview
Link copied to clipboard
Display program overview
Link copied to clipboard
open fun Display_Steps()
Display Program Steps
Link copied to clipboard
open fun displayClear()
Clear all alpha register.
Link copied to clipboard
open fun displayException(Exception: Throwable)
display additional information on the error.
Link copied to clipboard
open fun displayFormatted(text: Array<Short>)
Display value as formatted text
Link copied to clipboard
open fun displayKey(text: Array<Short>)
* Display Key merge info.
Link copied to clipboard
open fun displayL()
Reset current value Display
Link copied to clipboard
open fun displayMessage(text: Array<Short>)
Display text as message
Link copied to clipboard
Enable or disable energy savings mode.
Link copied to clipboard
open fun equals(obj: Any): Boolean
Link copied to clipboard
open fun Execute_Mode_Run()
Handles running the calculator
Link copied to clipboard
fun FA2(): Tape
A simulated cassette Printer
Link copied to clipboard
protected open fun finalize()
Link copied to clipboard
open fun forceIO(resetKeyTime: Boolean)
Force IO Handling next round.
Link copied to clipboard
open fun Form(Form: ICalculatorCanvas)
Set Canvas to display result read keyboard
Link copied to clipboard
fun FP10(): Printer
A simulated cassette Printer
Link copied to clipboard
fun Free_Steps(Text: Array<Short>)
Add total amount of free steps to text;
Link copied to clipboard
open fun Get_Alpha_Mode(): Boolean
Checks if the calculator is in Alpha mode by checking merged operation (when execution programms the alpha indicator is not set).
Link copied to clipboard
Link copied to clipboard
fun getClass(): Class<out Any>
Link copied to clipboard
open fun getDisplayMode(): DisplayType
Current display mode
Display_Alpha
Displays the content of the Alpha register.
Display_L
Displays the content of the L0 aka X register.
Display_Formatted
Displays the content of the L0 aka X register inside an alpha
Link copied to clipboard
open fun getExecutionMode(): Int
Execution mode
Link copied to clipboard
open fun getLastStep(): Int
locate the last step to display the free steps or for debugging.
Link copied to clipboard
open fun getPauseTime(): Long
The manual says that a PAUSE takes about a second.
Link copied to clipboard
open fun getPauseWait(): Long
Intermediate wait in milliseconds while pause is executed.
Link copied to clipboard
additional wait to make simulator more realistic.
Link copied to clipboard
open fun getStackPointer(): Int
return current stack pointer
Link copied to clipboard
fun Half_Circle(): Number
fun Half_Circle(Half_Circle: Number)
convert an angle to Deg/Rad/Grad
Link copied to clipboard
open fun Handle_IO()
Display result and read keyboard
Link copied to clipboard
open fun hashCode(): Int
Link copied to clipboard
open fun Hlt_Position(): Int
open fun Hlt_Position(Hlt_Position: Int)
Return Position for HLT Mode.
Link copied to clipboard
Increment Current Program counter.
Link copied to clipboard
Increment Current Program counter.
Link copied to clipboard
Increment where to store the next merged operations.
Link copied to clipboard
open fun Init_A()
Clears A-register
Link copied to clipboard
open fun Init_Keycodes()
Clears internal Memory
Link copied to clipboard
open fun Init_L()
Clears L-register
Link copied to clipboard
open fun Init_M()
Clears M-register.
Link copied to clipboard
open fun Init_MF()
Clears MF-register.
Link copied to clipboard
open fun Init_Opcodes()
Sets the opcodes.
Link copied to clipboard
open fun Init_Program_Stack()
init the GSB stack
Link copied to clipboard
open fun Init_Steps()
Clears Program Steps
Link copied to clipboard
open fun Is_Alpha(Step_Nr: Int): Boolean
check if Step "Nr" is an Alpha character
Link copied to clipboard
Alpha Mode?
Link copied to clipboard
Current mode
Link copied to clipboard
open fun Is_HLT_Pause(Step_Nr: Int): Boolean
check if Step "Nr" is an Alpha character
Link copied to clipboard
Program stack used for GSB commands .
Link copied to clipboard
Program stack used for GSB commands .
Link copied to clipboard
open fun Is_Shutdown(): Boolean
Calculator is not running - needed for end program.
Link copied to clipboard
open fun isIndirect(): Boolean
Link copied to clipboard
open fun isRunning(): Boolean
Calculator is running - needed for power saving.
Link copied to clipboard
open fun isWaiting(): Boolean
is waiting in interactive mode for user input.
Link copied to clipboard
open fun Keyboard_Mode(): Int
Get current Keyboard mode
open fun Keyboard_Mode(Keyboard_Mode: Int)
set input mode
Link copied to clipboard
fun L(Nr: Int): L_Register
The M-Register are used for general data storage.
Link copied to clipboard
open fun load(filename: String)
Load the current status of the system
open fun load()
Link copied to clipboard
open fun Load_Status()
Load the current status of the system
Link copied to clipboard
open fun M(Register: Int): Number
fun M(Register: Int, M: Number)
The M-Register are used for general data storage.
Link copied to clipboard
open fun M_Length(): Int
The M-Register are used for general data storage.
Link copied to clipboard
open fun Merge_Key(): Keyboard
open fun Merge_Key(Merge_Key: Keyboard)
Key Operations which currently merged to a Calculator operation.
Link copied to clipboard
open fun Merge_Token(): IProgrammable_Operation
open fun Merge_Token(Merge_Token: IProgrammable_Operation)
Multi Keystroke Operation like Alpha, Degree, Eng, Save, Load in progress
Link copied to clipboard
open fun MF(Register: Int): Number
fun MF(Register: Int, MF: Number)
The M-Register are used for general data storage.
Link copied to clipboard
open fun MF_Length(): Int
The M-Register are used for general data storage.
Link copied to clipboard
fun notify()
Link copied to clipboard
fun notifyAll()
Link copied to clipboard
open fun Pop_L()
open fun Pop_L(Operation: Int)
Pop values from stack by triggering an calculation run up the the level Operation
Link copied to clipboard
open fun Pop_Program_Stack(): Int
Program stack used for GSB commands .
Link copied to clipboard
open fun Program_Counter(): Int
Get current Program counter.
Link copied to clipboard
open fun Program_Position(Program_Token: Short): Short
Return step-postion of given program
Link copied to clipboard
open fun Program_Store(): Int
get where to store the next merged operations.
Link copied to clipboard
open fun Push_L(Operation: Int)
Push value and given operation to stack.
Link copied to clipboard
open fun Push_Program_Stack(Program_Counter: Int)
Program stack used for GSB commands .
Link copied to clipboard
open fun Read_Display(Is_X_Register: Boolean)
Read Steps from Simulated Cassette interface.
Link copied to clipboard
open fun Read_M()
Read M register from file
Link copied to clipboard
open fun Read_Steps()
Read Steps from Simulated Cassette interface.
Link copied to clipboard
Remove a PropertyChangeListener from the listener list.
Remove a PropertyChangeListener for a specific property.
Link copied to clipboard
open fun reset()
Total Reset calculator.
Link copied to clipboard
open fun Resize_M(New_Size: Int)
Set new size for M-register.
Link copied to clipboard
open fun Resize_MF(New_Size: Int)
Set new size for F-register.
Link copied to clipboard
fun run()
Start Calculator
Link copied to clipboard
open fun save()
open fun save(s: String)
Link copied to clipboard
open fun Save_Status()
Save the current status of the system
Link copied to clipboard
open fun Service(Service: IService)
Set Canvas to display result read keyboard
Link copied to clipboard
open fun Set_Alpha_Mode(Alpha_Mode: Boolean)
Checks if the calculator is in Alpha mode by checking merged operation (when execution programms the alpha indicator is not set).
Link copied to clipboard
fun Set_Constant_Mode(Constant_Mode: Boolean)
Current mode
Link copied to clipboard
Set Current program to program at program counter
open fun Set_Current_Program(Current_Program: Short)
Link copied to clipboard
open fun Set_Program_Counter(Program_Counter: Int)
Set Current Program counter.
Link copied to clipboard
open fun Set_Program_Store(Program_Store: Int)
Set where to store the next merged operations.
Link copied to clipboard
open fun setDisplayMode(displayMode: DisplayType)
Current display mode
Display_Alpha
Displays the content of the Alpha register.
Display_L
Displays the content of the L0 aka X register.
Display_Formated
Displays the content of the L0 aka X register inside an alpha
Link copied to clipboard
open fun setExecutionMode(Execution_Mode: Int)
Set new Execution mode
Execution_Interactiv
Calculator is used interactively.
Execution_Running
Calculator running a program.
Execution_Halt
Calculator debugging a program.
Execution_Pause
Calculator pauses for a sec.
Execution_1_Step
Do a single step and return to Execution_Halt.
Execution_Write
Calcluator is in write programm mode.
Execution_Clear
Calcluator is in clear memory mode.
Execution_Alpha_Pause
Initial pause when alpha starts scrolling.
Execution_Alpha_Step
Pause between each character when alpha starts scrolling.
Link copied to clipboard
open fun setIndirect(indirect: Boolean)
Link copied to clipboard
fun Steps(Step: Int): Short
fun Steps(Step: Int, Value: Short)
Calculator Program Memory
Link copied to clipboard
open fun stop()
Stop virtual CPU and the thread it runs in
Link copied to clipboard
open fun Stop_Execute()
Stop calculator executing an reset interactive mode.
Link copied to clipboard
open fun Store_Operation(Operation: Short)
Store an operation at into calculator memory
Link copied to clipboard
Text to be displayed.
Link copied to clipboard
Active plane:
  • 0: Keyboard_Normal
  • 1: Memory + 20, Fix instead of RND
  • 2; Memory + 40
  • 3: Memory + 60
  • 4: Memory + 80
Link copied to clipboard
open fun toString(): String
open fun toString(): String
Link copied to clipboard
fun wait()
Link copied to clipboard
open fun Write_M()
Writes memory register to simulated cassette interface.
Link copied to clipboard
open fun Write_Steps()
Writes program steps to simulated cassette interface.
Link copied to clipboard
open fun Wrt_Is_Alpha(For_Debug: Boolean): Boolean
check if - in wrt mode - we are currently in alpha mode.