Aquí algunas funciones de se me ocurren preliminarmente Basadas en el Basic de las TI
*Pixel(pantalla,X,Y,FF00FF) /color por defecto negro, pantalla por defecto 1
*PixelPrueba(pantalla,X,Y,FF00FF) /igual a uno si el color, coordenada y pantalla concuerdan al píxel escrito
*Texto(panatalla,X,Y,FF00FF,"hola") /color por defecto negro, pantalla por defecto 1
*Linea(pantalla,X1,Y1,X2,Y2,FF00FF) /color por defecto negro
*LlenarPoligono(pantalla, FF00FF, X1,Y1,X2,Y2,X3,Y3,X1,Y1) /llena una figura con color formada por pares coordenados XY que inician y terminan en el mismo punto.
*Longitud(VarTexto) /devuelve la cantidad de caracteres contenidos en esa variable
*ConvertirTN(VarTexto,VarNumerica) /convierte texto a número
*ConvertirNT(VarNumerica,VarTexto) / convierte número a texto
*TextoElemento(VarTexto,VarDesde,VarCuanto) / extrae texto de una variable de texto desde el elemento VarDesde hasta el elemento (VarDesde+VarCuato-1). Por defecto VarCuanto=1
*Busca(VarTexto,VarTexto2,VarNumerica)/ busca determinada secuencia de texto en la *VarTexto1, si la misma aparece devuelve la posición numérica donde inicia la palabra, si no aparece devuelve un cero.
Aleatorio(X,Y) comando por defecto sin especificar límites X Y devuelve aleatorio entre 0 y 1
AleatorioEntero(X,Y) comando por defecto sin especificar limites X Y devuelve aleatorio 0 o 1
*OrdenaAcendente(Lista) /organiza un array numérico separado por comas ascendentemente.
*OrdenaDecendente(Lista) / organiza un array numérico separado por comas descendentemente.
*Maximo(Lista) /devuelve el valor máximo de una array numérico separado por comas.
*Minimo(Lista) / devuelve el valor mínimo de una array numérico separado por comas.
*ElementosL(Lista) / devuelve la cantidad de elementos que contiene una lista.
*Sumatoria(Lista) / devuelve la sumatoria de los elementos de una lista.
*LlamarIlustracion("nombre.png",pantalla) por defecto llama a ambas pantallas
*GuardarIlustracion("nombre.png", pantalla) por defecto pantalla 1
*LimpiarPantalla (pantalla, FF00FF) por defecto limpia ambas pantalla por defecto el color de relleno es blanco.
*Reproducir("audio.mp3",VarVolumen) reproduce audio, por defecto el volumen es medio.
*DetenerAudio("audio.mp3",VarTransicion) detiene el audio especificado, por defecto detiene el audio que este corriendo en un tiempo cero, de lo contrario disminuye el volumen en la transición de tiempo especificada.
*LlamarPrograma("NombreDelPrograma.t2") /permite ejecutar una subrutina
*Regresar /regresa al programa previo una vez concluido el comando LlamarPrograma
*Archivar(Variable ,Programa, Captura, Sonido, Lista) / archiva y comprime
*Cargar(Variable, Programa, Captura, Sonido o Lista) / carga y descomprime
*PausaB(boton) /detiene temporalmente el programa hasta que el botón especificado sea pulsado, por defecto espera a que cualquier botón sea pulsado.
*PausaT(TiempoSegundos) /detiene temporalmente el programa hasta cumplido el tiempo T
*PausaP(Tiempo) / termina la pausa tiempo después de pulsar la pantalla táctil, por defecto el tiempo es cero
*PausaM(boton,Tiempo1,Tiempo2) /pausa hasta que un botón especifico sea pulsado, algún tiempo halla pasado o la pantalla táctil halla sido pulsada. Solo con que un evento se cumpla la pausa será eliminada por defecto el botón es cualquiera y los tiempos son uno.
*Dormir(Tiempo) /coloca la DS en StandBy como si estuviese cerrada, pulsar cualquier botón para continuar, por defecto el tiempo es cero.
*Alto /detiene y cierra la ejecución del programa permanentemente
*Abs(-X) / devuelve valor absoluto
*ParteEntera(1.2) / devuelve 1
*ParteDecimal(1.2) /devuelve .2
*WifiEsperarConexion(tiempo) /espera por solicitud de conexión determinado tiempo, por defecto es 30 segundos.
*WifiAbrirConexion(lo que sea necesario) / solicita conexión a conexiones en espera de solicitud
*WifiCerrarConexion(especificar la conexión que se desea cerrar) / termina una conexión
*WifiOpten(variable, captura de pantalla, sonido o programa.T2) /intenta solicitar si determinado archivo existe (si existe lo obtendrá sustituyéndolo por el local, si no existe cerrara la conexión)
*WifiEnvia(variable, captura de pantalla, sonido o programa.T2) envía determinado archivo (si existe en la otra consola cerrara la conexión, si no existe lo enviará)
*Boton(VarBoton) /Guarda el ID (A,B,X,Y,R,L,Start,Select,N,S,E,O) de un botón pulsado en la variable Botón, por defecto espera hasta que un botón sea pulsado
*BotonSimultaneo(Lista,T) /considera simultáneos todos los botones pulsados durante un lapso de tiempo T
*Tactil(VarX,VarY) /Guarda las coordenadas por pantalla táctil en las variables X Y, por defecto espera hasta que la pantalla táctil sea pulsada
*EntradaN("titulo del campo", VarEntrada) /llama a un teclado virtual, para hacer entradas numéricas y la entrada es guardada en la variable VarEntrada. Significa que al escribir caracteres si no son variables con valor numérico el mismo será cero por defecto
*EntradaT("titulo del campo", VarEntrada) /llama a un teclado virtual, para hacer entradas como caracteres y la entrada es guardada en la variable VarEntrada. Significa que solo se considerará como texto esta entrada.
*Grabar("nombre.mp3",30) /graba 30 segundos de audio bajo determinado nombre en determinada capeta
*AlmacenarVar /almacena todas las variables en un archivo llamado igual que el programa que se está ejecutando
*CargarVar /carga todas las variables en un archivo llamado igual que el programa que se está ejecutando
*OptenTiempo(ListaFecha) /Graba numéricamente el mes, día, año, hora militar, minuto, segundo y día de la semana.
*OptenNombre(VarTexto) / Graba el nombre que el usuario usa de mote en la consola
*OptenCumple(ListaCump) /Graba la fecha de cumpleaños del usuario dueño
*OptenIdioma(VarText) /graba el idioma predeterminado por el usuario en su consola DS
*IntencidadLuz(X) /gradúa la intensidad del Back Light desde uno hasta cuatro
*Regresa (EtiquetaNombre)
*Marcar (EtiquetaNombre)
*VentanaC("Titulo",%X,%Y, VarTexto) /ventana centrada, X%=porcentaje de pantalla horizontal, Y%=porcentaje de pantalla vertical, texto contenido en la ventana
*Ventana("Titulo",X,Y,%X,%Y,VarTexto) /ventana cuyas coordenadas están determinadas por X-Y, X%=porcentaje de pantalla horizontal, Y%=porcentaje de pantalla vertical, texto contenido en la ventana.
Las ventanas incluyen botón para cerrar
*Boton(“titulo”,X,Y, FF00FF) /especifica titulo del botón sus coordenadas y su color diferente de negro, por defecto el texto es negro
*Menu(“titulo”,”Opcion1”,LlamarPrograma1,”Opcion2”, Regresa (EtiquetaNombre2), “Salir”, (EtiquetaNombreSalir) ) / permite crear un menú en una ventana centrada con título además colocar diferentes opciones seguidas de una etiqueta o sub-programa para ejecutar si la alternativa es seleccionada. Las opciones se ejecutan en la misma ventana.
Listas:
Una lista será una organización horizontal de variables “array” definida por, las listas pueden ser diferenciadas de las variables por algún carácter especial el comienzo:
*ListaElementos(X,ListaNombre) / para crear la lista de elementos separados por coma de X cantidad de elementos, por defecto los elementos son números y todos cero.
*ListaNombre(X) /se refiere a el valor numérico del elemento número X de la lista Nombre
Matrices:
Un Array de elementos bidimensionalmente
*Matriz(X,Y,MatrizNombre) / para crear una matriz de X-elementos horizontales y Y-elementos verticales defecto los elementos son números y todos cero.
*MatrizNombre(X,Y) / se refiere a el valor numérico del elemento número para el elemento horizontal número X y vertical numero Y de la Matriz Nombre
Solo como subgerencia el símbolo de las extensiones en vez de se .T2 debería ser .Ag o .Ag47 en conmemoración del símbolo atómico de la Plata.