DOSBox

 

[image]
오픈 소스 DOS 에뮬레이터.
1. 개요
2. 존재 이유
3. 기능
4. 전개
4.1. 상업용
4.2. 핸드폰
5. 단점
5.1. 윈도우7/10에서의 인풋렉
5.2. 아직까지 부족한 호환성
6. 파생 버전


1. 개요


말 그대로 DOS(특히 MS-DOS)를 최신 운영체제에서 맛볼 수 있도록 돌려주는 에뮬레이터다. 지원대상은 대표적인 운영체제 3종 Windows, macOS, 리눅스 전부다. 심지어, 업데이트는 안되고 있지만 Solaris, BeOS 버전도 있다. 따라서 현존 대부분의 OS를 지원한다고 볼 수 있다. 라이선스는 GPL. 공식 최신 버전은 2019년 6월에 출시된 0.74-3이나 사실상 2010년의 0.74와 실질적인 차이가 미미하다. 단, 공식(안정화) 버전의 출시는 느려도 소스코드 자체의 업데이트는 현재까지 지속적으로 이루어지고 있으며, 이 때문에 최신의 변경사항을 누리기 위하여 저장소(SVN) 에 있는 소스코드를 직접 EXE로 빌드하여 만드는 SVN 버전들이 다양하게 있다. 이 과정에서 각자 나름의 추가기능들을 덧붙인 변종 버전들이 있으며, 이 때문에 공식 버전보다 아래 있는 Dosbox-X나 SVN 버전과 같은 변종 버전들의 공개가 더 활발하게 이루어지는 상황이다.
공식 홈페이지는 원래 유명 개발 플랫폼 사이트인 SourceForge에 있다가 2012년 10월 21일 http://www.dosbox.com으로 이전되었다. 그러나 다운로드는 소스포지에서 한다. 국내에 처음 DOSBox가 알려진 건 0.58 이후부터다. PCjr이 아직 50% 공정인 것을 생각하면 PC-DOS 구현은 무리. SHELL과 ISO도 아직은 완벽호환이 안 된다.

2. 존재 이유


Windows Me까진 DOS 7.0이나 8.0[1] 위에서 돌아간다고 볼 수도 있는 운영체제이지만 Windows 2000/XP부터는 본격적으로 NT 기반 커널로 완전히 밑바탕까지 바꾸게 되어 기존 MS-DOS용 응용 프로그램과의 호환성이 현저히 떨어진다.[2] 사실 Windows 95부터 MS-DOS 응용 프로그램의 호환이 잘 안 돼서 구동할 경우 문제점이 많았는데,[3] Windows 2000/XP가 보급되기 시작하면서는 문제가 더 심각해졌다. 또한 하드웨어 간 데이터 전송 프로토콜까지 옛날과 천지 차이로 달라졌기 때문에 MS-DOS나 Windows 9X 계열 운영 체제를 설치하더라도 그 시절 응용 프로그램들이 제대로 돌아가지 않게 되었다.(특히 PCI 사운드 카드) 2020년 부터 출시되는 거의 모든 컴퓨터들은 CSM(호환성 지원 모듈) 기능이 제거될 예정임에 따라 MS-DOS 등의 레거시 운영 체제를 설치해 사용하는 것이 불가능해진다.
그런데 이 프로그램은 현재의 우월한 하드웨어 성능을 이용하여 옛날 하드웨어를 가상으로 구현했다. 덕분에 그래픽 카드(CGA/EGA/초기VGA/허큘리스/S3 Graphics)부터 사운드 카드(애드립/사운드 블라스터/미디(MPU-401, MT-32))는 물론, 모뎀까지 에뮬레이션 하고 있다. 덕분에 당시 모뎀으로 넷플레이가 가능한 게임도 가상 IP까지 만들어서 게임하는 것이 가능하다. 더불어 PC 스피커로 나오는 비프음까지 에뮬레이션 하고 있다.

3. 기능


