Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Simons' Basic
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
[[Archivo:Simons BASIC Modul Hires.JPG|right|thumb|El cartucho Simons' Basic comercializado por Commodore]] El '''Simons' Basic'''<ref>Simons' Basic User Manual (Published by Commodore)</ref> es una extensión del [[Commodore BASIC|Commodore BASIC 2.0]] para el [[Commodore 64]]. Escrito en 1983 por un joven programador inglés de 16 años, David Simons, fue comercializado por [[Commodore International|Commodore]] como cartucho de extensión. También se distribuyó oficiosamente en forma de [[archivo ejecutable]] (en [[disquete]] por ejemplo). == Características == El [[Commodore BASIC|Commodore BASIC 2.0]] recibe 114 nuevas instrucciones para aprovechar el potencial [[multimedia]] del [[Commodore 64]] más simplemente. El [[conjunto de instrucciones]] extendido añade comandos que facilita el manejo de los [[sprite (videojuegos)|sprites]], los gráficos de alta resolución y multicolor, el chip [[MOS Technology SID|SID]] para el sonido. Simons' Basic también propone instrucciones relacionadas con la [[programación estructurada]]. Además, se podía usar los prefijos $ para los números hexadecimales y % para los números binarios. == Las instrucciones == === Gestión de sprites === * <TT>MOB SET</TT> - definir los atributos de un ''[[sprite (videojuegos)|sprite]]'' * <TT>MMOB</TT> - posición del ''sprite'' en la pantalla * <TT>RLOCMOB</TT> - mover un ''sprite'' de un lugar a otro * <TT>CMOB</TT> - definir los dos colores principales para los ''sprites'' multicolores * <TT>MOB OFF</TT> - desactivar un ''sprite'' * <TT>DETECT</TT> - inicializar la detección de colisión del ''sprite'' * <TT>CHECK</TT> - verificar si hay colisión de un ''sprite'' * <TT>@</TT> - dibujar un ''sprite'' en una cuadrícula usando unas letras específicas del teclado * <TT>DESIGN</TT> - asignar espacio memoria para la creación de un ''sprite'' === Gestión de gráficos alta resolución === * <TT>HIRES</TT> - inicializar un modo gráfico alta resolución * <TT>MULTI</TT> - inicializar un modo gráfico multicolor * <TT>NRM</TT> - volver en [[modo texto]] (baja resolución) * <TT>LOW COL</TT> - definir el color del punto/pixel * <TT>HI COL</TT> - re-inicializar el color del punto/pixel a su valor por defecto * <TT>PLOT</TT> - dibujar un punto/pixel * <TT>LINE</TT> - dibujar una línea * <TT>CIRCLE</TT> - dibujar un círculo * <TT>ARC</TT> - dibujar un arco * <TT>ANGL</TT> - dibujar un rayo de círculo * <TT>PAINT</TT> - rellenar una superficie * <TT>REC</TT> - dibujar un rectángulo vació * <TT>BLOCK</TT> - dibujar un rectángulo lleno * <TT>DRAW</TT> - dibujar una figura geométrica * <TT>ROT</TT> - determinar la rotación y el zum para la instrucción <TT>DRAW</TT> * <TT>CHAR</TT> - escribir un carácter en una pantalla de alta resolución * <TT>TEXT</TT> - escribir un texto en una pantalla de alta resolución * <TT>TEST</TT> - determinar si en una posición definida hay un punto/pixel dibujado o no === Otros comandos gráficos === * <TT>COLOUR</TT> - atribuir el color de fondo y del borde de la pantalla * <TT>CSET</TT> - seleccionar un conjunto de caracteres (tipo de letra) * <TT>MEM</TT> - copiar el conjunto de caracteres (tipo de letra) de la [[ROM]] a la [[Memoria de acceso aleatorio|RAM]] * <TT>BCKGNDS</TT> - cambiar el color de fondo de un carácter * <TT>FLASH</TT> - hacer parpadear la pantalla * <TT>OFF</TT> - parar el parpadeo de la pantalla del comando <TT>FLASH</TT> * <TT>BFLASH</TT> - hacer parpadear el borde de la pantalla * <TT>FCHR</TT> - rellenar una parte de la pantalla con un carácter específico * <TT>FCOL</TT> - cambiar el color del carácter usado en el comando <TT>FCHR</TT> * <TT>FILL</TT> - una combinación de los comandos <TT>FCHR</TT> y <TT>FCOL</TT> * <TT>MOVE</TT> - copiar una parte/zona de la pantalla * <TT>INV</TT> - invertir una parte/zona de la pantalla * <TT>LEFT</TT> - mover la pantalla a la izquierda * <TT>RIGHT</TT> - mover la pantalla a la derecha * <TT>UP</TT> - mover la pantalla arriba * <TT>DOWN</TT> - mover la pantalla abajo * <TT>SCRSV</TT> - guardar una pantalla de texto en el disquete/casete * <TT>SCRLD</TT> - cargar una pantalla de texto desde el disquete/casete * <TT>GRAPHICS</TT> - devolver el valor a la dirección de base del [[MOS Technology VIC-II|VIC-II]], a $D000 === Gestión del sonido y del chip SID === * <TT>MUSIC</TT> - escribir una música y sus efectos audios a partir de una lista de caracteres * <TT>PLAY</TT> - reproducir la música escrita con <TT>MUSIC</TT> * <TT>VOL</TT> - determinar el volumen principal * <TT>WAVE</TT> - definir la forma de onda para un canal definido (voz) * <TT>ENVELOPE</TT> - definir el [[ADSR]] para un canal definido (voz) * <TT>SOUND</TT> - devolver el valor a la dirección de base del [[MOS Technology SID|SID]], a $D400 === Gestión del teclado === * <TT>FETCH</TT> - definir el tipo y la cantidad de caracteres entrados por el teclado * <TT>INKEY</TT> - averiguar que tecla de función ha sido presionada * <TT>ON KEY</TT> - averiguar si una tecla en particular ha sido presionada y ejecutar un salto de programación si es cierto * <TT>DISABLE</TT> - desactivar el comando <TT>ON KEY</TT> * <TT>RESUME</TT> - reactivar el comando <TT>ON KEY</TT> === Gestión de periféricos de entrada === * <TT>JOY</TT> - informar de la posición del [[joystick]] * <TT>POT</TT> - informar de la posición del [[Paddle (controlador de videojuegos)|paddle]] * <TT>PENX</TT> - informar de la posición horizontal del [[lápiz óptico]] * <TT>PENY</TT> - informar de la posición vertical del [[lápiz óptico]] === Gestión de errores === * <TT>ON ERROR</TT> - definir una rutina de detección de un error * <TT>OUT</TT> - comando para salir de la rutina de detección de un error * <TT>NO ERROR</TT> - desactivar el comando <TT>ON ERROR</TT> y devolver la gestión de errores al BASIC === Gestión de la [[disquetera]] === * <TT>DIR</TT> - mostrar parte o todo el directorio de un [[disquete]] * <TT>DISK</TT> - enviar una instrucción de acceso a la disquetera === Gestión de la [[impresora]] === * <TT>HRDCPY</TT> - imprimir una pantalla de texto * <TT>COPY</TT> - imprimir una pantalla de gráfico === Gestión de cadena de caracteres === * <TT>INSERT</TT> - insertar una [[cadena de caracteres]] en otra * <TT>INST</TT> - similar a <TT>INSERT</TT>, pero sobrescribir en vez de insertar * <TT>PLACE</TT> - buscar una cadena de caracteres dentro de otra * <TT>DUP</TT> - copiar una cadena de caracteres "n" veces === Gestión de texto === * <TT>AT</TT> - escribir un texto en una posición específica en la pantalla * <TT>CENTER</TT> - centrar un texto en su línea * <TT>USE</TT> - definir un formato de números * <TT>LIN</TT> - determinar el número de la línea del cursor === Instrucciones matemáticas === * <TT>MOD</TT> - ejecutar una división y mostrar el resto * <TT>DIV</TT> - ejecutar una división y mostrar el cociente * <TT>FRAC</TT> - mostrar la parte fraccional de un número * <TT>EXOR</TT> - ejecutar un «o exclusivo» entre dos números === Ayuda a la programación === * <TT>AUTO</TT> - generar automáticamente los números de las líneas de un programa BASIC * <TT>RENUMBER</TT> - volver a numerar los números de las líneas de un programa BASIC (pero no corrige los números de <TT>GOTO</TT>/<TT>GOSUB</TT>) * <TT>OLD</TT> - restaurar un programa BASIC accidentalmente borrado par la instrucción <TT>NEW</TT> * <TT>KEY</TT> - asignar una(s) instrucción(es) Simons' Basic [[macro]] a una [[tecla de función]] * <TT>DISPLAY</TT> - listar todas las teclas de función y sus macros definidas por la instrucción <TT>KEY</TT> * <TT>PAUSE</TT> - suspender la ejecución de un programa durante el tiempo especificado * <TT>CGOTO</TT> - equivalente al <TT>GOTO</TT>, pero acepta expresiones calculadas * <TT>RESET</TT> - mover el puntero del comando <TT>DATA</TT> a una línea específica * <TT>MERGE</TT> - unir un programa BASIC de un disquete/casete, con el programa BASIC en memoria * <TT>PAGE</TT> - mostrar el código del programa BASIC, página por página * <TT>OPTION</TT> - poner en evidencia las instrucciones específicas Simons' Basic cuando se usa <TT>LIST</TT> * <TT>DELAY</TT> - modificar la velocidad del desfile vertical del comando <TT>LIST</TT> * <TT>FIND</TT> - buscar una cadena de caracteres en un programa BASIC * <TT>TRACE</TT> - mostrar la línea del programa cuando este es ejecutado * <TT>RETRACE</TT> - continuar el <TT>TRACE</TT> donde el programa ha sido interrumpido * <TT>DUMP</TT> - mostrar todos los valores de variables, excepto las matrices de variables * <TT>COLD</TT> - [[reset]] del [[Commodore 64]], para volver a la página de inicio de Simons' Basic === Instrucciones de seguridad === * <TT>DISAPA</TT> - indicar la(s) línea(s) del programa BASIC que queremos ocultar * <TT>SECURE</TT> - ocultar todas las líneas especificadas con <TT>DISAPA</TT> para que no aparezcan cuando se usa <TT>LIST</TT> === Instrucciones para la [[programación estructurada]] === * <TT>IF...ELSE...THEN</TT> - similar al <TT>IF</TT>/<TT>THEN</TT> del BASIC pero con la condición añadida <TT>ELSE</TT> (SI NO) * <TT>REPEAT...UNTIL</TT> - similar al <TT>FOR...NEXT</TT> pero en vez de repetir un número de veces, se usa una condición * <TT>RCOMP</TT> - ejecutar de nuevo la última condición <TT>IF...ELSE...THEN</TT> * <TT>LOOP...EXIT IF</TT> - ejecutar un bucle hasta que la condición <TT>EXIT IF</TT> sea cierta * <TT>END LOOP</TT> - si la condición es cierta, salir del bucle * <TT>PROC</TT> - inicio de la creación de una subrutina * <TT>END PROC</TT> - fin de la creación de una subrutina * <TT>CALL</TT> - saltar a la [[subrutina]] definida por <TT>PROC</TT>/<TT>END PROC</TT> (similar al GOTO pero con un nombre de subrutina) * <TT>EXEC</TT> - saltar a la subrutina definida por <TT>PROC</TT>/<TT>END PROC</TT> y volver (similar al GOSUB pero con un nombre de subrutina) * <TT>LOCAL</TT> - redefinir (temporalmente) una(s) variable(s) usada(s) en una subrutina * <TT>GLOBAL</TT> - devolver los valores de la(s) variable(s) previo al uso del comando <TT>LOCAL</TT> === Otras funcionalidades === * <TT>$</TT> y <TT>%</TT> son igualmente considerados como instrucciones, para un total de 114 nuevas instrucciones BASIC === Curiosidad === Las instrucciones <TT>GRAPHICS</TT>, <TT>SOUND</TT> y <TT>LIN</TT> no son descritas en el manual del Simons' Basic. == Referencias == {{listaref}} == Enlaces externos == {{Traducido ref|fr|Simons' BASIC|66006003|total}} {{Control de autoridades}} [[Categoría:Software de Commodore]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Simons' Basic
»
Añadir idiomas
Añadir tema