2015년 5월 25일 월요일

DOS2 램디스크 간단 활용 및 버그(?) 소개

일단 서론 나갑니다. ㅎ.ㅎㅋ


DOS2부터 커널에서 메모리 매퍼를 지원합니다.

근데, 대부분의 DOS프로그램들은 TPA(기본 메모리 64K 이하 영역) 만으로 구동되기 때문에,

메모리를 많이 확장하더라도 그다지 활용되지 않습니다.


20여년 전 국내 상황에서는 turboR 기종이 아니면, DOS2 사용하기가 힘들었던 것도 이유가 되겠구요.

DOS2 용 프로그램 만들어봐야 구동 가능한 사용자가 별로 없으니,

차라리 재미나 램카드를 활용하는 프로그램이 더 유용했을 것 같기도 하네요. ㅎ.ㅎ


어쨌거나 20여년이 지난 지금, 많은 분들이 DOS2 를 사용하고 계시지요. (맞나요? ㅋ)

DOS2는 자체적으로 램디스크를 지원합니다.

메모리 매퍼 일부분을 가상의 디스크로 만들어주는 것이지요.


기본적인 사용법은 DOS2 프롬프트에서 HELP RAMDISK 라고 입력하면, 도움말을 볼 수 있으니 참고하시구요.

그럼, 본론 나갑니다~


1) 램디스크 설정

   RAMDISK 숫자

   숫자는 KB단위로 인식됩니다. 128KB 램디스크를 만드려면, RAMDISK 128 입력하면 되겠습니다.

   램디스크는 항상 H: 드라이브로 생성이 됩니다.

   만약 H: 드라이브가 이미 존재한다면, 램디스크 추가가 불가능합니다.


2) 램디스크 해제

   RAMDISK /D

   입력하면 할당된 메모리가 해제되며, H: 드라이브는 더이상 사용 불가능합니다.

   임시로 저장했던 파일이 있다면, 미리 다른 물리 디스크로 복사해야 되겠지요.


3) 주의 사항

   FAT16 드라이버(Okei 씨 프로그램)를 함께 사용하려면,

     먼저 RAMDISK 설정 후 FAT16 드라이버를 실행해야합니다.

   FAT16 드라이버가 실행된 상태에서는 RAMDISK 설정/해제가 불가능합니다.


4) 실제 활용

   램디스크가 FDD보다는 훨 빠르지만,

     MMC/SD 드라이브, 선라이즈 IDE, OCM MEGA-SD 등의 기기보다는 느립니다.

   이 경우는 CPU, 메모리가 고속인 turboR에서만 램디스크 효과가 있겠습니다.


   DOS2에서 응용 프로그램 실행/종료가 되면 항상 COMMAND2 쉘 프로그램이 재로딩됩니다.

   이 때, COMMAND2가 램디스크에서 로딩되면 조금 더 쾌적한 환경이 됩니다.

   제 경우는 아래처럼 AUTOEXEC.BAT 및 REBOOT.BAT 설정하고 있습니다.

   SET SHELL 설정 참고하셔요.


[AUTOEXEC.BAT]

SET EXPERT=ON

SET SHELL=A:\COMMAND2.COM

SET PATH=B:\UTILS\;B:\M\;C:\

SET HELP=B:\HELP

MODE 80

VER

RAMDISK /D

RAMDISK 64

COPY COMMAND2.COM H:\

VOL H:RAM_Disk

FAT16

KS_SPE

KS_HANJA

REBOOT %1


[REBOOT.BAT]

SET SHELL=H:\COMMAND2.COM

SET PATH=H:\;B:\UTILS\;B:\M\;C:\

SET TEMP=H:\

C:

cd \

MODE 80

M



마지막으로, 램디스크의 버그로 보이는 동작 하나 소개합니다.

RAMDISK는 항상 H: 드라이브로 할당되도록 만들어져있는데요.

근데 램디스크 해제 명령인 RAMDISK /D는

 H: 드라이브가 실제 물리적인 디스크인 상태에서 실행하면, H: 드라이브를 날려버립니다.

H: 드라이브가 없어지면 접근이 불가능해집니다. 흐흠...


저는 요걸 터보알에서 유용하게 쓰고 있는데요.

부팅 시 MMC/SD 두대가 A: B: C: D: E: F: 로 할당되고,

G: H: 가 본체 내장 FDD로 할당됩니다. (FDD는 물리적인 디스크는 한개지만 가상으로 2개를 지원합니다.)


이 상태에서는 DOS2의 드라이브 문자가 모두 할당되어서 더이상 RAMDISK 설정이 불가능합니다.

근데 RAMDISK /D 를 실행하면, FDD인 H: 가 삭제됩니다. ㄷ ㄷ ㄷ

그러면 RAMDISK 설정 시, 에러나지않고 정상 할당이 됩니다.

저~~~기 위의 AUTOEXEC.BAT 내용에 RAMDISK /D가 포함된게 그 이유 때문이에요.


그럼, 줄입니다.

궁금한 점 있으시면, 덧글 달아주세요~ ㅎ.ㅎ


2015년 5월 7일 목요일

[MS-DOS] MS-DOS 용 FEEDBACK 출시(?) 20주년