기본적으로 도스 시절의 게임을 플레이할 수 있는 환경을 제공해준다. 물론 게임이 아닌 도스용 응용프로그램도 실행시킬 수 있지만 특별한 경우가 아닌 한 거의 게임 구동용으로 쓰이고 있다. 기본 설정이 잘 되어 있기 때문에 메모리를 많이 차지하는 게임이라든지 EMM386이 필요한 게임도 잘 에뮬레이트하여 실행에 거의 문제가 없다. 다만 autoexec.bat와 config.sys를 건드려봤자 소용없고, dosbox.conf라는 파일을 건드려야 적용된다.
CD 드라이브도 지원하고, 별도의 명령어로 추가해주거나 GUI 메뉴로 실제 드라이브는 물론이고 이미지 파일로도 마운트할 수 있다. 단, CD 오디오 기능을 사용하려면 설정을 더 추가해야 한다.[4]
VMwareVirtualBox에서 단순히 가상머신의 역할을 하면서 CPU 커맨드는 네이티브의 것을 그대로 쓰는 것과는 달리 CPU 레벨부터 100% 소프트웨어로 에뮬레이션 하는 형태를 가지고 있다.[5] 따라서, 어떤 환경에서든 어지간한 CPU 성능만 되면 거의 완벽한 호환성을 보장할 수 있다는 것이다.[6] 덕분에 핸드폰에서조차 도스게임을 문제 없이 돌릴 수 있다. 이것은 DOSBox의 베이스가 되는 에뮬레이터인 Bochs의 특성이기도 한데, 그 반대 급부로 소프트웨어적으로 처리되기 때문에 느리다는 단점이 생기게 된다. 또한, 그 호환성조차 CPU나 각종 환경을 프로그래밍하는 수준에 따라 좌우된다는 문제도 있다.
이렇게 확보된 호환성 덕분에 DOS 위에서 돌아가는 Windows 9X까지 설치할 수 있다.[7] Windows 1.0과 2.0은 도스 버전을 3.31로 낮춰야[8]실행 가능하며 98 SE도 이제는 게임 실행용으로 사용 가능한 수준에 도달했다. Windows 95는 도스박스를 자바스크립트를 통해 웹에서도 돌릴 수 있을 정도이다.(링크) 윈도우 Me도 비공식적으로 부팅에 성공하였다. 다만, 설치중 오류가 발생하여 가상머신에 윈도우즈 Me를 설치하고 데이터를 추출해 도스박스 이미지에 올려주는 식으로 부팅하여 꽤 번거롭다. 애당초 FAT32 시스템 지원의 한계성이 보이는 대표적인 사례라고 볼 수 있다.

DOSBox+윈도우즈 95+디아블로 구동 영상
스타크래프트도 제법 원활하게 돌아가지만 버벅거리는 현상이 좀 많고 DirectDraw와 DirectSound 가속을 꺼야 제대로 돌아간다.
참고로 실제 IPX로 연결되어 있지 않는 컴퓨터에서도 IP 주소를 이용하여 IPX 네트워크를 에뮬레이팅해주기도 한다. 터널링도 해주기 때문에 인터넷 상에 있는 사람과도 플레이할 수 있다.
방법은
  1. 서버측과 클라이언트측의 DOSBox 폴더에 있는 dosbox.conf 파일을 메모장으로 열어서 맨 아래의
    [
    IPX
    ]
    부분의 ipx=false를 ipx=true로 변경
  2. 서버측 PC에서는 DOSBox 내부에서 ipxnet startserver 명령을 입력하고(IPX Tunneling Server started 메시지를 확인)
  3. 클라이언트측 PC에서는 DOSBOX 내부에서 ipxnet connect(서버측 PC의 IP주소) 명령을 입력한 뒤에(IPX Tunneling Client connected to server(IP주소) 메시지를 확인)
  4. 양쪽 PC에서 IPX 네트워크 기능이 있는 게임을 켠 다음에 IPX 네트워크에 들어가면 된다.
이 때 서버측 PC는 실제로 게임을 플레이하지 않는 제 3자가 DOSBox를 켜 놓기만 해도 된다.
또한 IPX 네트워크 플레이를 지원하지 않는 일부 게임을 위해 모뎀이나 널 모뎀을 에뮬레이팅한다. doxbox.conf에서 설정을 해주고 모뎀의 경우는 전화번호 대신 IP주소를 입력하여 접속하고,[9] 널 모뎀은 doxbox.conf를 설정할 때 한쪽에는 nullmodem을, 다른 쪽에는 nullmodem server:상대쪽의 IP주소를 입력하여 연결할 수 있다(서버 쪽에서 먼저 접속하여야 한다).
공식 홈페이지 - http://www.dosbox.com


