잡학사전/레트로 월드

[DOS] 도스 게임 자동 실행 시스템 구축 (1탄)

노하우저장소 2020. 5. 21.

하루하루 새로 생겨나는 재밌는 것들이 세상에 넘쳐 다 체험해보지 못하고 죽을까 매일 쓸데없는 걱정하는 주제에 또 추억에까지 집착하는 경향이 있는 저는 포스팅 소재를 생각하다 불현듯 MS-DOS 시절을 떠올렸습니다.

그리고는 잠깐의 검색 만으로 윈도우에서도 MS-DOS 구동이 가능하다는 것, 그리고 과거의 프로그램이나 게임들을 구하는 게 그리 어렵지 않다는 것을 알게 됐습니다. 앞으로 해봐야 할 것들이 또 무궁무진하다는 사실!

PC를 처음 배우던 때는 인터넷이 없었던 것인지 일반화 되지 않았던 것인지 오로지 5인치 플로피 디스켓으로 게임을 복사해 모으던 시절이었습니다. 저는 국민학교 5학년 때 컴퓨터를 처음 배우게 됐습니다. 형편도 넉넉지 않은데 컴퓨터 게임을 하고 싶어 배움을 핑계로 친구 따라 컴퓨터 학원을 등록했고, 얼마 지나지 않아 분명 온갖 떼를 부려 중고 286 AT 본체, EGA 모니터, 20MB HDD(요즘 같으면 폰 사진 4장 정도 들어가겠네요 ㅎㅎ)도 갖게 되었습니다. 동기 부여는 게임이 역시 갑!

게임도 많이 했지만, 게임 정리와 디스켓 defragmentation, 불량섹터 점검 등으로 더 많은 시간을 허비했던 것 같습니다. 왜 그리 쓸데없는 것에 집착을 했었던지, 근데 천성이 어디 가나요, 지금도 마찬가지입니다 ㅎㅎ

다행히 나름 배우고 스스로 구축한 것도 있었습니다. 지금 생각해보면 대견한 정도였어요!

그 예로 지금은 증거가 없어 매우 아쉽지만, GW-BASIC으로 노래방 프로그램을 만들었습니다!

교과서에 실린 동요 반주(화음)에 맞춰 가사 글씨가 하나씩 색깔이 변하는 요즘의 노래방과 유사한 프로그램이었어요. 1990년대 초반에 노래방이라는게 있었는지도 의문이네요. 초딩이었던 제가 설마 비공식 최초 노래방 개발자는 아니겠죠?ㅋㅋ

노래 반주 만들기가 완전 노가다라 3 ~ 4개 정도 까지만 넣었던 것 같고, 번호를 고르면 반주가 흘렀죠. 반주는 음 길이를 최대한 잘게 쪼개어 두 개의 음이 교차되도록 하여 화음을 만들었던 것 까진 생각이 납니다. 기계음이라 뭐 지금은 소음처럼 들릴 수준이지만 이런 아이디어를 내고 실제로 만들어보았다는 사실이 좀 자랑스럽네요. 지금은 GW-BASIC 거의 하는 법을 잊었습니다. 더욱이 개발자도 되지못했고요. 다시 재현해보기는 어렵겠네요 ㅠ_ㅠ 서두가 좀 길었습니다!


오늘은 MS-DOS를 편리하게 사용하는 MS-DOS 게임 자동 실행 시스템을 공개하고자 합니다. 이렇게 하는 사람은 당시에도 없었고, 지금도 유사 사례를 찾지 못하겠습니다. DOS는 하나 하나 타이핑하는 게 번거로운 일인데, 매번 반복되는 타이핑이 귀찮아서 고민한 결과가 오늘의 주제입니다.

MS-DOS 구동하는 것은 DOSBOX라는 에뮬레이터를 이용하고, 설치 방법은 다른 데서도 쉽게 찾을 수 있으므로 생략하겠습니다. 기회가 되면 추가하도록 할게요.

 

<MS-DOS 게임/프로그램 자동 실행 시스템>

♥준비물 : DOSBOX (공식 싸이트), MDIR III (다운로드 가능한 곳)

구동원리요약

  1. DOSBOX 실행 시 MDIR의 MCD 모드 자동 실행
    ※ MCD 모드는 특정 디렉터리 단순 이동해주는 'CD 디렉토리명'과 같은 동작을 하는데, 디렉터리를 tree 형식으로 보여주며 방향키 등과 엔터만으로 간단히 이동할 수 있음, MCD 모드가 다른 프로그램인 줄 알고 인터넷 바다를 허우적거리다 1시간 넘게 보냈는데, mdir 프로그램 내부의 매뉴얼에서 확인! 이로서 본 포스팅이 가능하게 되었습니다!!
  2. MCD로 특정 게임이 들어있는 폴더를 선택하면, 자동으로 게임 실행
  3. 게임을 끝내면, 다시 처음의 MCD 모드가 실행되며, 상기 순서를 무한 반복함
  4. 따라서 HDD에 폴더별 저장된 게임이나 프로그램을 타이핑 없이 계속 골라가며 실행할 수 있음!

시스템 구축 방법

