Versão 0.21 | Veja também: escape de bolhas 2K ∘ Situ-Sol
NOTA: Tendo atingido a maioria de seus objetivos, o projeto sessenta pode não passar por muito mais desenvolvimento daqui para frente. Veja instruções futuras para Sixtypical para obter mais informações.
Sixtypical traz análise estática avançada para o 6502.
Sixtypical é uma linguagem de programação de baixo nível que suporta alguns métodos avançados de análise estática. Seu compilador de referência pode gerar código eficiente para várias plataformas de destino baseadas em 6502, enquanto pegam muitos erros comuns em tempo de compilação, reduzindo o tempo gasto na depuração.
Verifique se você tem Python (2.7 ou 3.5+) instalado. Em seguida, clone este repositório e coloque seu diretório bin no caminho de pesquisa executável. Então você pode correr:
sixtypical
Se você tiver o suíte do vice -emulador instalado, você pode executar
sixtypical --run-on=x64 eg/c64/hearts.60p
e ele compilará o coração.60p Código -fonte e o iniciará automaticamente no emulador x64 , e você deverá ver:

Você pode tentar sixtypical --run-on em outras fontes na árvore do diretório eg , que contém exemplos mais extensos, incluindo um jogo inteiro (programa semelhante a um); Consulte EG/README.MD para uma listagem.
Sixtypical pretende preencher este nicho:
Sixtypical fornece ao programador um regime de codificação a par da linguagem de montagem em termos de tamanho e prática, mas também pode capturar muitos erros ridículos bobos no tempo de compilação.
Muitas das instruções primitivas da Sixtypical se assemelham às da tecnologia MOS 6502 - na verdade, pretende ser compilado ao código da máquina 6502. No entanto, ele também fornece algumas operações de "nível superior" baseadas em idiomas comuns de programação em linguagem de máquina de 8 bits, incluindo
Embora um programador ache essas construções convenientes, sua inclusão no idioma é principalmente para facilitar a análise dos programas.
A linguagem sessenta define um sistema de efeitos, e o compilador de referência interpreta abstrivelmente o programa de entrada na maneira de digitar o fluxo para confirmar que ele não o viola. Isso pode detectar erros comuns, como
Ao contrário da maioria dos idiomas convencionais, em Sixtypical, o programador deve gerenciar a memória de maneira muito explicitamente, selecionando os registros e os locais da memória para armazenar cada peça de dados. Portanto, diferentemente de um compilador C como CC65, um compilador sixtypical não precisa gerar código para lidar com convenções de chamada ou alocação de registro. Isso resulta em programas menores (e, portanto, mais rápidos).
A demo principal, um minijogo para o Commodore 64, compila com um arquivo .PRG de 930 -Byte.
A implementação de referência pode analisar e compilar programas de sesseba para 6502 formatos de código de máquina, que podem ser executados em várias arquiteturas de 8 bits baseadas em 6502:
Por exemplo, programas para cada um deles, consulte EG/README.MD.
Sixtypical é definido por um documento de especificação, um conjunto de casos de teste e uma implementação de referência escrita no Python.
Existem mais de 400 casos de teste, escritos em formato Falderal para legibilidade. Para executar os testes de compilação, o DCC6502 precisa ser instalado.
sixtypical