도스박스에서 시리얼 포트 널 모뎀을 이용한 멀티플레이 게임을 구동한 영상. 실기만큼 잘 구동되진 않는다는 평이다.

4. 전개



4.1. 상업용


상업용으로도 그 높은 완성도가 인정받아, 스팀이나 GOG 같은 옛날 게임을 온라인으로 판매하는 업체에서 사용하고 있을 정도다.[10] 예를 들어 X-COM을 다운받으면 DOSBox+게임 조합으로 미리 세팅된 파일을 설치하게 되는 문자 그대로의 '''합법에뮬''' 구조. DRM이 걸려 있지 않아서 게임 폴더 통째로 다른 DOSBox나 리얼 DOS 머신(?)에 복사해서 돌리면 아주 잘 돈다.
다만 GOG에서 제공하는 게임의 경우는 자신이 사용할 목적이라면 여러 대의 PC에 설치해도 무관하도록 라이선스가 되어 있으니 걱정하지 말자.
DosBox 공식 홈페이지에서도 도스 게임 여기서 구입하라고 GOG 홈페이지를 링크해놨다.

4.2. 핸드폰


iOS용으로도 포팅이 되어 iDOS라는 이름으로 앱스토어에 승인, 판매되었으나 하루도 채 지나지 않아 앱스토어에서 내려진 흑역사가 있다. 당시 올라온 앱을 구매한 사람들은 아무 문제 없이 기동 가능. 포팅된 dosbox 버전은 0.74. 아이패드 버전의 경우에는 만족스러운 해상도로, 유명한 고전 게임들은 거의 문제없이 구동해낸다.
한번 내려졌다가 기본 게임을 추가한 무료 버전으로 다시 올라왔다. 이쪽도 얼마 안가 내려갔는데, 이 땐 버그 잡으려고 개발자가 내렸다는 말이 있다. iPhone Explorer같은 프로그램을 사용하면 도스 게임을 집어 넣어서 플레이 하는 것이 가능하다.
2013년 2월 7일 기준, 유료버전으로 다시 돌아왔다, 하지만 ios 8.3 업데이트에 따라, 서드파티 앱으로 idos의 샌드박스에 접근할 수 없게 되었다, 즉, '''게임을 넣을 수가 없게 되었다.'''
2017년 2월 현재 아이폰용 앱스토어에 있는 도스박스는 iDOS 2가 유일한데, 구입해서 쓰려하면 아직까지 게임을 넣을 수 없다. 하지만 구입 후, 영수증 스샷을 제작자에게 이메일을 해서 베타키를 요청하면 Test Flight 앱에서 베타버전의 iDOS 2를 받아 쓸 수 있다. 파일 이동도 itunes를 이용해 자유롭게 쓸 수 있으나 한달, 두달마다 expire돼서 사용을 못하게 된다. 그 때마다 제작자가 다시 베타 등록을 해서 갱신하기 전까진 파일 이동이 불가능하다. 이미 아이폰에 넣어 놓은 것들은 계속 할 수 있지만. 보통 expire되고 3-4일이면 다시 베타 등록을 해준다. 참고로 이 iDOS 2는 속도는 나쁘지 않게 돌아가지만 기능이 상당히 빈약하다. 버튼 커스터마이즈도 상당히 제약이 많고 마우스 쓰는 게임이면 그냥 안 하는게 낫다. MIDI 지원도 개발중이라 말만하고 있는 중이라 MIDI 음원을 들을 수도 없다. 진짜 대안이 이거 밖에 없으니 쓰는 셈이다.
2020년 9월 20일 4년만에 iDOS2 패치가 진행되었다. iOS 14와 iPadOS 14에서 다시 사용 가능하다. 여전히 도스박스 0.74 버전이지만 최신 OS에서 도스를 다시 사용할 수 있게 된 것에 기뻐하자.
맥북이 있다면 Xcode 깔고 소스를 GitHub에서 받아다 컴파일해서 넣으면 된다. 프로젝트는 dospad를 선택하고, bundle identifier는 적당히 바꿔주고, target platform은 6.0으로 세팅하면 문제 없다. 이렇게 설치하면 아이튠즈에서 직접 파일을 넣을 수 있다. 유통기한도 1년 정도이니, test flight을 받는 것보다 덜 번거롭다. 다만 코드가 32비트인 것으로 보여 ios10 이후에 32비트 앱의 실행을 중단하면 어찌될지 모른다.
안드로이드 버전도 개발 중이다. 현재 최신 버전은 2011년 5월에 릴리즈된 0.25로, 이전 버전들에 비해 어느 정도의 속도 향상이 있고, 가상 키패드를 지원해 쿼티 키보드가 없어도 제한적이나마 사용할 수 있게 되었다. 안드로이드 2.2(프로요) 이상의 OS가 필요하다. 그 밖에 DOSBox 소스를 이용해서 AnDOSBox와 DOSBox Turbo라는 포팅판도 나왔는데, 이 두 버전은 속도는 빠르긴 하지만 '''유료'''이며 무료버전은 aFreebox다.
2017년 2월 현재 안드로이드용 DOSBOX는 Magic DosBox가 가장 좋은 평을 받고 있다. 다른 포팅과는 비교가 안 될 정도의 커스터마이징을 지원하며, 기능과 성능 또한 최고다. 다른 DOSBox 포팅들이 이미 업데이트 안 한지 몇 달, 심하면 몇 년 이상 되가지만 Magic DosBox는 꾸준히 업데이트를 해주고 있다는 것도 큰 장점이다. MIDI의 경우 롤랜드 MT-32의 ROM을 지원하며 사운드폰트도 지원하는 덕분에 찾아넣고 설정만 잘 해주면 MIDI 사운드도 잘 나온다. 일단 무료 시험판이 있으니 써보면 그 성능을 알 것이다. 다만 UI 그래픽이 다소 많이 투박하며, 지원하는 기능의 범위에 비해 사용 편의성이 불편한 편이다. 또한 글라이드 가속[11]을 지원하지 않는다.[12]

