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
คือส่วนหน้าของ toolchain zcc สามารถสร้างไบนารีเอาท์พุตจากชุดไฟล์ต้นฉบับอินพุตใดๆ ได้z88dk-sccz80
เป็นคอมไพเลอร์ c ดั้งเดิมของ z88dk sccz80 มาจาก c ขนาดเล็ก แต่ได้เห็นการพัฒนาไปมากจนถึงจุดที่เกือบจะเป็นไปตามมาตรฐาน c90z88dk-zsdcc
คือการปรับแต่งคอมไพเลอร์ sdcc ของ z88dk แพตช์ของเราทำให้ sdcc เข้ากันได้กับ z88dk toolchain ช่วยให้สามารถเข้าถึงไลบรารีภาษาแอสเซมบลีที่กว้างขวางของ z88dk และ crts สำเร็จรูป จัดการกับข้อบกพร่องในการสร้างโค้ดที่มีอยู่ และปรับปรุงโค้ดที่สร้างของ sdccz88dk-z80asm
(อย่าสับสนกับโปรเจ็กต์ภายนอกหลายโปรเจ็กต์ที่เรียกว่า z80asm) เป็นส่วนการนำแอสเซมเบลอร์ / ลิงก์เกอร์ / บรรณารักษ์ที่มีคุณลักษณะครบถ้วนz88dk-z80nm
คือโปรแกรมจัดเก็บร่วมของ z80asm สามารถจัดเตรียมรายการฟังก์ชันหรือข้อมูลที่เข้ารหัสในอ็อบเจ็กต์หรือไฟล์ไลบรารีได้z88dk-appmake
ประมวลผลไบนารีดิบที่สร้างโดยชุดเครื่องมือให้อยู่ในรูปแบบที่เหมาะสมสำหรับเครื่องเป้าหมายเฉพาะ ตัวอย่างเช่น สามารถสร้างไฟล์ Intel hex, เทป, ROM เป็นต้นz88dk-ticks
คือโปรแกรมจำลองบรรทัดคำสั่งที่สามารถใช้เพื่อจับเวลาความเร็วในการประมวลผลของส่วนของโค้ด Ticks รวมถึงดีบักเกอร์และตัวแยกชิ้นส่วนz88dk-gdb
จัดเตรียมอินเทอร์เฟซดีบักเกอร์จากเห็บและเชื่อมต่อกับ gdbserver เพื่ออนุญาตการดีบักซอฟต์แวร์ทีละบรรทัดในโปรแกรมจำลองหรือบนฮาร์ดแวร์จริงz88dk-dis
คือตัวถอดประกอบบรรทัดคำสั่งสำหรับ 8080, 8085, GBZ80, Z80, Z180, Z80N, EZ80, R800 และ Rabbit 2000/3000 นอกจากนี้ยังสามารถอ่านไฟล์แผนที่ที่สร้างโดย z80asm เพื่อให้มีเอาต์พุตเชิงสัญลักษณ์มากขึ้นz88dk-lib
เป็นตัวติดตั้งสำหรับไลบรารีบุคคลที่สาม จัดการการติดตั้ง การลบ และการแสดงรายการไลบรารีที่มีอยู่z88dk-zx0
และ z88dk-zx7
เป็นเครื่องมือบีบอัดข้อมูลฝั่ง PC พร้อมด้วยฟังก์ชันการบีบอัดข้อมูลร่วมในไลบรารี z80z88dk-dzx0
และ z88dk-dzx7
คือตัวขยายการบีบอัดฝั่งพีซีที่ใช้ร่วมกับ z88dk-zx0 และ z88dk-zx7โดยปกติแล้วเครื่องมือเหล่านี้จะไม่ถูกเรียกใช้โดยผู้ใช้โดยตรง:
m4
ทำหน้าที่เป็นตัวประมวลผลล่วงหน้าของมาโครของ z88dk และสามารถเลือกที่จะประมวลผลไฟล์ที่อยู่ข้างหน้าตัวประมวลผลล่วงหน้า c หรือแอสเซมเบลอร์ได้z88dk-ucpp
คือตัวประมวลผลล่วงหน้า c ที่เรียกใช้สำหรับ sccz80 และสำหรับ zsdccz88dk-zpragma
ถูกใช้โดย toolchain เพื่อประมวลผล pragmas ที่ฝังอยู่ในซอร์ส cz88dk-copt
คือเอ็นจิ้นนิพจน์ทั่วไปที่ใช้เป็นเครื่องมือเพิ่มประสิทธิภาพช่องมองภาพสำหรับ sccz80 และเป็นเครื่องมือหลังการประมวลผลสำหรับทั้ง sccz80 และ zsdcc ไลบรารีภาษาแอสเซมบลีที่จัดทำโดย z88dk ให้ข้อได้เปรียบด้านประสิทธิภาพเหนือคอมไพเลอร์ z80 อื่นๆ สำหรับรายละเอียด โปรดดูที่ส่วนเกณฑ์มาตรฐานใน Wiki
CMake สามารถใช้เพื่อสร้างโปรเจ็กต์ Z88DK ได้ (มี toolchain ให้มาด้วย) โปรดดูวิกิ CMake
บางสิ่งที่ควรรู้:
เมื่อคุณสร้างบรรทัดการคอมไพล์ คุณต้องตัดสินใจว่าจะใช้คอมไพเลอร์ใด และไลบรารี c ใดที่คุณจะลิงก์ด้วย คุณจะตัดสินใจโดยพิจารณาจากเป้าหมายที่คุณต้องการคอมไพล์และคุณสมบัติที่คุณต้องการ
ไลบรารี c แบบคลาสสิกคือไลบรารี c หลักของ z88dk และมี crts ที่อนุญาตให้สร้างโปรแกรมสำหรับเครื่องตระกูล z80 ที่แตกต่างกันมากกว่า 100 เครื่อง ระดับการสนับสนุนแต่ละรายการจะขึ้นอยู่กับความสนใจของผู้ใช้ในอดีต เอกสารประกอบเริ่มต้นที่นี่ และโปรแกรมตัวอย่างสามารถพบได้ใน z88dk/examples ที่มีบรรทัดการคอมไพล์ซึ่งส่วนใหญ่มักปรากฏที่ด้านบนของไฟล์ .c เมื่อเวลาผ่านไป เราได้แทนที่การใช้งานที่ไม่ได้มาตรฐานด้วยการใช้งานที่มีอยู่ในไลบรารีใหม่
ไลบรารี c ใหม่เป็นการเขียนใหม่ของ z88dk โดยมีเป้าหมายเพื่อให้ชุดย่อยขนาดใหญ่ของความสอดคล้องของ C11 ขณะนี้ไลบรารีมาตรฐานจำนวนมากได้รวมอยู่ในแบบคลาสสิกแล้ว แต่ยังคงรองรับเป้าหมายบางอย่างที่ไม่รองรับโดยแบบคลาสสิก: hbios, rc2014, scz180, yaz180 รวมถึงบางรายการที่รวมไลบรารีของบุคคลที่สามสำหรับเป้าหมายที่ซ้ำกันบางส่วน: ระบบ sega master, สเปกตรัม zx และสเปกตรัม zx ต่อไป นอกจากนี้ เป้าหมายแบบเปลือยสำหรับ z180, z80 ยังสามารถใช้เพื่อคอมไพล์โปรแกรมสำหรับเครื่อง z80 ทุกรุ่นอีกด้วย เอกสารเริ่มต้นที่นี่ และโปรแกรมตัวอย่างสามารถพบได้ใน z88dk/libsrc/_DEVELOPMENT/EXAMPLES โดยมีบรรทัดการคอมไพล์ซึ่งส่วนใหญ่มักปรากฏที่ด้านบนของไฟล์ .c
หน้าแรกของ Z88DK มีลิงค์ไปยังงานสร้างทุกคืนซึ่งคุณสามารถรับแพ็คเกจที่ทันสมัยได้
คำแนะนำในการติดตั้ง
รายงานข้อผิดพลาด
ข้อมูลเบื้องต้นเกี่ยวกับการคอมไพล์โดยใช้ตัวอย่างไลบรารี Classic C ใน z88dk/examples
ข้อมูลเบื้องต้นเกี่ยวกับการคอมไพล์โดยใช้ตัวอย่างไลบรารี C ใหม่ใน z88dk/libsrc/_DEVELOPMENT/EXAMPLES
การใช้ z88dk กับเป้าหมาย rc2014 ครอบคลุมประเภทย่อย cpm, hbios และ rc2014
การใช้ z88dk กับ zx ครอบคลุมเป้าหมาย zx และโดยการขยายเป้าหมาย zxn