2009년 4월 2일 목요일

HI-TECH C v3.09 - MSX 라이브러리

개인적으로 관리하면서 사용하는 HI-TECH C용 라이브러리를 올려봅니다.

언젠가 정리되면 업로드하려고 했는데, 미루다보니 시간이 많이 지났네요. ㅎ.ㅎ;


참고로, HI-TECH C가

ANSI-C 및 부동소수점 지원 되는 유일한 MSX용 C 컴파일러로 알고있는데요.

인라인 어셈도 쓸수 있고 좋긴한데, 실행속도가 좀 느리다는 단점이 있습니다.


https://github.com/sharksym/CPMEMU_HI-TECH_C


------------------------------------------------------------------------------

    HI-TECH C v3.09 Library (2009.04.02)

        By 서영만 (E-mail:sharksym@hitel.net)

------------------------------------------------------------------------------

 - CP/M용 C Compiler인 HI-TECH C v3.09를 위한

   LIBC 및 LIBF 라이브러리와 CRT.O 파일입니다. (소스 포함입니다.)


 - CP/M 및 MSX-DOS1, MSX-DOS2 모두 지원하도록 만들어져있습니다.

   CRT.O에서 구동시 BDOS 버전을 체크하여, 각 OS에 최적화된 함수가 실행됩니다.

   기타 MSX에서 사용가능한 함수가 다수 포함되어있습니다.

   (관련 헤더파일을 확인하세요.)


 - LIBCGEN.LIB : CP/M, MSX-DOS1, MSX-DOS2 공용 LIBC

   LIBCMSX.LIB : MSX-DOS1, MSX-DOS2 전용 LIBC

   LIBFGEN.LIB : CP/M, MSX-DOS1, MSX-DOS2 공용 LIBF (Floating Point 함수 포함)

   LIBFMSX.LIB : MSX-DOS1, MSX-DOS2 전용 LIBF (Floating Point 함수 포함)


 - 코드 대부분은 HI-TECH C의 원본 라이브러리 소스가 사용되었으며,

   Arnold Metselaar씨 및 Tatsuhiko Syoji씨의 수정/추가된 소스도 사용하였습니다.

   기타 다른 분의 코드도 일부 포함되어있고, 나머지는 제가 직접 수정/추가한

   것입니다.


 - 소스 빌드를 위해 윈도용 CP/M 에뮬레이터인

   CP/M-80 program EXEcutor for Win32 V0.2 프로그램이 사용되었습니다.

   MAKE는 GNU MAKE를 사용하면됩니다.

   (실제 CP/M, MSX-DOS에서 사용가능한 MAKE가 있는지는 모르겠습니다.

    현재는 윈도용 CP/M에뮬레이터만 사용중입니다.)


 - CP/M 및 C Compiler에서 서브 디렉토리를 지원하지 않으므로,

   대신 CP/M 에뮬레이터의 가상 드라이브 매핑 기능을 활용했습니다.


 - CPMEMU_HI-TECH_C 디렉토리에는 HI-TECH C 패키지와 CP/M 에뮬레이터 및

   HI-TECH C 원본 라이브러리인 LIBC.LIB, LIBF.LIB와

   ASCII C의 그래픽 라이브러리 호환인 LIBG.LIB도 포함되어있습니다.

   소스 빌드시에도 CPMEMU_HI-TECH_C 디렉토리가 그대로 사용됩니다.


 - MAKE_ALL.BAT를 실행하면 4개 LIB를 생성하며,

   TESTCODE의 프로그램으로 동작 확인이 가능합니다.