Z88DK adalah kumpulan alat pengembangan perangkat lunak yang menargetkan mesin keluarga 8080 dan z80. Hal ini memungkinkan pengembangan program dalam C, bahasa assembly atau campuran keduanya. Apa yang membuat z88dk unik adalah kemudahan penggunaannya, dukungan bawaan untuk banyak mesin z80 dan serangkaian subrutin perpustakaan bahasa rakitan yang luas yang mengimplementasikan standar dan ekstensi C.
Ada beberapa cara untuk menginstal z88dk.
git clone --recursive https://github.com/z88dk/z88dk.git
. Untuk menambahkan submodul ke klon yang sudah ada, gunakan git submodule update --init --recursive
. Untuk membangun, instruksi berikut harus diikuti. Bagian depan z88dk disebut zcc
, inilah yang harus Anda panggil jika ingin melakukan kompilasi apa pun. Itu dapat memproses file C (.c), file C yang telah diproses sebelumnya (.i), file C yang dikompilasi (.asm), file kompilasi yang dioptimalkan (.opt) atau file rakitan (.o), kombinasi apa pun darinya dapat dicampur bersama dan proses yang relevan akan dilakukan pada mereka. Pemrosesan daftar file juga didukung, dengan pemrosesan setiap file dilakukan secara bergantian (yaitu praproses, kompilasi, optimalkan, rakitan), dan pada akhirnya semua file yang diproses dapat dihubungkan ke dalam satu file executable yang diformat dengan benar jika diinginkan.
Biasanya pengguna baru (atau platform yang sudah mapan) tidak perlu menggunakan alat lain satu per satu.
Banyak alat yang memiliki awalan z88dk-
untuk membedakannya dari alat dari paket lain yang mungkin diinstal dengan nama yang sama. Dokumentasi umumnya menghilangkan awalan saat merujuknya.
zcc
adalah ujung depan rantai alat. zcc dapat menghasilkan biner keluaran dari kumpulan file sumber masukan mana pun.z88dk-sccz80
adalah kompiler c asli z88dk. sccz80 berasal dari c kecil tetapi telah mengalami banyak pengembangan hingga hampir memenuhi persyaratan c90.z88dk-zsdcc
adalah penyesuaian z88dk pada kompiler sdcc. Patch kami membuat sdcc kompatibel dengan toolchain z88dk, memberinya akses ke pustaka bahasa assembly z88dk yang luas dan crt siap pakai, mengatasi bug pembuatan kode yang ada dan meningkatkan kode yang dihasilkan sdcc.z88dk-z80asm
(jangan bingung dengan beberapa proyek eksternal yang disebut z80asm) adalah bagian implementasi assembler/linker/pustakawan berfitur lengkap.z88dk-z80nm
adalah pengarsip pendamping z80asm. Itu dapat memberikan daftar fungsi atau data yang dikodekan dalam objek atau file perpustakaan.z88dk-appmake
memproses binari mentah yang dihasilkan oleh toolkit menjadi bentuk yang sesuai untuk mesin target tertentu. Misalnya, dapat menghasilkan file intel hex, kaset, ROM, dll.z88dk-ticks
adalah emulator baris perintah yang dapat digunakan untuk mengukur kecepatan eksekusi fragmen kode. Ticks menyertakan debugger dan disassembler.z88dk-gdb
menyediakan antarmuka debugger dari tick dan terhubung ke server gdb untuk mengizinkan proses debug perangkat lunak baris demi baris di emulator atau pada perangkat keras sebenarnya.z88dk-dis
adalah disassembler baris perintah untuk 8080, 8085, GBZ80, Z80, Z180, Z80N, EZ80, R800 dan Rabbit 2000/3000. Ia juga dapat membaca file peta yang dihasilkan oleh z80asm untuk memberikan keluaran yang lebih simbolis.z88dk-lib
adalah penginstal untuk perpustakaan pihak ketiga. Ia mengelola instalasi, penghapusan dan daftar perpustakaan yang tersedia.z88dk-zx0
dan z88dk-zx7
adalah alat kompresi data sisi PC dengan fungsi dekompresi pendamping di perpustakaan z80.z88dk-dzx0
dan z88dk-dzx7
adalah mitra dekompresor sisi PC untuk z88dk-zx0 dan z88dk-zx7.Alat-alat ini biasanya tidak digunakan secara langsung oleh pengguna:
m4
bertindak sebagai praprosesor makro z88dk dan secara opsional dapat memproses file sebelum praprosesor c atau assembler.z88dk-ucpp
adalah preprosesor c yang dipanggil untuk sccz80 dan untuk zsdcc.z88dk-zpragma
digunakan oleh rantai alat untuk memproses pragma yang tertanam dalam sumber c.z88dk-copt
adalah mesin ekspresi reguler yang digunakan sebagai pengoptimal lubang intip untuk sccz80 dan sebagai alat pasca-pemrosesan untuk sccz80 dan zsdcc. Pustaka bahasa rakitan yang disediakan oleh z88dk memberikan keunggulan kinerja dibandingkan kompiler z80 lainnya. Untuk detailnya silakan lihat bagian Tolok Ukur di Wiki.
CMake dapat digunakan untuk membangun proyek Z88DK (disediakan rantai alat). Silakan merujuk ke wiki CMake.
Beberapa hal yang perlu diketahui:
Saat Anda membentuk baris kompilasi, Anda harus memutuskan kompiler mana yang akan Anda gunakan dan perpustakaan c mana yang akan Anda tautkan. Anda akan membuat keputusan tersebut berdasarkan target mana yang ingin Anda kompilasi dan fitur apa yang Anda perlukan.
Pustaka c klasik adalah pustaka c utama z88dk dan memiliki crts yang memungkinkan pembuatan program untuk lebih dari 100 mesin keluarga z80 yang berbeda. Tingkat dukungan untuk masing-masingnya secara historis ditentukan oleh minat pengguna. Dokumentasi dimulai di sini dan contoh program dapat ditemukan di z88dk/examples dengan baris kompilasi paling sering muncul di bagian atas file .c. Seiring waktu, implementasi non-standar telah digantikan dengan implementasi yang ada dengan perpustakaan baru.
Pustaka c baru adalah penulisan ulang z88dk yang bertujuan untuk sebagian besar kesesuaian C11. Sebagian besar perpustakaan standar kini telah dimasukkan ke dalam perpustakaan klasik, namun masih mendukung beberapa target yang tidak didukung oleh klasik: hbios, rc2014, scz180, yaz180 serta beberapa yang menggabungkan perpustakaan pihak ketiga untuk beberapa target duplikat: sistem master sega, spektrum zx , dan spektrum zx berikutnya. Selain itu, target sederhana untuk z180, z80 dapat digunakan untuk mengkompilasi program untuk mesin z80 apa pun. Dokumentasi dimulai di sini dan contoh program dapat ditemukan di z88dk/libsrc/_DEVELOPMENT/EXAMPLES dengan baris kompilasi paling sering muncul di bagian atas file .c.
Halaman Beranda Z88DK Termasuk tautan ke bangunan malam di mana Anda bisa mendapatkan paket terkini.
Instal Petunjuk
Pelaporan Bug
Pengantar Kompilasi Menggunakan Contoh Library C Klasik di z88dk/examples
Pengenalan Kompilasi Menggunakan Contoh Library C Baru di z88dk/libsrc/_DEVELOPMENT/EXAMPLES
Menggunakan z88dk dengan target rc2014, mencakup subtipe cpm, hbios, dan rc2014.
Menggunakan z88dk dengan zx, mencakup target zx, dan selanjutnya target zxn.