fbpx
Wikipedia

Simons' Basic

El Simons' Basic[1]​ es una extensión del 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 como cartucho de extensión. También se distribuyó oficiosamente en forma de archivo ejecutable (en disquete por ejemplo).

El cartucho Simons' Basic comercializado por Commodore

Características

El 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 sprites, los gráficos de alta resolución y multicolor, el chip 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

  • MOB SET - definir los atributos de un sprite
  • MMOB - posición del sprite en la pantalla
  • RLOCMOB - mover un sprite de un lugar a otro
  • CMOB - definir los dos colores principales para los sprites multicolores
  • MOB OFF - desactivar un sprite
  • DETECT - inicializar la detección de colisión del sprite
  • CHECK - verificar si hay colisión de un sprite
  • @ - dibujar un sprite en una cuadrícula usando unas letras específicas del teclado
  • DESIGN - asignar espacio memoria para la creación de un sprite

Gestión de gráficos alta resolución

  • HIRES - inicializar un modo gráfico alta resolución
  • MULTI - inicializar un modo gráfico multicolor
  • NRM - volver en modo texto (baja resolución)
  • LOW COL - definir el color del punto/pixel
  • HI COL - re-inicializar el color del punto/pixel a su valor por defecto
  • PLOT - dibujar un punto/pixel
  • LINE - dibujar una línea
  • CIRCLE - dibujar un círculo
  • ARC - dibujar un arco
  • ANGL - dibujar un rayo de círculo
  • PAINT - rellenar una superficie
  • REC - dibujar un rectángulo vació
  • BLOCK - dibujar un rectángulo lleno
  • DRAW - dibujar una figura geométrica
  • ROT - determinar la rotación y el zum para la instrucción DRAW
  • CHAR - escribir un carácter en una pantalla de alta resolución
  • TEXT - escribir un texto en una pantalla de alta resolución
  • TEST - determinar si en una posición definida hay un punto/pixel dibujado o no

Otros comandos gráficos

  • COLOUR - atribuir el color de fondo y del borde de la pantalla
  • CSET - seleccionar un conjunto de caracteres (tipo de letra)
  • MEM - copiar el conjunto de caracteres (tipo de letra) de la ROM a la RAM
  • BCKGNDS - cambiar el color de fondo de un carácter
  • FLASH - hacer parpadear la pantalla
  • OFF - parar el parpadeo de la pantalla del comando FLASH
  • BFLASH - hacer parpadear el borde de la pantalla
  • FCHR - rellenar una parte de la pantalla con un carácter específico
  • FCOL - cambiar el color del carácter usado en el comando FCHR
  • FILL - una combinación de los comandos FCHR y FCOL
  • MOVE - copiar una parte/zona de la pantalla
  • INV - invertir una parte/zona de la pantalla
  • LEFT - mover la pantalla a la izquierda
  • RIGHT - mover la pantalla a la derecha
  • UP - mover la pantalla arriba
  • DOWN - mover la pantalla abajo
  • SCRSV - guardar una pantalla de texto en el disquete/casete
  • SCRLD - cargar una pantalla de texto desde el disquete/casete
  • GRAPHICS - devolver el valor a la dirección de base del VIC-II, a $D000

Gestión del sonido y del chip SID

  • MUSIC - escribir una música y sus efectos audios a partir de un lista de caracteres
  • PLAY - reproducir la música escrita con MUSIC
  • VOL - determinar el volumen principal
  • WAVE - definir la forma de onda para un canal definido (voz)
  • ENVELOPE - definir el ADSR para un canal definido (voz)
  • SOUND - devolver el valor a la dirección de base del SID, a $D400

Gestión del teclado

  • FETCH - definir el tipo y la cantidad de caracteres entrados por el teclado
  • INKEY - averiguar que tecla de función ha sido presionada
  • ON KEY - averiguar si una tecla en particular ha sido presionada y ejecutar un salto de programación si es cierto
  • DISABLE - desactivar el comando ON KEY
  • RESUME - reactivar el comando ON KEY

Gestión de periféricos de entrada

Gestión de errores

  • ON ERROR - definir una rutina de detección de un error
  • OUT - comando para salir de la rutina de detección de un error
  • NO ERROR - desactivar el comando ON ERROR y devolver la gestión de errores al BASIC

Gestión de la disquetera

  • DIR - mostrar parte o todo el directorio de un disquete
  • DISK - enviar una instrucción de acceso a la disquetera