5. 단점



5.1. 윈도우7/10에서의 인풋렉


윈도우XP에서는 이런 문제가 없지만 윈도우7/10에서는 출력방식에 따라 인풋랙이 생길 수 있다. 이는 Doxbox가 사용하는 기본출력 방식이 윈도우7/10에서는 OS상에서 한번 더 에뮬레이트가 되기 때문인데 인풋랙 발생은 사용하는 시스템에 따라 천차만별이다. 만약 인풋랙이 심하다면 Surface,ddraw말고 opengl이나 overlay같은 다른 출력방식으로 전환해보자.

5.2. 아직까지 부족한 호환성


몇몇 게임의 경우 여전히 호환성 문제로 제대로 실행이 안되고 있다. 예를 들어 극히 일부 게임(특히 VESA 그래픽을 쓴다거나 하는 당시의 고해상도 게임 및 해당 게임의 고해상도 모드)은 실행이 안 되는 문제가 있는데, 공식 홈페이지에 올라와 있는 게임 호환표를 참조하여 비극(?)을 막자.
Windows 95를 설치하면 당시 고성능 게임들은 포기해야한다. 왜냐하면 실행이 안되거나 거부한다(...)

6. 파생 버전


오픈소스이니만큼 포크 버전이나 성능, 기능을 개량하거나 자신들의 소프트웨어 일부에 DOSBox를 이용하는 변종 파생 버전이 여럿 존재한다.
국산 파생 버전으로 파생 버전 중에서 가장 유명한 버전이다. 심지어 외국에도 제법 알려져 있는 모양. 한국 도스박스 카페의 카페지기가 개발한 파생 버전이다. DOSBox는 2012년에 0.74버전을 내놓은 후 계속해서 정식버전을 업데이트하지 않았는데[13] 개발이 중단된 것은 아니어서 SourceForge에 SVN[14]은 지속적으로 올라오고 있었기 때문에 도스박스 카페지기가 최신 SVN 소스를 가져와 빌드하면서 외부 소스를 추가적으로 덧붙여서 원본 DOSBox에 없는 추가적인 기능과 GUI[15]를 포함하게 한 버전이 이 SVN Daum Ver.이다. 부두 에뮬레이션을 지원해서 3D 게임을 구동할 수 있으며, 그래픽 출력과 글라이드 에뮬레이션 부분을 OpenGL로 설정하면 안정적으로 쓸 수 있다. 그리고 Voodoo는 최대 8 MB의 비디오 메모리를 지원한다.
랜 카드 에뮬레이션을 지원해서 이런 저런 걸 설치해주기만 하면 인터넷도 돌릴 수 있다. 물론 도스박스가 에뮬레이팅하는 시스템의 한계와 현재의 웹 환경 때문에 원활하게 돌리는 것은 힘들다. 특히 한글 인터넷 익스플로러 4.0 이상의 버전과의 상성이 매우 안 좋아 그림이 죄다 깨져 나온다. 근데 영문판은 그냥 나오고 자바스크립트를 꺼야 어느 정도는 가능해진다. 설치 때도 에러 하나 이상은 보게 된다. 오페라처럼 저사양에 최적화된 다른 웹브라우저를 사용하는 것이 낫다. 물론 (이메일 클라이언트를 사용하는) 이메일이나 IRC 채팅, 또는 밴티지 마스터 같은 90년대 2D 인터넷 게임을 하려 하면 큰 무리없이 이용할 수 있다. 또한 컴퓨터가 Wi-Fi을 사용하면 네트워크 에뮬레이션은 안 작동된다. 'winpcap'이라는 패킷 캡처 프로그램을 이용해서 네트워크에 접속하는 방식인데, 이 winpcap 자체가 Wi-Fi 패킷 캡처를 지원하지 않는다. 정확하게는 지원하긴 하는데 별도의 USB 동글을 연결해줘야 한다. 근데 이게 좀 매우 비싼지라... 802.11n 규격 지원 동글은 100만 원이 넘어갔다. 정 안되면 가상 시리얼 포트 드라이버를 깔고 가상 머신에 리눅스를 깔고 ppp 서버를 깔아서 서로 연결해서 전화 접속 형태로 인터넷에 연결하는 매~우 복잡한 방법과 와이어샤크를 이용하는 방법이 있다.
GUI 덕에 별도의 프론트엔드 없이도 편리하게 쓸 수 있고 추가된 기능이 게임하기에도 좋긴 하지만 아무래도 정식 릴리즈가 아닌 SVN을 기반으로 빌드했기 때문에 Daum 버전이 자체적으로 가진 문제도 많다. 그렇기 때문에, 혹시나 프로그램 실행에 문제가 있으면, 순정 버전으로 실행하면 문제가 사라지는 경우도 있으니 참고. 그리고 2015년 1월에 SVN r3894 빌드를 마지막으로 현재 업데이트가 중단된 상태이다.
역시 DOSBox의 SVN을 베이스로 하고 있는 파생 버전. DOSBox SVN Daum Ver.과 비슷한 목표를 지니고 있고 똑같이 SVN을 빌드해서 기능을 추가하여 공개하는 버전이다. 제공하는 추가기능도 3dfx Voodoo 지원, MT-32 지원 등으로 대체로 SVN Daum Ver.과 비슷하다. 그러나 GUI는 제공하지 않기 때문에 편하게 쓰려면 오리지널 버전 처럼 프론트엔드를 물려야 하는 것이 결점. 현재도 업데이트가 진행되고 있으므로 비교적 최신 SVN 빌드가 적용되어있다.
DOSBox의 포크 버전이다. 포크 버전이니만큼 위의 두 버전과 달리 도스박스의 최신 SVN 빌드를 가져다 기능을 추가하는 것이 아니라 별도의 버전넘버를 지니고 개발되고 있다. 목표는 오리지널 버전보다 좀 더 정확한 에뮬레이션을 제공하여 실제 DOS 머신처럼 사용할 수 있게, 장기적으로는 Windows 9x의 원활한 동작까지를 바라보고 있으며 추가로 내장 GUI를 제공하므로 DOSBox SVN Daum Ver. 처럼 편리하게 사용이 가능하다. 원래는 깃허브에 소스를 공개했으나 바이너리는 공개하지 않았으므로 직접 소스를 받아서 컴파일해서 쓰던지, 컴파일된 바이너리를 공개하는 사이트에서 따로 구해다 쓰는 수밖에 없었으나 2020년 3월 릴리즈된 0.83 버전부터는 윈도우, MAC OS[16], 리눅스, MS-DOS(!) 바이너리를 제공하고 있다. 개발이 계속적으로 진행되고 있는만큼 제공하는 기능도 상당히 다양하여 SVN Daum Ver.처럼 글라이드 에뮬레이션이나 MT-32 에뮬레이션을 지원하는 것은 물론, PC-9801 에뮬레이션까지 제공한다. 참고로 도스게임런처는 Dosbox-X를 이용하여 게임을 구동하고 있다.
  • 기타 파생 버전
