Versión 0.21 | Ver también: Bubble Escape 2K ∘ Situ-Sol
Nota: Habiendo cumplido con la mayoría de sus objetivos, el proyecto sixtepical podría no sufrir mucho más desarrollo en el futuro. Vea las instrucciones futuras para sixtipical para obtener más información.
Sixtypical trae un análisis estático avanzado al 6502.
Sixtypical es un lenguaje de programación de bajo nivel que admite algunos métodos avanzados de análisis estático. Su compilador de referencia puede generar un código eficiente para varias plataformas de objetivos basadas en 6502, al tiempo que atrapa muchos errores comunes en el tiempo de compilación, reduciendo el tiempo dedicado a la depuración.
Asegúrese de tener instalado Python (2.7 o 3.5+). Luego clone este repositorio y coloque su directorio bin en su ruta de búsqueda ejecutable. Entonces puedes ejecutar:
sixtypical
Si tiene instalada la suite de vice emulador, puede ejecutar
sixtypical --run-on=x64 eg/c64/hearts.60p
y compilará el corazón.60p código fuente y lo iniciará automáticamente en el emulador x64 , y debería ver:

Puede probar sixtypical --run-on en otras fuentes en el árbol de directorio eg , que contiene ejemplos más extensos, incluido un juego completo (programa similar a un programa); Ver EG/ReadMe.md para un listado.
SIEXTYPICAL tiene como objetivo llenar este nicho:
Sixtypical le da al programador un régimen de codificación a la par con el lenguaje de ensamblaje en términos de tamaño y mano, pero también capaz de captar muchos errores tontos ridículos en el momento de la compilación.
Muchas de las instrucciones primitivas de Sixtypics se asemejan a las de la tecnología MOS 6502, de hecho, está destinada a ser compilada a un código de máquina 6502. Sin embargo, también proporciona algunas operaciones de "nivel superior" basadas en modismos comunes de programación de máquinas de 8 bits, incluidas
Mientras que un programador encontrará que estas construcciones son convenientes, su inclusión en el lenguaje es principalmente para hacer que los programas sean más fáciles de analizar.
El lenguaje Sixtipical define un sistema de efectos, y el compilador de referencia interpreta de manera abstracta el programa de entrada en la forma de tipificación de flujo para confirmar que no lo viola. Esto puede detectar errores comunes como
A diferencia de la mayoría de los lenguajes convencionales, en sixtipical, el programador debe administrar la memoria de manera muy explícita, seleccionando los registros y las ubicaciones de la memoria para almacenar cada pieza de datos. Por lo tanto, a diferencia de un compilador C como CC65, un compilador sixtepical no necesita generar código para manejar las convenciones de llamadas o la asignación de registros. Esto da como resultado programas más pequeños (y, por lo tanto, más rápido).
La demostración insignia, un minijuego para el Commodore 64, se compila a un archivo .PRG de 930 byte.
La implementación de referencia puede analizar y compilar programas sixtipicales a 6502 formatos de código de máquina que pueden ejecutarse en varias arquitecturas de 8 bits basadas en 6502:
Por ejemplo, programas para cada uno de estos, ver EG/ReadMe.md.
Sixtypical se define mediante un documento de especificación, un conjunto de casos de prueba y una implementación de referencia escrita en Python.
Hay más de 400 casos de prueba, escritos en formato falderal para legibilidad. Para ejecutar las pruebas de compilación, DCC6502 debe instalarse.
sixtypical