Gestión de la impresora

  • HRDCPY - imprimir una pantalla de texto
  • COPY - imprimir una pantalla de gráfico

Gestión de cadena de caracteres

  • INSERT - insertar una cadena de caracteres en otra
  • INST - similar a INSERT, pero sobrescribir en vez de insertar
  • PLACE - buscar una cadena de caracteres dentro de otra
  • DUP - copiar una cadena de caracteres "n" veces

Gestión de texto

  • AT - escribir un texto en una posición específica en la pantalla
  • CENTER - centrar un texto en su línea
  • USE - definir un formato de números
  • LIN - determinar el número de la línea del cursor

Instrucciones matemáticas

  • MOD - ejecutar una división y mostrar el resto
  • DIV - ejecutar una división y mostrar el cociente
  • FRAC - mostrar la parte fraccional de un número
  • EXOR - ejecutar un «o exclusivo» entre dos números

Ayuda a la programación

  • AUTO - generar automáticamente los números de las líneas de un programa BASIC
  • RENUMBER - volver a numerar los números de las líneas de un programa BASIC (pero no corrige los números de GOTO/GOSUB)
  • OLD - restaurar un programa BASIC accidentalmente borrado par la instrucción NEW
  • KEY - asignar una(s) instrucción(es) Simons' Basic macro a una tecla de función
  • DISPLAY - listar todas las teclas de función y sus macros definidas por la instrucción KEY
  • PAUSE - suspender la ejecución de un programa durante el tiempo especificado
  • CGOTO - equivalente al GOTO, pero acepta expresiones calculadas
  • RESET - mover el puntero del comando DATA a una línea específica
  • MERGE - unir un programa BASIC de un disquete/casete, con el programa BASIC en memoria
  • PAGE - mostrar el código del programa BASIC, página por página
  • OPTION - poner en evidencia las instrucciones específicas Simons' Basic cuando se usa LIST
  • DELAY - modificar la velocidad del desfile vertical del comando LIST
  • FIND - buscar una cadena de caracteres en un programa BASIC
  • TRACE - mostrar la línea del programa cuando este es ejecutado
  • RETRACE - continuar el TRACE donde el programa ha sido interrumpido
  • DUMP - mostrar todos los valores de variables, excepto las matrices de variables
  • COLD - reset del Commodore 64, para volver a la página de inicio de Simons' Basic

Instrucciones de seguridad

  • DISAPA - indicar la(s) línea(s) del programa BASIC que queremos ocultar
  • SECURE - ocultar todas las líneas especificadas con DISAPA para que no aparezcan cuando se usa LIST

Instrucciones para la programación estructurada

  • IF...ELSE...THEN - similar al IF/THEN del BASIC pero con la condición añadida ELSE (SI NO)
  • REPEAT...UNTIL - similar al FOR...NEXT pero en vez de repetir un número de veces, se usa una condición
  • RCOMP - ejecutar de nuevo la última condición IF...ELSE...THEN
  • LOOP...EXIT IF - ejecutar un bucle hasta que la condición EXIT IF sea cierta
  • END LOOP - si la condición es cierta, salir del bucle
  • PROC - inicio de la creación de una subrutina
  • END PROC - fin de la creación de una subrutina
  • CALL - saltar a la subrutina definida por PROC/END PROC (similar al GOTO pero con un nombre de subrutina)
  • EXEC - saltar a la subrutina definida por PROC/END PROC y volver (similar al GOSUB pero con un nombre de subrutina)
  • LOCAL - redefinir (temporalmente) una(s) variable(s) usada(s) en una subrutina
  • GLOBAL - devolver los valores de la(s) variable(s) previo al uso del comando LOCAL

Otras funcionalidades

  • $ y % son igualmente considerados como instrucciones, para un total de 114 nuevas instrucciones BASIC

Curiosidad

Las instrucciones GRAPHICS, SOUND y LIN no son descritas en el manual del Simons' Basic.

Referencias

  1. Simons' Basic User Manual (Published by Commodore)

Enlaces externos

  •   Datos: Q568887
  •   Multimedia: Simons' BASIC / Q568887