20년 전에 하이텔 파라동에 올렸던 "IBM PC용 피드백"에 관한 추억을 더듬어보려구요. ㅎ.ㅎㅋ


일단 타이틀 스샷 한장 올라갑니다~

참고로 DOSBox로 구동한 상태입니다. (잘 돌아가네요!)




1994년 꼬꼬마 대학생이던 시절, 486 PC를 샀었습니다.

그 전까지는 대우 IQ-2000으로 버티고 있었지요.

(가끔 이스3, 퀸플 정도만 돌리는 정도였..ㅋ)


486 PC의 엄청난 속도에 감동은 잠시였고,

그 다음 드는 생각이 뙇!! 뙇!! 이거욤 ㅡ.ㅡㅋ

"나의 486이라면, BASIC으로도 MSX 수준의 겜 만들수 있겠구나!"

그래... MSX에서 이루지못한 꿈(?)을 486으로 한번 해보자.ㅋㅋ


근데 막상 Quick BASIC 공부하면서 이리저리 돌려보니,

키입력이라던가 그래픽/사운드 처리를 하려면 C로 만든 LIB를 붙여야하더군요.

문득 중딩 시절 MSX에서 BASIC + 어셈블리로 프로그램 만들던 생각도 나긴했지만...

아무래도 이건 좀 아닌 것 같았습니다.


혹시 MSX팬 잡지에 있던 "수도관" 게임 아시나요?

그걸 Quick BASIC으로 포팅(?)해서 돌려본적이 있어요.

어쨌거나 BASIC은 답이 아니었습니다. 결국 포기하고 걍 C를 공부하는 걸로 방향을 바꿨습니다.


서점에 뛰어가서 "안녕하세요 터보C" 책을 사왔죠. 으흐흐... 재밌더군요.

근데 이걸로는 겜 만들려니, 할수 있는게 없네요.

다시 서점으로...ㅋ 다른 책을 하나 삽니다.

아래책인데, 아마 아시는 분 있으시죠? ㅎ.ㅎ




제목부터 "게임 만들기"입니다. 목적에 딱 맞는 책이죠ㅋ

사실 SF-2는 별로 관심도 없었고, 저자분(정영덕님)의 PGK LIB 사용법만 알 수 있으면 충분했습니다.

얘기나온김에 책사진 한장 더 올려보아요~




두어달 열심히 공부를 하다보니, 뭔가 알수없는 자신감이 생기더군요.

전격 결정~ 두둥...

MSX의 FEEDBACK 게임을 흉내내보자.


그림 실력은 없으니, 그래픽은 원본 2DD에서 뽑아쓰고,

사운드는 IQ2000 출력을 옥소리 PCM으로 녹음해서 쓰면 되겠구나...

FEEDBACK은 게임 자체에 MUSIC 모드가 있어서, 효과음 등을 쉽게 녹음할수가 있었습니다.

근데 배경음악은 PCM으로 하려니 용량 문제로 안되겠더군요.

결국 IMS 파일 몇개 받아서 때우는걸로 합의(?)했습니다.


시간은 흘러 94년 겨울방학이 됩니다.

대학 첫 겨울방학 두달내내... FEEDBACK 만드느라 다 보냈어요.

(아.. 운전면허도 따긴했네요 ㅋ)


아래는 당시 디럭스페인트2로 작업했던 그래픽데이터입니다.





대부분 원본 겜디스크 이미지에서 뽑은 데이터구요.

아이템, 총알은 따로 그린거라 MSX꺼랑은 좀 달라요.

팔레트 설정은 제가 눈으로 대충 맞춘거라... 요것도 좀 다르긴합니다.

스크린8로 나오는 타이틀 화면은 팔레트 값이 정해져있어서 제대로 나오는게 맞아요. ㅎ.ㅎ


근데 겨울 방학이 끝나도록 완성을 못했습니다.ㅋ

스테이지 6개 구현하는데 시간이 넘 많이 걸리더군요.

결국 두달이 더 지나서야 완성이 되었습니다. (물론 학교도 열심히 다녔어요ㅋ)


첨부된 파일의 문서를 보시면, 1995년 5월 6일이라고 써놨던데, 아마 그때쯤 업로드되었을꺼에요.

오래되서 기억이 가물하지만, 친구가 천리안에 업로드를 했었구요. (친구 아버님 ID로 ㅎㅎ)

하이텔 파라동엔 오산희님이 올려주신걸로 나오네요.




그 후, 96년 군입대하기전에 FEEDBACK 소스파일을 하이텔 게제동(게임제작 동호회)에 업로드했었습니다.

HDD 날려먹으면서 대학 1,2년때 만든 프로그램들 몽땅 날려먹었는데,

FEEDBACK은 다행히 게제동 소스가 남아있어요. 아마 이 소스 보신 분 있으시죠? ㅎ.ㅎ

소스가 넘 부끄러운 코딩 수준이라 안올릴꺼에요ㅋ


암튼 이런 아름다운(?) 추억이 있어, 20년 지난 지금 관련글도 써보고... 즐겁습니다~

흐...



마지막으로 DOSBox에서 찍은 스샷 몇개 올려보아요.

즐거운 밤 되셔요...


FEEDBACK 파일도 첨부합니다.

Download: FEEDBACK.zip


스샷도 몇장 넣어보아요~ ㅎ.ㅎ