Calculator Community > [OTcalc] Z80-Software

OT Basic

(1/16) > >>

nemo:
We're all familiar with TI-Basic. I think there should be a similar language for OT calculators. OT basic is not a final name. That can be discussed later. However, if you agree there should be a basic-like language, what are commands and features you would like to see? Named variables? Compiled rather than interpreted? I want radical ideas, things you wish you could do. However, I have one condition. Please no features that are gaming specific!! This is for math programs mainly. No requests for sprite routines or the like obviously targeted for gaming.  Command suggestions will be edited in regardless of feasibility.

Note: This topic should have extremely little discussion. Do not shoot down anyone's idea. Don't speculate on whether hardware can handle it or not. We can discuss fine details after the calculators hardware is planned. I ask this so this thread is as uncluttered as possible! Thank you.

Data Structures and Variable Types:
-Lists
-Matrices
-Multidimensional arrays
-Strings
-Character arrays
-Declared Variables
-Int, Float, Bool etc. types
-Prefixed variables to define their types. (ex. sVAR would be a string)
-Vectors


Variable Commands:
-ToUpperCase/ToLowerCase
-Pic recalling/storing
-Undeclare/Delvar function to free up memory
-Conversions between data types (i.e. list>Matrix, String>Number, Number>String etc.)
-Sum/Mean/Median of a List/Matrix/Array
-Random numbers, integers, matrices, lists, other data types
-Advanced Array functions

Graphical Commands:
-Pxl-On/Off/Change
-Pt-On/Off/Change
-Line
-Circle
-Polygon
-Graph Function
-Shade
-Clear Screen
-3-D support and polygons
-Operating System GUI elements, like DCS libs.

Control Statements:
-If (File/Variable Exists)-Else-End
-If-Else-End
-For
-While
-Break
-Try/Catch
-Goto/Lbl

I/O Commands:
-Getkey (multiple keypress getkey)
-Link Send
-Link Receive
-Prompt/Input
-Disp/Output/Print

Operators:
-Multiplicative
-Subtraction
-Negativity
-Addition
-Division
-Modulus
-Assignment
-Equality
-Inequality operators (greater than, less than etc.)
-Exponent
-Logical not()
-Logical and
-Logical or
-Logical xor
-Increment command (+= in C)
-Decrement commmand (-= in C) same with multiply, divide, modulus.


Math Functions:
-Every math function in the OTz80 calc that can be used outside a program on the "homescreen"
-include sorting lists


Language Design:
-Two languages, one interpreted, one compiled?
-Syntax highlighting! (great suggestion willrandship)
-Search function (ctrl+f)
-Numbered lines in the GUI
-SkipTo command, to skip to a programmer-defined place in the code, or waypoints like 1/4, 1/2, 3/4 through the code.
-Descriptive error messages when a program errors.
-Key to break execution of programs (like [On])
-Copy/Paste sections of code
-Undo/Redo function.
-Token based/Non-token based, still needs to be decided.
-Access to foreign characters and lowercase.




DJ Omnimaga:
From what I remember, I think they wanted to include a language similar to TI-83+ BASIC. Something faster as well.

That said, while the language must be aimed towards maths, let's not limit itself like the TI-Nspire did. Let's not do the same mistake as TI did by removing Getkey and even Input.

The language needs to be interpreted, so the user immediately can run it like other calc BASIC languages, stable, so no crashes/data loss occurs while testing, error checking, to make it easy for the user to track errors, like in TI-BASIC, easy to use language, possibly similar to TI-BASIC but not too close to not get sued and tokenized, so it won't take considerable amounts of memory like TI-86 BASIC programs..

program4:
I think it should be interpreted, with an option to compile, in case you need to brute force something.

cooliojazz:
For data structures, I think it should have more standard data type support, aka, instead of lists and matrices, have multidimensional arrays.  It should also of course have things like strings and numbers, not sure whether it would be advantageous to have separate int types, etc, but I would guess not.

calc84maniac:
I assume this is for OTZ80? Cause for OTARM, it would be simple to load Python, for example, among many other languages. One of the perks of using Linux :)

Navigation

[0] Message Index

[#] Next page

Go to full version