본문 바로가기
프로그래밍/PC

Turbo Pascal 6.0 소스 컴파일 하기...

by 사악신 2012. 10. 30.

이래저래 구글링하다보면 TP 6.0 소스를 찾을 수 있다. 그 놈을 가지고 컴팔을 해보기로 결정~ 먼저 DOS 환경을 구축하고, Turbo Assembler 3.0 과 Turbo Pascal 5.5 를 준비하였다. 하지만, 컴파일 실패... 우습게도 돌아다니는 소스를 컴파일하려면 Turbo Assembler 3.0 과 Turbo Pascal 6.0 (으응?) 이 필요하였다. 또한, 빌드를 하는 과정에서 메모리 부족 오류가 뜰 수 있으니 CONFIG.SYS 에서...


DOS = HIGH, UMB


상위메모리 처리를 해주고, 한글 관련 기능을 주석처리한다.


rem DEVICE=C:\DOS\HBIOS.SYS


AUTOEXEC.BAT 에서는 PATH 지정을 한다. 이때 Turbo Assembler 는 C:\TASM3 에 설치, Turbo Pascal 은 C:\TP60 에 설치된 경우이다.


PATH C:\DOS;C:\TASM3;C:\TP60;C:\TP60\UTILS


재부팅 후, 소스가 위치한 디렉토리에서 아래 명령어를 실행한다.


make


실제로는 많은 과정이 발생하는데, 아래 스샷의 경우~ 이미 생성된 TPU 와 OBJ 파일들을 사용하므로 매우 빠르게 빌드가 된다.



그리고 최종 생성된 결과인 turbo.exe 는 turbo.exe, turbo.ovr, turbo.tvr 을 그냥 바이너리로 합친 것이 되겠다. 이렇게 빌드된 놈을 실행해보면 다음과 같다.



핵심적인 시스템 라이브러리 파일이 존재하지 않음을 알 수 있다. 이 상태로 Hello World 프로그램을 코딩하고 컴파일할 경우... SYSTEM.TPU 를 찾을 수 없다는 오류가 발생한다. 일단, 기존 TP 6.0 디렉토리에서 TURBO.TPL 파일을 복사해서 넣어 실행한다. 이후 컴파일을 해보면 잘 동작함을 알 수 있다.


결론,


1. IDE 와 통합된 형태의 컴파일러인 TURBO.EXE 의 소스

2. 명령어 실행 컴파일러인 TPC.EXE 의 소스는 존재하지 않음.

3. Turbo Vision 의 소스가 없음

4. SYSTEM.PAS 등의 중요 소스가 없음


여기서 Turbo Vision 에 대한 README.TXT 의 내용을 발췌하면 다음과 같다.


Turbo Vision, an object-oriented, high-performance application framework and library.

Programs written in Turbo Vision inherit everything from mouse support, dialogs, menus, overlapping windows,

and automatic desktop management to the online help system, calculator, and other tools that you'll find in the \TP\TVDEMOS directory.


Programming with Turbo Vision is so efficient and powerful, we used it to build the IDE itself!


즉, TP 6.0 IDE 자체가 Turbo Vision 으로 개발되었다는 얘기... 그래서 Turbo Vision 소스가 없는 관계로 TP 6.0 을 사용하여 빌드를 하여야했던 결론이 나오는 것이 되겠다.ㅋㅋ


여담이지만 Turbo Vision 은 TUI 프레임워크라고 볼 수 있는데 이 후 OWL 에 의해 밀려난다. FPC 에서는 Free Vision 이라는 놈이 이 녀석을 대체하는데... 가져와서 붙여봐야겠다. @@

반응형

댓글