DOSBOX 기본 셋업 (DOSBOX 설치 과정은 생략)

  • mount : Dosbox가 가상의 C drive로 인식할 PC 내의 특정 폴더를 지정하는 과정이며 다음 autoexec.bat 수정을 통해 자동화시킵니다. DOSBOX를 실행하고 DOS 창에서 입력할 수 있습니다. (예 - mount c D:/DOS)
  • DOS용 폴더 설정 (지정할 특정 폴더): 저는 PC의 D drive에 DOS라는 폴더를 만들었고, 그 안에 MDIR 및 게임들을 폴더로 구성하였습니다.

 

Autoexec.bat 수정

  • 상기 mounting 과정을 자동화하고, auto.bat (다음에 설명)까지 자동 실행토록 코드를 추가하는 과정이며 아래를 따라 합니다.
  • DOSBOX의 autoexec.bat 파일은 설치한 프로그램 중 옵션(Options)이라는 것을 이용해서 수정함, 메모장으로 열리는데 내용 가장 아래에 autoexec가 위치하며 다음 예시 사진과 같이 코드 4줄을 추가합니다. 

Autoexec.bat 수정 방법과 예시

 

※ 아래 코드와 같이 넣으시면 됩니다.

@echo off
mount c D:\DOS
c:
auto.bat

 

Root 폴더(DOSBOX의 C drive 이자 앞서 지정한 특정 폴더)에 Auto.bat  배치파일 생성

  • 본 파일은 게임 자동 실행 시스템을 위해 별도로 추가하는 파일입니다.
  • 구동 원리는, MCD 모드 자동 실행게임 폴더가 선택되면, 각 폴더 내의 auto.bat (개별 게임 구동)를 자동 실행합니다.
  • 저의 경우에는 D:\DOS 폴더 내에 메모장으로 auto.bat를 만듭니다. 아래 코드를 넣고 저장하시면 됩니다. 탐색기 메뉴의 보기에서 '파일 확장명'이 체크되어 있지 않으면 txt 파일로 저장이 되므로 주의하세요. (auto.bat.txt로 저장되어 작동하지 않음)

  • 코드 상의 'mdir_3.10'은 제가 mdir를 저장한 폴더명이고, 여러분은 자신이 지정한 폴더명과 일치시켜주셔야 합니다.
@echo off
cd mdir_3.10 자신의 mdir 폴더명으로 수정할 것
m /C MCD 모드 실행 명령어
auto.bat

개별 게임 폴더에 Auto.bat 배치파일 생성

  • 개별 폴더 내에는 실행 파일명이 제각각이라 auto.bat로 통일된 배치파일을 만들었습니다.
  • 구동 원리는, 게임 실행 후 게임이 끝나면 root 폴더로 이동하여 auto.bat를 실행하여 처음 MCD 화면이 나오도록 합니다. 아래 코드로 또 메모장을 이용하여 생성합니다. 아래는 예시이며, 각 게임의 실행 파일 (exe 파일)의 이름을 입력합니다. Zeliard 정말 재밌게 했었는데 기회가 되면 공략집을 한 번 만들어 볼까요?
@echo off
zeliard ← 실제 실행할 파일명으로 수정할 것
cd\
auto.bat

이로써 모든 준비가 끝났습니다. 만약 게임이나 프로그램을 추가하신다면, 개별 폴더에 마지막 설명된 auto.bat 파일을 추가만 해주시면 되겠습니다.

구동 화면은 다음과 같습니다.

  • DOSBOX 실행하면 자동으로 MCD 모드 진입

 

  • 방향키를 이용하여 Zeliard 디렉터리로 이동한 뒤 엔터를 하면 바로 게임 구동

  • 게임을 끝내면 (Zeliard는 Ctrl + Q로 끝냅니다.) 다시 MCD 화면으로!

참고로 DOS용 게임은 다음 링크에서 구하실 수 있습니다. ▶ https://www.abandonwaredos.com/

본 과정만 따랐을 시 사운드가 아주 286 XT급입니다. DOSBOX에서 사운드카드 시뮬레이션도 지원한다고 하나 아직 익히지 못했기에 본 글에서는 생략하였고, 기회가 되면 또 써보도록 하겠습니다.

 

[DOS] 젤리아드(Zeliard) 사운드 카드 활성화

DOS 게임 중 가장 기억에 남은 게임 중 하나가 바로 젤리아드 입니다. 특히나 멋진 배경음악에 매료되었어요. 최근 도스박스를 이용해 게임 자동 실행 시스템을 거의 30년 만에 살려 낸 뒤 젤리아�

knowhowbank.tistory.com

제 글 실력이 부족하여 과정 이해에 어려움을 느끼신다면 질문해주세요! 성실히 답변해드리고 내용도 개선하겠습니다.

이상 도스에서 쉽게 프로그램을 구동 시킬 수 있는 노하우 소개를 마치겠습니다. 감사합니다.

 

배치 파일 다루기 참고 블로그

 

한기산님의 메모장 : 네이버 블로그

-세월호 사고 366일째 (4/16 - '15/4/16) 잘못은 유병언만했나.. 정부는, 구조실패는, 보상은, 그래서 앞으로 대책은? ???? - 참사 1주기. 변화는 없다. - 의료민영화 반대 - 복지없는증세..역시나. - 자원

m.blog.naver.com

 

댓글