DOSBox를 이용하고 있는, 혹은 DOSBox를 편리하게 이용하게 해주는 프로그램으로 이지도스박스와 도스게임런처가 있다. 이지도스박스는 실행파일의 마우스 우클릭 등으로 편하게 도스박스를 이용할 수 있고, 도스게임런처는 런처 형식으로 이용할 수 있게 해준다. 다만 이지도스박스는 개발자의 흑역사로 인해 묻혔고, 도스게임런처는 게등위의 등급분류를 받지 않은 게임물로 간주해서 홈페이지를 폐쇄시켰기에 문제가 된 저작권 게임들(주로 윈도우 95 게임)을 제외한 DOS용 및 윈도우 3.1 게임만을 대상으로 하여 다시 오픈하였다.


[1] Windows 95는 DOS 7.0, 98은 7.1, Me는 8.0이 내장되어 있다.[2] 특히 Windows XP는 프로페셔널판인 경우 그룹 정책에서 16비트 응용 프로그램의 실행을 제한할 수도 있다.[3] 애초에 Windows 95부터는 구조적으로는 DOS 위에서 Windows가 구동되긴 했지만 실질적으로는 DOS가 죽은 것이나 다름 없었다. 자세한 것은 해당 문서 참조.[4] Windows 3.1에서는 CD를 넣고 마운트만해도 오디오 플레이어에서 재생할 수 있다.(DOSBox daum SVN 기준)[5] 현존 CPU는 8, 16비트 명령어를 '에뮬레이트'만 하고 있는데, 당연히 하드웨어적인 리얼 8, 16비트 명령어를 지원하는 것에 비해 문제가 많다. 인텔아이태니엄 시리즈가 왜 AMD에서 나온 AMD64에 짓밟혔는지 상기해보자. 아이태니엄은 32비트 명령어조차 에뮬레이트했다.[6] 다시 말해서, 윈도 환경에서 DOSBox를 사용하면 '''x86 CPU에서 x86 에뮬레이터를 돌리는''' 꼴이 된다. 하지만 64비트 OS 상에서는 AMD64의 구조상 16비트 이하의 프로그램을 못 돌리므로 이런 게 필요하긴 하다.[7] 이게 무슨 뻘짓이냐고 하겠지만, 실제로 도스기반 버젼 윈도우가 아니면 실질적으로 실행이 불가능한 프로그램들이 있다. 물론 보통 프로그램이라면 굳이 구 버전을 쓸 필요가 없지만, 당시의 게임이라면 이런 형태나 멀티부팅, 버추얼 PC 등이 아니면 돌릴 수가 없다. 특히 8 이후의 윈도우는 하위 호환성이 크게 떨어져서 이런 식으로 돌리는 방법만이 정상 실행을 보장한다.[8] ver set 3 31[9] 이 입력이 안되는 게임이 몇가지 있는데, 이 때는 (만약 IP주소가 127.0.0.1이라면) 127000000001와 같이 입력해주면 된다.[10] 손노리에서 발매했던 패키지의 로망도 포함된 게임중 도스게임들에는 도스박스가 함께 포함되어 있다.[11] Voodoo 에뮬레이션[12] 위 문단에서 언급된 DOSBox Turbo(aFreebox)는 지원한다.[13] 실제로 마이너 업그레이드 버전인 0.74-2 버전이 공개된 것은 6년이나 지난 2018년이었다. 8년이 지난 2020년 현재도 0.74-3 버전이 최신 버전이며 0.75 버전은 개발을 진행하고 있으나 버그가 아직 다 잡히지 않아 공개하고 있지 못하다는 DOSBox 팀의 코멘트가 있었다.[14] SVN은 원래 SubVersioN의 약어로 자유소프트웨어 진영에서 사용하는 버전 관리 시스템이다. SVN r0000 하고 붙는 서브 버전 넘버도 자동으로 붙여준다.[15] 아래에 서술하는 DOSBox-X의 GUI 소스를 수혈했다고 한다.[16] 인텔 맥은 물론 ARM 맥도 네이티브로 지원한다.