Versi 0.21 | Lihat juga: Bubble Escape 2K ∘ Situ-Sol
CATATAN: Setelah memenuhi sebagian besar tujuannya, proyek Sixtypical mungkin tidak mengalami lebih banyak pengembangan ke depan. Lihat Arah Masa Depan untuk Sixtypical untuk informasi lebih lanjut.
Sixtypical membawa analisis statis canggih ke 6502.
Sixtypical adalah bahasa pemrograman tingkat rendah yang mendukung beberapa metode analisis statis canggih. Kompiler rujukannya dapat menghasilkan kode yang efisien untuk beberapa platform target berbasis 6502 sambil menangkap banyak kesalahan umum pada waktu kompilasi, mengurangi waktu yang dihabiskan dalam debugging.
Pastikan Anda menginstal Python (2.7 atau 3.5+). Kemudian klon repositori ini dan letakkan direktori bin di jalur pencarian yang dapat dieksekusi Anda. Kemudian Anda dapat menjalankan:
sixtypical
Jika Anda memasang wakil emulator suite, Anda dapat menjalankan
sixtypical --run-on=x64 eg/c64/hearts.60p
dan itu akan mengkompilasi kode sumber jantung.60p dan secara otomatis memulainya di emulator x64 , dan Anda harus melihat:

Anda dapat mencoba sixtypical --run-on pada sumber lain di pohon direktori eg , yang berisi contoh yang lebih luas, termasuk seluruh permainan (program seperti); Lihat misalnya/readme.md untuk daftar.
Sixtypical bertujuan untuk mengisi ceruk ini:
Sixtypical memberi programmer rejimen pengkodean setara dengan bahasa perakitan dalam hal ukuran dan tangan, tetapi juga dapat menangkap banyak kesalahan konyol konyol pada waktu kompilasi.
Banyak instruksi primitif Sixtypical menyerupai orang -orang dari MOS Technology 6502 - sebenarnya dimaksudkan untuk dikompilasi ke 6502 kode mesin. Namun, ini juga menyediakan beberapa operasi "tingkat lebih tinggi" berdasarkan idiom pemrograman berbahasa mesin 8-bit yang umum, termasuk
Sementara seorang programmer akan menemukan konstruksi ini nyaman, inklusi mereka dalam bahasa terutama untuk membuat program lebih mudah dianalisis.
Bahasa Sixtypical mendefinisikan sistem efek, dan kompiler referensi secara abstrak menginterpretasikan program input dengan cara pengetikan aliran untuk mengkonfirmasi bahwa itu tidak melanggarnya. Ini dapat mendeteksi kesalahan umum seperti
Tidak seperti kebanyakan bahasa konvensional, dalam enam tipikal programmer harus mengelola memori dengan sangat eksplisit, memilih register dan lokasi memori untuk menyimpan setiap bagian data. Jadi, tidak seperti kompiler C seperti CC65, kompiler Sixtypical tidak perlu menghasilkan kode untuk menangani konvensi panggilan atau mendaftarkan alokasi. Ini menghasilkan program yang lebih kecil (dan dengan demikian lebih cepat).
Demo andalan, minigame untuk Commodore 64, dikompilasi ke file .PRG 930 -byte.
Implementasi referensi dapat menganalisis dan mengkompilasi program Sixtypical untuk 6502 format kode mesin yang dapat berjalan pada beberapa arsitektur 8-bit berbasis 6502:
Misalnya program untuk masing -masing, lihat misalnya/readme.md.
Sixtypical didefinisikan oleh dokumen spesifikasi, serangkaian kasus uji, dan implementasi referensi yang ditulis dalam Python.
Ada lebih dari 400 kasus uji, ditulis dalam format falderi untuk keterbacaan. Untuk menjalankan tes untuk kompilasi, DCC6502 perlu dipasang.
sixtypical