simons, basic, extensión, commodore, basic, para, commodore, escrito, 1983, joven, programador, inglés, años, david, simons, comercializado, commodore, como, cartucho, extensión, también, distribuyó, oficiosamente, forma, archivo, ejecutable, disquete, ejemplo. El Simons Basic 1 es una extension del Commodore BASIC 2 0 para el Commodore 64 Escrito en 1983 por un joven programador ingles de 16 anos David Simons fue comercializado por Commodore como cartucho de extension Tambien se distribuyo oficiosamente en forma de archivo ejecutable en disquete por ejemplo El cartucho Simons Basic comercializado por Commodore Indice 1 Caracteristicas 2 Las instrucciones 2 1 Gestion de sprites 2 2 Gestion de graficos alta resolucion 2 3 Otros comandos graficos 2 4 Gestion del sonido y del chip SID 2 5 Gestion del teclado 2 6 Gestion de perifericos de entrada 2 7 Gestion de errores 2 8 Gestion de la disquetera 2 9 Gestion de la impresora 2 10 Gestion de cadena de caracteres 2 11 Gestion de texto 2 12 Instrucciones matematicas 2 13 Ayuda a la programacion 2 14 Instrucciones de seguridad 2 15 Instrucciones para la programacion estructurada 2 16 Otras funcionalidades 2 17 Curiosidad 3 Referencias 4 Enlaces externosCaracteristicas EditarEl Commodore BASIC 2 0 recibe 114 nuevas instrucciones para aprovechar el potencial multimedia del Commodore 64 mas simplemente El conjunto de instrucciones extendido anade comandos que facilita el manejo de los sprites los graficos de alta resolucion y multicolor el chip SID para el sonido Simons Basic tambien propone instrucciones relacionadas con la programacion estructurada Ademas se podia usar los prefijos para los numeros hexadecimales y para los numeros binarios Las instrucciones EditarGestion de sprites Editar MOB SET definir los atributos de un sprite MMOB posicion del sprite en la pantalla RLOCMOB mover un sprite de un lugar a otro CMOB definir los dos colores principales para los sprites multicolores MOB OFF desactivar un sprite DETECT inicializar la deteccion de colision del sprite CHECK verificar si hay colision de un sprite dibujar un sprite en una cuadricula usando unas letras especificas del teclado DESIGN asignar espacio memoria para la creacion de un spriteGestion de graficos alta resolucion Editar HIRES inicializar un modo grafico alta resolucion MULTI inicializar un modo grafico multicolor NRM volver en modo texto baja resolucion LOW COL definir el color del punto pixel HI COL re inicializar el color del punto pixel a su valor por defecto PLOT dibujar un punto pixel LINE dibujar una linea CIRCLE dibujar un circulo ARC dibujar un arco ANGL dibujar un rayo de circulo PAINT rellenar una superficie REC dibujar un rectangulo vacio BLOCK dibujar un rectangulo lleno DRAW dibujar una figura geometrica ROT determinar la rotacion y el zum para la instruccion DRAW CHAR escribir un caracter en una pantalla de alta resolucion TEXT escribir un texto en una pantalla de alta resolucion TEST determinar si en una posicion definida hay un punto pixel dibujado o noOtros comandos graficos Editar COLOUR atribuir el color de fondo y del borde de la pantalla CSET seleccionar un conjunto de caracteres tipo de letra MEM copiar el conjunto de caracteres tipo de letra de la ROM a la RAM BCKGNDS cambiar el color de fondo de un caracter FLASH hacer parpadear la pantalla OFF parar el parpadeo de la pantalla del comando FLASH BFLASH hacer parpadear el borde de la pantalla FCHR rellenar una parte de la pantalla con un caracter especifico FCOL cambiar el color del caracter usado en el comando FCHR FILL una combinacion de los comandos FCHR y FCOL MOVE copiar una parte zona de la pantalla INV invertir una parte zona de la pantalla LEFT mover la pantalla a la izquierda RIGHT mover la pantalla a la derecha UP mover la pantalla arriba DOWN mover la pantalla abajo SCRSV guardar una pantalla de texto en el disquete casete SCRLD cargar una pantalla de texto desde el disquete casete GRAPHICS devolver el valor a la direccion de base del VIC II a D000Gestion del sonido y del chip SID Editar MUSIC escribir una musica y sus efectos audios a partir de un lista de caracteres PLAY reproducir la musica escrita con MUSIC VOL determinar el volumen principal WAVE definir la forma de onda para un canal definido voz ENVELOPE definir el ADSR para un canal definido voz SOUND devolver el valor a la direccion de base del SID a D400Gestion del teclado Editar FETCH definir el tipo y la cantidad de caracteres entrados por el teclado INKEY averiguar que tecla de funcion ha sido presionada ON KEY averiguar si una tecla en particular ha sido presionada y ejecutar un salto de programacion si es cierto DISABLE desactivar el comando ON KEY RESUME reactivar el comando ON KEYGestion de perifericos de entrada Editar JOY informar de la posicion del joystick POT informar de la posicion del paddle PENX informar de la posicion horizontal del lapiz optico PENY informar de la posicion vertical del lapiz opticoGestion de errores Editar ON ERROR definir una rutina de deteccion de un error OUT comando para salir de la rutina de deteccion de un error NO ERROR desactivar el comando ON ERROR y devolver la gestion de errores al BASICGestion de la disquetera Editar DIR mostrar parte o todo el directorio de un disquete DISK enviar una instruccion de acceso a la disqueteraGestion de la impresora Editar HRDCPY imprimir una pantalla de texto COPY imprimir una pantalla de graficoGestion de cadena de caracteres Editar INSERT insertar una cadena de caracteres en otra INST similar a INSERT pero sobrescribir en vez de insertar PLACE buscar una cadena de caracteres dentro de otra DUP copiar una cadena de caracteres n vecesGestion de texto Editar AT escribir un texto en una posicion especifica en la pantalla CENTER centrar un texto en su linea USE definir un formato de numeros LIN determinar el numero de la linea del cursorInstrucciones matematicas Editar MOD ejecutar una division y mostrar el resto DIV ejecutar una division y mostrar el cociente FRAC mostrar la parte fraccional de un numero EXOR ejecutar un o exclusivo entre dos numerosAyuda a la programacion Editar AUTO generar automaticamente los numeros de las lineas de un programa BASIC RENUMBER volver a numerar los numeros de las lineas de un programa BASIC pero no corrige los numeros de GOTO GOSUB OLD restaurar un programa BASIC accidentalmente borrado par la instruccion NEW KEY asignar una s instruccion es Simons Basic macro a una tecla de funcion DISPLAY listar todas las teclas de funcion y sus macros definidas por la instruccion KEY PAUSE suspender la ejecucion de un programa durante el tiempo especificado CGOTO equivalente al GOTO pero acepta expresiones calculadas RESET mover el puntero del comando DATA a una linea especifica MERGE unir un programa BASIC de un disquete casete con el programa BASIC en memoria PAGE mostrar el codigo del programa BASIC pagina por pagina OPTION poner en evidencia las instrucciones especificas Simons Basic cuando se usa LIST DELAY modificar la velocidad del desfile vertical del comando LIST FIND buscar una cadena de caracteres en un programa BASIC TRACE mostrar la linea del programa cuando este es ejecutado RETRACE continuar el TRACE donde el programa ha sido interrumpido DUMP mostrar todos los valores de variables excepto las matrices de variables COLD reset del Commodore 64 para volver a la pagina de inicio de Simons BasicInstrucciones de seguridad Editar DISAPA indicar la s linea s del programa BASIC que queremos ocultar SECURE ocultar todas las lineas especificadas con DISAPA para que no aparezcan cuando se usa LISTInstrucciones para la programacion estructurada Editar IF ELSE THEN similar al IF THEN del BASIC pero con la condicion anadida ELSE SI NO REPEAT UNTIL similar al FOR NEXT pero en vez de repetir un numero de veces se usa una condicion RCOMP ejecutar de nuevo la ultima condicion IF ELSE THEN LOOP EXIT IF ejecutar un bucle hasta que la condicion EXIT IF sea cierta END LOOP si la condicion es cierta salir del bucle PROC inicio de la creacion de una subrutina END PROC fin de la creacion de una subrutina CALL saltar a la subrutina definida por PROC END PROC similar al GOTO pero con un nombre de subrutina EXEC saltar a la subrutina definida por PROC END PROC y volver similar al GOSUB pero con un nombre de subrutina LOCAL redefinir temporalmente una s variable s usada s en una subrutina GLOBAL devolver los valores de la s variable s previo al uso del comando LOCALOtras funcionalidades Editar y son igualmente considerados como instrucciones para un total de 114 nuevas instrucciones BASICCuriosidad Editar Las instrucciones GRAPHICS SOUND y LIN no son descritas en el manual del Simons Basic Referencias Editar Simons Basic User Manual Published by Commodore Enlaces externos EditarEsta obra contiene una traduccion total derivada de Simons BASIC de Wikipedia en frances concretamente de esta version publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported Datos Q568887 Multimedia Simons BASIC Q568887 Obtenido de https es wikipedia org w index php title Simons 27 Basic amp oldid 140914881, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos