Z88DK 是針對 8080 和 z80 系列機器的軟體開發工具集合。它允許使用 C、彙編語言或兩者的任意混合語言開發程式。 z88dk 的獨特之處在於它的易用性、對許多 z80 機器的內建支援以及其廣泛的彙編語言庫子程式集,這些子程式實現了 C 標準和擴展。
安裝 z88dk 有多種方法。
git clone --recursive https://github.com/z88dk/z88dk.git
。若要將子模組新增至現有克隆,請使用git submodule update --init --recursive
。要構建,應遵循以下說明。 z88dk 的前端稱為zcc
,如果你想做任何編譯,你應該呼叫它。它可以處理C檔(.c)、預處理C檔(.i)、編譯C檔(.asm)、最佳化編譯檔(.opt)或組譯檔(.o),它們的任意組合可以混合在一起將對它們進行相關處理。也支援檔案清單的處理,依序完成每個檔案的處理(即預處理、編譯、最佳化、彙編),如果需要,最後所有處理的檔案可以連結到格式正確的單一執行檔。
新用戶(或已建立的平台)通常不需要單獨使用其他工具。
許多工具都有z88dk-
前綴,以將它們與可能以相同名稱安裝的其他軟體包中的工具區分開來。文件在引用它們時通常會省略前綴。
zcc
是工具鏈的前端。 zcc 可以從任何一組輸入來源檔案產生輸出二進位檔案。z88dk-sccz80
是 z88dk 的原生 c 編譯器。 sccz80 源自小型 c,但經過了很大的發展,幾乎與 c90 相容。z88dk-zsdcc
是z88dk對sdcc編譯器的客製化。我們的補丁使 sdcc 與 z88dk 工具鏈相容,使其能夠存取 z88dk 廣泛的彙編語言庫和現成的 crt,解決存在的程式碼產生錯誤並改進 sdcc 的生成程式碼。z88dk-z80asm
(不要與幾個稱為 z80asm 的外部專案混淆)是一個功能齊全的彙編器/連結器/庫管理器實作部分。z88dk-z80nm
是 z80asm 的配套存檔器。它可以提供物件或庫文件中編碼的函數或資料的列表。z88dk-appmake
將工具包產生的原始二進位處理為適合特定目標機器的形式。例如,它可以產生intel hex檔案、磁帶、ROM等。z88dk-ticks
是一個命令列模擬器,可用來計算程式碼片段的執行速度。 Ticks 包括調試器和反彙編器。z88dk-gdb
提供來自ticks 的偵錯器介面並連接到gdbserver,以允許在模擬器或真實硬體上對軟體進行逐行偵錯。z88dk-dis
是適用於 8080、8085、GBZ80、Z80、Z180、Z80N、EZ80、R800 和 Rabbit 2000/3000 的命令列反組譯程式。它還可以讀取 z80asm 產生的映射檔案以提供更具符號性的輸出。z88dk-lib
是第三方函式庫的安裝程式。它管理可用庫的安裝、刪除和清單。z88dk-zx0
和z88dk-zx7
是 PC 端資料壓縮工具,具有 z80 函式庫中的配套解壓縮功能。z88dk-dzx0
和z88dk-dzx7
是 z88dk-zx0 和 z88dk-zx7 的 PC 端解壓縮器。這些工具通常不會由使用者直接呼叫:
m4
充當 z88dk 的巨集預處理器,並且可以選擇在 c 預處理器或彙編器之前處理檔案。z88dk-ucpp
是為 sccz80 和 zsdcc 呼叫的 C 預處理器。z88dk-zpragma
被工具鏈用來處理嵌入在 c 原始碼中的編譯指示。z88dk-copt
是一個正規表示式引擎,用作 sccz80 的窺孔優化器以及 sccz80 和 zsdcc 的後處理工具。 z88dk 提供的組譯語言函式庫使其比其他 z80 編譯器具有效能優勢。有關詳細信息,請查看 Wiki 中的基準部分。
CMake 可用於建置 Z88DK 專案(提供工具鏈)。請參考 CMake 維基百科。
有些事情要知道:
當您形成編譯行時,您必須決定將使用哪個編譯器以及將連結到哪個 C 函式庫。您將根據要編譯的目標以及所需的功能來做出決定。
經典 c 庫是 z88dk 的主要 c 庫,並且具有允許為 100 多種不同 z80 系列機器生成程式的 crt。每個的支援等級歷來是由使用者興趣決定的。文件從這裡開始,範例程式可以在 z88dk/examples 中找到,編譯行最常出現在 .c 檔案的頂部。隨著時間的推移,它已經用新庫中存在的實現替換了非標準實現。
新的 C 函式庫是 z88dk 的重寫,旨在實現 C11 一致性的一個大子集。標準庫的大部分現已合併到 classic 中,但它仍然支援 classic 不支援的一些目標:hbios、rc2014、scz180、yaz180 以及一些針對某些重複目標的合併第 3 方庫:sega master system、zx Spectrum ,接下來是zx 譜。此外,z180、z80 的基本目標可用於為任何 z80 機器編譯程式。文件從這裡開始,範例程式可以在 z88dk/libsrc/_DEVELOPMENT/EXAMPLES 中找到,其中編譯行最常出現在 .c 檔案的頂部。
Z88DK 主頁 包含夜間構建的鏈接,您可以在其中獲取最新的軟體包。
安裝說明
錯誤報告
使用 z88dk/examples 中的經典 C 函式庫範例進行編譯的簡介
使用 z88dk/libsrc/_DEVELOPMENT/EXAMPLES 中的新 C 函式庫範例進行編譯的簡介
將 z88dk 與 rc2014 目標結合使用,涵蓋 cpm、hbios 和 rc2014 子類型。
將 z88dk 與 zx 結合使用,覆蓋 zx 目標,並擴展為 zxn 目標。