History.
  2012/02/06
   Exclusive use AB Software keyboard addition.
  2012/02/16
   Virtual pad addition.
  2012/02/21
   Graphic (point,line) fix.
  2012/02/28
   fix: Array variable substitution (Multiplex brackets of Left side)
  2012/02/29
   'refresh' function addition.
  2012/03/05
   inet$("http:"),load"http:",cls 4 addition.
  2012/03/09
   Setting mode. One touch execution.
  2012/03/30
   Function(Sprite collision): sp_check sp_hit sp_target sp_margin addition.
  2012/04/11
   Virtual pad-Enabling hardware keyboard.
   Background graphic function addition.
    bg_view bg_scale bg_put bg_fill bg_scene bg_roll
    bg_border bg_load bg_save bg_get bg_map sp_bghit
  2012/04/25
    Camera photography function addition. (ex_camera)
  2012/05/07
   bugfix 'load' statement.
   Autofocus,GPS sensor,Inclination sensor function addition.
  2012/05/15
   Home screen shortcut executor.
   talk function addition.
  2012/05/25
   Index select Editor.
   MoviePlay,MicRecording function addition.
  2012/06/14
   fix: The General file, eof, lof, msave, (data statement)read
   fix: The General function, val, str$, instr, mid$()=""
   optimization: play, Program start
   add: calc(), dir$(), fre()
  2012/06/19
   add: Sensor(Accelerometer,Proximity,Temperature)
   add: ex_keyboard(select),ex_battery(residual)
   fix: ex_rec,renum,calc()
  2012/07/02
   add: SQLite.
   add: Illuminance sensor.
   add: BGscreen max 16->256, color ,,backcolor
  2012/07/09
   Default character encoding -> UTF-8
   add: init"kb:", init"enc:"
  2012/07/29
   Font 32 abolition, 12 additions.
   Changes: Only no path-current folder specification.
   add: curdir$()-Current folder name.
   Manual Explanation revision of global variable definition.
  2012/08/05
   Some Instability of Interrupt processing was solved.
   add: Interrupt 'on-touch'
   add: touch(3|4) -to return movement of the flip.
   add: ui_input ui_select -the input by UI.dialog.
   Change: strig() -to returns 2 when the first push.
   Change: calc -provided by character variable OK.(,c mode -numeric)
  2012/08/09
   Editing by flick scroll.
   Start keyboard selection option.
   fix: input(alt).
  2012/08/20
   extension: bg_view ,,,[,Double-display-switch] (BG&Sprite:Double size display)
   In the 2nd (,c mode) execution, the problem which the data remainder had caused is resolved.
  2012/09/17
   Function key input.(add:key key-list)
   Copy&Paste, Edit controls.
   fix: Software keyboard.
  2012/10/08
   add: day(week),trim$(stuffing str margin)
   changes: renum [new][,old][,increment] Default[100,,10]
   ex: bg_roll max 16pixel scroll
   Graphics buffer max 2048
   Key assignment(large)
   End key state is restored.
   Country particular character input in editor.
  2012/11/11
   The Flick input support.
   change: ins-1spc -> ins-mode.
   fix: Indent. menu-stop.
  2012/12/07
   replace: String replacement in program.
   rep$(): String replacement function.
   tap: Waiting for input tap.
   vsync: Sprite synchronization.
   Other minor fixes.
  2013/01/17
   add: Sensor(gyroscope,magnetic,pressure)
   add: system(return OS)
   Improvement: Editor-Flick scrolling.
   Improvement: Softkey-Flick input(sign)
  2013/02/13
   add: zip,unzip(zip-file compress&decompress)
  2013/03/31
   add: print-using,print#-using
   bugFix: when outputting numbers in print#,write#.
   In print#, not output newlines when ';'-end.
  2013/04/06
   fix: function-parameter-type checking. (,i mode)
   add: varptr,bsave,bload
    The save & load of numerical array variable.
  2013/04/26
   add: clear -Specifying a variable area size.
   New Text-touch-editing-System.
  2013/05/12
   Reversing display of Sprite & BG. extension: bg_fill.
   Scroll range specification of 'roll' statement.
   add: Variable-table.
   add: tron undo(menu)
   Minor fixes of input, the other.
  2013/05/20
   Step-execution-mode addition.(tron)
   add: Display of WEB page.(ex_web)
  2013/06/12
   add: C-language conversion save.
        Reading file without line numbers.(load)
   add: 'merge' -connection of program.
   The fixes.
   deg(), minus-float-number(-0.12E10) (,i-mode)
   After,c-mode, array reference able in '? d(x)'(,c-mode)
   Parameter over in 'mid,left,right', return nullstr.(,c-mode)
   instr()-failure of start position omitted.(,c-mode)
   inet()-acquisition value.
   Possible to paste of 'fn+spc' in 'input'.
   Interrupt on/off switchable in interrupt processing destination.
  2013/06/25
   add: Regular expression.
    re_ptn re_mat re_region re_find() re_grp$()
    re_st() re_end() re_rep$() re_repall$()
   add: unlist-user function library concealmentize.
   Abolition: rep$()-replaced regular ex.
   fix: between str function connection.(,c-mode)
  2013/12/15
   add: exec - execute external app.
  2013/12/23
   The sound effects performance in the second parameter of 'PLAY' statemente,
    it was changed to the 'SoundPool' system internally.
   It is loaded into memory, continuous performance is possible without delay.
  2014/01/05
   add: Auxiliary-input and Popup-Help function.
  2014/01/05
   It can now directly 'open' the database file in the SD card.
   files"sql:"  It can be viewing the files in the SQL folder.
  2014/05/27
   add: Bluetooth communication.
   bt_state$ bt_enable bt_signal bt_device
   bt_open bt_input$ bt_output
   on-bluetooth-gosub bluetooth-on/off
   extension: bg_view ,,,,n
   n=BG&SP Magnifying power max 4.
  2014/06/04
   Multi-Tab Editor.
  2014/06/15
   New Editor Insert-input. (Setting->Input mode)
   Color coding commands editor.
  2014/06/20
   add: ex_vibrate Vibration.
  2014/07/27
   add: sp_move -Sprite move and animation automatically. ext:sp_stat()
   add: sp_swap -To exchange value of individual Sprite.
   extension: roll ,,vx,vy  bg_view ,,,,1
    Graphic screen is synchronized with BG area, and make it scroll superposed.
   Current folder location can be switched on main-body and SDcard from setting.
   Key Operation:'Line insertion at left edge' was changed from 'enter' to 'bs'.
   Middle line number generater.
   In 'Copy & Paste', it corresponded to reading of line feed code.
  2014/09/14
   Flexible free area (System:Memory upper limit is increased automatically)
   add: max() min()
   add: decimal$() (Long digit,No accidental error -BigDecimal calc)
   add: getbitmap setbitmap pixel pixc() (Graphics processing by bitmap array)
   add: ui_text (Show dialog text)
   add: pen (Drawing pen setting)
   extension: timer (Value setup is possible)
   Forum was established.
  2014/09/18
   fix: When minus sign is attached to [exponentiation & 'not'] in ,c-mode.(e.g.:1-2^2)
  2014/11/01
   OpenGL mode. High-speed displaying.
   extension: bg_roll ,,,ax,ay  Absolutely coordinate specification.
   Cls-key 2consecutive (long)push (Graphic screen clear & Sprite=off)
  2014/11/13
   Sample program bundled.
   fix: sp_swap
  2014/11/26
   Graphics speed up: Anti-aliasing off-mode.
   changes 'for-next': attainment value be calculated each time.
   fix: continue
   update display of OpenGLmode-softkey is automated.
  2014/12/03
   add: swap -variable swap
   Compound assignment operator  (a+=1 a-=1 a*=1 a/=1)
   fix: close(file)
  2014/12/16
   add: sp_order -priority start number.
   extension: sp_pos -last variable referenced by abbreviation.
   extension: bg_view -decimal magnification in OpenGL mode.
   add: init"angle:deg" -change the unit radian to degree.
   add: ex_info$(2) -to acquire android version.
   Sample: Shooting 'Danmaku'
   and other minor fixes. (,i-mode main)
  2015/03/01
   extension: Support Noline-Number source execution by textbox.
   add: init"dpsw:" Change setting from program side.
   extension: col() -Support ColorSet16 switching 5old-machines.
   Sample: Spline curve function.
  2015/03/27
   fix: Around Text box.
   Adjustment: hard key assign.
  2015/04/01
   for-next loop counter, resurrection a decimal using.(speed retention)
   'new[enter]' on text head, and run > Textbox clear.
   ui_select dialog cancel button > return -1.
   paint command inner stack aria increase.
   File deletion management program 'filedel.bas' addition.
  2015/04/09
   Non status bar display mode addition.
   fix: Interrupt-related problem of Bluetooth key.
   Change to restore key-state of being run-time selection.
  2015/04/19
   Extension,Improvement: GPS information acquisition.
    3Accuracy,4Time,5Speed,6Bearing
   Exact error checking of number. (,) Blank coordinate.
   (,i)mode speed up.
  2015/04/23
   add: repeat until (corresponds to (VB) Do:Loop Until <expression>)
  2015/04/27
   Previous enbug fixed.
   Redesigned-File current location recognition.
   DOS like Folder specified method.
   Pathname Head"/"-fullpath  not-follow current
   "..\" upper folder references.
   add: chdir  current-folder move.
   extension: LOAD dialog- folder specified support.
   extension: 'filedel.bas' del-folder, rename support.
   Internal maintenance.
  2015/06/06
   Change: SD storage divided models (internal,external), priority external path for current.
   fix; Bluetooth command 'bt_output'-transmission timing.
   add: gps on/off -switching of GPS receive mode by command.
   Change: In (,c)mode, the error when index of array is minus(less than -2),
     error type change: Unprintabe Error->Subscript out of range.
   Change: By Flick input,Auxiliary input mode, 'Ins' is not cleared by enter.
   Edit mode bug fixes when roll up/down with clerical error source(linenumber connected)
   add: 'btfile.bas': File sending and receiving program by Bluetooth.
  2015/07/11
   add: Legacy compatibility functions - space$ spc tab
   extension: sp_bghit(n) When SpriteNO only, looking into center of collision parts.
   Change: The cursor cross moving by direction of the screen touch.
   'stop' possible in Back key during the execution.
   Change: Return Textbox after exection:  Back-key > screen touch.
  2015/10/17L
   add: sp_print - Text displaying by sprite.
  2016/01/18I
   add: Function - asin acos
   Intermediate code save & run support: save".bin" run".bin"
  2016/02/25
   RPG Materials Bundled.
   BG editor V1.6  Material support Beta version.
   Extension: put@(,),,,(,),,,4  Copy between Graphics buffer.
  2016/04/09
   Extension: ex_info$(3) Network connection state.
  2016/04/28R
   add: Time reservation-execution.
   add: ex_time$: Time operation functions.
   add: ex_recogn$: Speech recognition input.
  2016/07/18
   Editor: Search string is red color.
   By horizontal swipe of editor, Label selecting > viewing list is OK.
   BG Map editor 1.9
   (copying between BG-field, replace, paint, line drawing auxiliary)
   fix: bg_get(x,y[,0|1]) switch 0,1-variable disable. omit=0.
  2016/09/05
   Editor is improved legible.
   Large cursor.
   Separator line of the line number.
   add: ex_bright  Backlight control.
   Possible to use 'Enter-code' chr$(13) on Function-key definition.
  2016/10/19
   add: Google Map viewer. ex_map ex_map$
  2017/04/27
   Support: Bluetooth control Pad.
   Support: NVIDIA-Shield, Xperia-Play controller.
   add: irnd -random integer generation.
   Correspond to landscape of opposite direction.
  2017/05/16
   Turtle graphics' sources are included.
  2017/07/08
   add: bg_gene bg_gdset  -assist sprite appearance in BG-map specific position.
   Text screen smooth scroll.
   renewal: "bin" file executable format.
   Now supported (data,read)statement and SQL command by bin-execution.
   Please update Basic-app and runtime to latest version,
    and use 'bin' file generated with latest(2.49 or later) version.
   In 'Block IF', it was made possible to describe remark(:') behind the (then,else,endif).
  2017/09/23
   in mid$=(),bg_get(), arrangement variable is available.
   fix: editor.
   in arrangement variable of (,c)mode also, output error with subscript over.
   fix: sp_put when parameter is omitted.
  2017/10/08
   Reexamination of the whole of error message.
   Stricter of error checking.
   fix: erase(character array), scrn$
   add: akcnv$ kacnv$ onebyte-doublebyte characters conversion.
  2017/11/09
   add: Chess,Shogi materials. (confirme)gload"mt05_sys.png"
   Playing cards data was also changed to internal data.
   Add explanation about data delimiter in print#,input#.
   Item: Manual>File access(Downward)
  2017/11/30
   add: Mahjong materials.
   Materials number-adjustment and change.
   mt04_sys-PlayingCard, mt05_sys-Chess, mt06_sys-Shogi, mt07_sys-Mahjong
   add: randomize -specification of random generator series. Extension: rnd(n).
   Comparison of character strings by inequality. c.f. "abcd">"abc"
   'error on/off' is abolished according to traditional compatibility.
   (Interrupt off by 'on error goto 0')
  2017/12/11
   add: sp_mapx sp_mapy
  2018/01/04
   fix: randomize
  2018/02/06
   Line Pinning of edit position. c.f. Operation[Fn-key]
   Return to Pinning-line OK. from other edit position.
   'SP_OUT' spread of screen range, specifing with 'BG_GDSET' 3rd parameter.
   Sample 'keytype0.wav' is included in the current folder.
  2018/02/18
   add: val("&b") -Conversion Binary number->Decimal number.
   Duplication line-number check & display when loading.
  2018/05/06
   add: Wireless printer printing.
    llist Text printing
    hardc Picture printing
   Basic manual self printing function.
    llist "manualxx.sys"
   Expansion: font(command) -printing font size by 2nd parameter.
   add: Screenshot save function.
  2018/06/26
   extension: 'touch(n)' Multi-touch support. Please see changed correspondence table of 'touch()'.
   add: 'sp_print' became new command to directly write text in buffer, and display.
   extension: Upgrade the current folder search routine at startup.
   add: function  Factorial:fac(), Pi:pi()
   add: To have revived 'rep$()' function [replace characters].
   extension: Recording 'ex_rec', now it can use new extension .wav .mp3.
   extension: 'list' with touching - Slow scroll mode.
   fix: space$() spc() [c-mode]
  2018/09/03
   Expansion: Virtual pad 4way input by [init"kb:4,n"]. n=Y-axis adjustment value.
   Expansion: bg_view ,,,,,1  text-screen sync display against BGview frame.
  2018/11/17
   Implementation of Device Permission dialog display.
   BG-editor2.1 upgrade.
   add: Hardware key operation.
    -Shift+Left  [Menu]
    -Shift+Right [Label list dialog]
   (Right shift become 'Fn-key')
   Stabilization of large image reading.
  2018/12/01
   Expansion: ex_info$(4) - to acquire model name.
   Expansion: Graphic screen size 1536 pixel ensured.
   Expansion: bg_gdset ,,x,y ('sp_out' range) it can be set to x,y respectively.
   ex_executor(shortcut-launcher) - support Android 8.0 or later.
   Software key color was adjusted for high resolution.
  2019/03/20
   Addition:
   Mathematics function of school textbook.
   fcal : f(x) Calculation of formula-x
   sigma: I£ Sum of number sequence
   deriv$:Differential(derivative)
   diff : Differential coefficient
   intgr: Integral
   dint : Definite integral
   perm : Permutation
   comb : Combination
   root : n-th Root
   prime: Prime number
   gcd  : Greatest common divisor
   lcm  : Least common multiple
  2019/08/02
   add: ex_qr$  QR-code Bar-code scanning, generator.
   change: spell 'decimal$' -> 'bcd$'
   fix: n-th root(x,dimensions)
   fix: ex_executor  Multiple shortcuts OK. even Android8 or more.
  2019/10/10
   Expansion/fix: open 'binary'mode. c.f.FileAccess>open
    By open command by random access mode specification,
    'read''write', these have been unified into one mode 'binary'.
    Both of 'get' and 'put' can be used with 'binary'mode specified.
    open"fname" for read as #1
    open"fname" for write as #1
    Please rewrite this part so far as follows.
    open"fname" for binary as #1
    And this 'binary' mode can open multiple files from 1 to 15,
    The 2nd binary access (loading) has been fixed.
  2019/11/23
   Expansion: Sprite max to 1024. init"spmax:1024"
   change: Function-izing of 'range' command which limits the range.
    range var,12,24 -> var=range(var,12,24)
   Expansion: curdir$(n)  1.Internal Storage  2.SQL folder
  2019/12/30
   The following command are newly available in SQL mode.
   [if else endif for next continue break]
   Change: Keytype-SE and Error(beep)-SE.
   To put "keytype.wav" and "ab_beep.wav" in the current folder,
    it's possible to use the Keytype-tone and Beep-tone of self made.
   The old SE remain in current folder as "keytype0.wav","ab_beep0.wav".
  2020/01/05
   Extension: Font size max to 80.
   Pocket computer type "label" by double quotation available.
  2020/01/28
   Include Programming guide text.
   Android 10 or higher returns 4 digits with ex_info$(2). c.f.1000
  2020/03/14
   For high resolution models
   add: Setting>InputMode>Insert Editor light
   In 'Insert Editor light', the whole drawing amount is reduced.
   As apparent differences, the touch pop of characters of flick input is not displayed.
  2020/04/09
   The new variable processing engine which suited 'Art' after Android6.0 was incorporated.
   The processing speed has increased substantially.
   Manual>SQL The command list available in SQL mode is revised.
  2020/06/13
   Android4.4 and SD path type 'xxxx-xxxx' models,
   It can now access as Current folder.
   /sdcard/Android/data/and.bas/  /storage/xxxx-xxxx/Android/data/and.bas/
   Please see Manual for details.
   Manual>Operation>[About models that SDcard cannot access by default]
   In the model that Current folder changed, please transfer the program files in File Explorer app.
  2020/09/30
   Android X support.
  2020/10/26
   Linear algebra basic calculation
   'MATRIX' command was added as unofficial command.
   The Manual can be viewed from Website.
   How to view the Manual from the App.
   Type the [M] key and touch the right side of blue
   [MATRIX] letter that appears in the upper right corner.
   It can view by pop-up help.
   This function is unguarantee during unofficial command.
  2020/11/24
   Fixed vertical misalignment of software keyboard in some models of Android10.
   (c.f.Manual>Operation>Key adjust type)
   Please select it and restart.
   Manual>Operation>Key adjust type
   0.Android9 and earlier, 1.Android10 or later
   If there is a misalignment, select to the other side.
  2020/12/03
   Added 'input' correction mode for some special models.
   (c.f. manual-input)
  2020/12/09
   The current folder(SD Storage) after Android 10 automatically be selected to next location.
   /storage/emulated/0/Android/data/and.bas/files/
   Not to need access permission. Not to need manual folder making.
   In the model that Current folder changed, please transfer the program files in File Explorer app.
  2020/12/26
   BG Graphic editor ver2.2 'bged.bas' -Support all resolutions.
   C language delimiter';', a error is now output.
  2021/01/02
   (setting)'correction' mode of 'input' is now also applied to 'input$' function.
   Sample programs, High resolution support.
  2021/01/18
   add: LINE drawing - speed top priority mode.
     c.f. Setting>GLine Antialias>Speed
   fix: (HEX$ &H),(BIN$ &B) unified to output on 32-bit basis.
   'bin' format, part renewal.
  2021/01/18
   add: Zooming Sprite.  sp_zoom sp_order
   Graphic buffer 4K size support. 3840Pixel available. (c.f. bg_view)
  2021/02/04
   It is now possible to specify Alpha-value with RGB() function.
   Changes: Specified method of 'put@' [drawing mode] numbering. (c.f. Official website)
   Specifying method [put@,get@][drawing mode] have been unified to 'pen ,PorterDuff' method.
   [drawing mode]  2i??3->1, 4->2 please change. (c.f. Manual put@,pen)
   (official website) http://androidbasic.ninja-web.net/man/info.html
  2021/02/14
   Conditional fast mode was added.
   Expansion: pen ,,n (n=0 Graphics n=1 Buffer) drawing place selectable.
  2021/03/01
   Linear algebra basical calculation 'MATRIX' command was added as official command.
  2021/03/20
   Expansion: Array initializer. dim da(6): da={0,1,2,3,4,5}  Data substitution OK with brackets.  c.f.:dim
   add: halt -The program is completely stopped until a touch interrupt.  c.f.:halt
   add: ui_button  [Feature:Coordinate setting & automatic display]  Getting selected number by 'ui_button()'.
   add: lay()  Unit of screen 1/100, model-independent coordinate layout.
   add: gettype()  Variable info acquisition. (Type, Array info, scope)
  2021/04/30
   Camera(etc) API were changed to new API (Oleo Or later).
  2021/05/17
   The whole of internal is organized.
  2021/05/30
   Support Android11 screen size acquisition method.
  2021/07/14
   Fixed the symptom that the key touch becomes heavy on some models of Android 10.
  2021/08/06
   Icon change.
   Keystroke adjustments for Android9 and earlier.
  2021/09/02
   When str$(numerical) is '+' value, to be changed
    to return data with one spaces on the left.(legacy compatible)
   e.g. str$(64) -> " 64"
   The case of want to get it without space, please rewrite this.
   trim$(str$(64))
   fix: When reading multiple data in 'input#' one command.
  2021/10/02
   Expansion: init"crt:0"  It can specify character-unit high speed scroll.
   From this version, minimum system requirements is Android 4.4 or later.
  2022/02/10
   fix: The case when using voice recognition 'ex_recogn$' continuously.
   fix: The case when using string-variables in direct command.
   fix: 'ex_sql' related.
   It is now possible to set 'ex_sql ,on' in 'func' & 'select case' internal.
   To possible to use 'select case' by SQL-mode.
   add: new mode 'ex_sql ,aton', automatically SQL file close at program end.
   The current OS version don't require download external file for TTS speech synthesis.
  2022/02/23
   fix: search (array search function), and minor fixes.
   In program running state, it is possible to recover from the screen on/off.
  2022/04/03
   In the models which storage is special on Android11 or later,
    a access in [DOCUMENT_TREE] method is now possible.
  2023/03/16
   Powered by 'Basic Server System'.
   It became possible that upload & download of programs.
   Menu > Load > Basic Server System > Help button
   Please see the server system manual here.
  2023/08/01
   From this version, this program have been refactored.
   If there is a part that behaves differently than before,
   please report using from the form at the bottom of the menu.
   Attaching a simple sample will make it easier to find what the problem is.
   And you can also submit a general bug report from here.
   In cases where a reply is required, we also accept reports by e-mail.
  2023/08/12
   When using Bluetooth on Android 12 or later, permission of "nearby devices" is required.
   (a dialog will appear)
   fix: Defect when using the camera continuously.
   add: chcnt()-To return the number of specified character in the string.
   add: sp_dist() sp_bmx() sp_bmy() -To return the distance and movement-vector between two sprites.
  2023/09/15
   Support Multilingual manual.
   (English/Spanish/German/French/Japanese/Chinese-HK/Russian/Hindi)
  2023/12/06
   Equipped with a new screen key input system 'Up shift input'.
   The symbol input method displayed above the keys has been changed.
   As soon as you touch it, the alphabet will be input,
    and if you flick upwards, the symbol character will be input to the original position.
   Inputting the 'cls' key is also an upward flick from the 'stop' key.
   The 'input' command and the differences in touch behavior between models have also been improved.
   The previous 'Insert editor' can also be selected from 'Settings'.
  2023/12/28
   Improved speed of inserting rows.
  2024/02/24
   A new 'Up shift input(no renum)' has been added to the input system.
   In the case of line number is [1's digit is not 0], 'renum' is not executed every time.
   Please use this when editing long program lists.
   Reference: [Manual > Operation > Settings > Input mode]
   Other minor fixs.
  2024/04/17
   Adapted to changes in media library access for Android 13 and later.
   When you select 'Load' from the menu, a dialog will appear asking for permission to access the media file.
   Normally, select 'allow' and proceed to 'Load', please.
   Changed 'CODE_128' to default format in barcode generation with ex_qr$.