Retro Game & PC/매뉴얼 팁 작업

Apple II CP/M 및 Turbo Pascal Graphic Library

smores 2015. 2. 14. 23:35

예전에 애플2를 사용했을 적 CP/M 및 videx 80컬럼 카드까지 장만해서 2대의 FDD와 함께 나름 무적의 컴퓨팅 환경(?)을 구축하고 컴퓨터 관련한 여러가지 지식을 닥치는 대로 배웠었다. CP/M 에서 돌아가는 수많은 프로그래밍 언어 (PL/I, Fortran, Pascal, C, Lisp, Forth, Basic, ...), 그리고 응용 소프트웨어들 (dBase II, Multiplan, Word Star, ...) 덕분에 PC 환경은 XT를 건너뛰고 AT로 바로 넘어갔음에도 전혀 이질감이 없었다. (여전히 CP/M 과 비슷한 도스 환경이었기에...)


CP/M을 사용하면서 가장 아쉬웠던 부분은 애플베이식에서 사용하던 그래픽 (저해상도/고해상도) 기능. GBASIC을 사용하면 그래픽을 쓸 수는 있는데 CP/M을 쓰면서 부터는 Turbo Pascal (ver 3.0) 의 막강함에 베이식은 뒷전으로 물린 상태였기에 다시 베이식으로 코딩하고 싶지는 않았다.


PC로 넘어가서는 Turbo Pascal의 경우 Graphic Toolbox가 볼랜드에서 따로 제공이 되었기에, 그리고 조금 후 버전업이 되면서 부터 아예 그래픽 유닛이 포함되어 있었기에 꽤나 많은 (그래픽이 포함된) 프로그램을 파스칼로 만들곤 했었다.


애플을 쓰던 당시로부터 약 25년 이상 지난 지금 시점에 최근 자주 방문하는 네이버 카페에서 애플2 용 Turbo Pascal Graphic Toolbox를 국내 프로그래머가 직접 만든 것이 있다는 것을 알게 되었다. 그래서 스캔된 잡지의 소스를 일일이 입력해서 실행을 해 보니 (실기가 없어서 에뮬레이터인 AppleWin 사용) 저해상도 그래픽 라이브러리는 훌륭하게 작동하는 것 같았다. 하지만 고해상도 그래픽 라이브러리는 뭔가 문제가 있는 듯... 때문에 다른 CP/M이 지원되는 에뮬레이터인 MESS에서도 해 보았지만 같은 결과...


한참 헤맨 후에야 알게 된 사실이 에뮬레이터를 사용하면서부터 당연한 듯 Apple IIe 또는 enhanced Apple IIe 정품의 에뮬레이션 모드를 사용해 왔었는데, 그 기사에 나온 컴퓨터 환경은 당시 국내에서 가장 일반적으로 보급되었던 Apple II+ 상에 soft card 및 Videx 카드를 단 모델로 개발을 한 듯 하다. Videx 80컬럼 카드는 일단 Apple IIe 가 나오면서 80컬럼 모드가 기본으로 제공되었기에 비 표준인 확장카드가 되었고, 때문에 하드웨어 제어도 조금은 달랐던 것 같다. 


그래서 AppleWin 에서 II+ 모드로 (CP/M 장착 옵션으로) 돌려보니 아쉽게도 80컬럼 모드를 쓸 수 없고 (Videx는 지원 안한다) 그런 이유인지 영문 텍스트의 대다수가 (소문자 부분) 깨져 나온다. 하지만 고해상도 데모가 제대로 돌아가기 시작 !!!


MESS로 돌아가서 apple2p 로 선택하고 softcard (CP/M) 은 슬롯 5에, videx 카드는 슬롯 3에 장착한 옵션으로 돌려보니... 


된다 ~~~


되기는 되는데 문제가 남아있다. MESS 0.149는 CP/M이 작동하는데 MESS 0.157b는 안된다. MESS 0.149는 바이덱스가 되긴 되는데 그래픽과 80컬럼 텍스트가 좌우로 나누어져 보여준다. 그래픽은 좌측 절반 화면에 80 컬럼 텍스트는 우측 절반에... 마치 Commodore 128 에뮬레이션 할 때 보던 것과 비슷한 증상이다. MESS는 0.149 이후 버전업이 되면서 뭔가 더 안되는 것이 많아진 것 같다는 생각이 든다. 운 좋게 처음 잡은 버전이 0.149여서인지 그곳에서는 잘 되던 것이 오히려 많았는데... 


대충 0.149에서 되던 것이 0.157에서 안되는 기능을 찾아낸 목록을 간단히 정리하자면


at486 에서 cdrom 지원 -> 미지원

다수의 컴에서 FDD 2대 이상에서 1대만으로 줄어든 경우

apple2 cp/m 잘 되던 것이 안되는 문제

msx/msx2 등의 generic device 명 사라지고 실제 제품명만으로 msx를 사용해야 하는 경우 

  (그나마도 msx2로 되던 소프트웨어 일부 잘 안됨)


대충 이정도 정리해 두고 실행 스크린샷 몇개와 소스코드 들은 애플용 CP/M turbo pascal 디스크 이미지를 올려둔다.



TURBOPGR.DSK



AppleWin II+ LoRes demo



AppleWin IIe LoRes demo



AppleWin II+ CP/M Turbo Pascal



AppleWin II+ CP/M Turbo Pascal HiRes demo



AppleWin II+ CP/M Turbo Pascal



AppleWin IIe CP/M Turbo Pascal HiRes demo



MESS 0.149 II+ CP/M, Videx, Turbo Pascal LoRes demo



MESS 0.149 II+ CP/M, Videx, Turbo Pascal HiRes demo



MESS 0.149 IIe CP/M, Turbo Pascal LoRes demo



MESS 0.149 IIe CP/M, Turbo Pascal HiRes demo



이와 관련한 글타래. 


애초에 이 프로그램의 존재를 네이버 카페 매니악맨션에서 알게 되었다. 예전 마이크로소프트웨어 잡지에 나왔던 국내에서 개발된 프로그램이었었다. 문제는 당시 개발자가 Apple II+ 호환기종에서 개발한 듯, IIe 에서는 소프트스위치의 차이 때문인지 위와 같은 문제가 일어나는 것.


https://cafe.naver.com/maniacmansion/1260

https://cafe.naver.com/appleii/15041

https://cafe.naver.com/appleii/15043


TurboPascalGraphicToolbox-MASO.zip



이 문제를 이 블로그를 찾아온 Marco Verpelli (twitter @MarcoVerpelli) 라는 외국분이 해결을 해 주셨다 !  너무도 감사. 그리고 Apple Asimov 에도 올려 두심.  인터넷이 되는 세상은 역시 좋다.


https://cafe.naver.com/appleii/16482

https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/cpm/programming/






TurboPGR4IIe.zip








'Retro Game & PC > 매뉴얼 팁 작업' 카테고리의 다른 글

C64 convert basic code to text  (0) 2015.02.19
TRS-80 Model I  (0) 2015.02.19
Xyphus (Apple II) 실행방법  (1) 2015.02.14
Apple II 80 컬럼 텍스트 모드  (0) 2015.02.14
8비트 기종 간 게임 환경 비교  (0) 2015.02.01