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
툴킷에서 생성된 원시 바이너리를 특정 대상 시스템에 적합한 형식으로 처리합니다. 예를 들어 인텔 16진수 파일, 테이프, 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
은 z80 라이브러리의 동반 압축 해제 기능을 갖춘 PC 측 데이터 압축 도구입니다.z88dk-dzx0
및 z88dk-dzx7
z88dk-zx0 및 z88dk-zx7에 대한 PC 측 압축 해제기 대응 제품입니다.이러한 도구는 일반적으로 사용자가 직접 호출하지 않습니다.
m4
z88dk의 매크로 전처리기 역할을 하며 선택적으로 c 전처리기 또는 어셈블러보다 먼저 파일을 처리할 수 있습니다.z88dk-ucpp
sccz80 및 zsdcc에 대해 호출되는 c 전처리기입니다.z88dk-zpragma
는 툴체인에서 C 소스에 포함된 pragma를 처리하는 데 사용됩니다.z88dk-copt
는 sccz80의 엿보기 최적화 프로그램과 sccz80 및 zsdcc의 후처리 도구로 사용되는 정규식 엔진입니다. z88dk에서 제공하는 어셈블리 언어 라이브러리는 다른 z80 컴파일러에 비해 성능 이점을 제공합니다. 자세한 내용은 Wiki의 벤치마크 섹션을 참조하세요.
CMake를 사용하여 Z88DK 프로젝트를 빌드할 수 있습니다(툴체인 제공). CMake 위키를 참조하세요.
알아야 할 사항:
컴파일 라인을 구성할 때 사용할 컴파일러와 링크할 c 라이브러리를 결정해야 합니다. 컴파일하려는 대상과 필요한 기능에 따라 결정을 내리게 됩니다.
클래식 c 라이브러리는 z88dk의 기본 C 라이브러리이며 100개 이상의 다양한 z80 제품군 시스템에 대한 프로그램 생성을 허용하는 crt를 포함합니다. 각각에 대한 지원 수준은 역사적으로 사용자 관심도에 따라 결정됩니다. 문서는 여기서 시작되며 예제 프로그램은 z88dk/examples에서 찾을 수 있으며 컴파일 라인은 .c 파일 상단에 가장 자주 나타납니다. 시간이 지남에 따라 비표준 구현을 새로운 라이브러리에 존재하는 구현으로 대체했습니다.
새로운 c 라이브러리는 C11 적합성의 대규모 하위 집합을 목표로 하는 z88dk의 재작성이었습니다. 표준 라이브러리의 대부분은 이제 클래식에 통합되었지만 여전히 클래식에서 지원되지 않는 일부 대상(hbios, rc2014, scz180, yaz180)과 일부 중복된 대상에 대한 일부 통합 타사 라이브러리(sega master system, zx Spectrum)를 지원합니다. , 그리고 다음은 zx 스펙트럼입니다. 또한 z180, z80의 기본 타겟을 사용하여 모든 z80 시스템용 프로그램을 컴파일할 수 있습니다. 문서는 여기서 시작되며 예제 프로그램은 z88dk/libsrc/_DEVELOPMENT/EXAMPLES에서 찾을 수 있으며 컴파일 라인은 .c 파일 상단에 가장 자주 나타납니다.
Z88DK 홈 페이지에는 최신 패키지를 얻을 수 있는 야간 빌드에 대한 링크가 포함되어 있습니다.
설치 지침
버그 보고
z88dk/examples의 클래식 C 라이브러리 예제를 사용한 컴파일 소개
z88dk/libsrc/_DEVELOPMENT/EXAMPLES의 새 C 라이브러리 예제를 사용한 컴파일 소개
rc2014 대상과 함께 z88dk를 사용하면 cpm, hbios 및 rc2014 하위 유형을 다룹니다.
zx와 함께 z88dk를 사용하면 zx 대상과 zxn 대상을 확장할 수 있습니다.