디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

도스에서 vesa vbe 지원하게 에뮬레이션앱에서 작성

발명도둑잡기(118.216) 2025.09.12 18:31:14
조회 81 추천 0 댓글 0

vesa vbe 미지원 최신 vga를 도스에서 vbe 지원하게 에뮬레이션해주는 소프트웨어 가능한가

챗지피티
VESA VBE(Video BIOS Extension)를 지원하지 않는 최신 VGA 카드를 DOS에서 VBE를 사용하는 프로그램과 호환되게 만들어주는 소프트웨어적 에뮬레이션은 이론적으로 일부 가능하지만, 현실적으로는 매우 제한적이며 어려움이 많습니다. 아래에 그 이유와 가능한 대안들을 정리해 드리겠습니다:


---

✅ 가능한가? — 이론과 현실

이론상 가능성

VESA VBE는 BIOS 인터럽트(INT 10h)를 통해 제공됩니다.

소프트웨어 TSR (Terminate-and-Stay-Resident) 프로그램이 INT 10h 인터럽트를 가로채고, VBE 관련 호출을 자체적으로 구현하면, 어느 정도의 에뮬레이션은 가능합니다.

실제 메모리 접근과 비디오 모드 설정 등을 VGA 카드의 직접적인 하드웨어 인터페이스를 통해 우회하면 VBE처럼 동작하는 API를 만들 수 있습니다.


❌ 현실적 제약

1. 현대 VGA의 복잡성:

최신 GPU(예: NVIDIA, AMD)는 레거시 VGA 호환 모드를 최소화하거나 제거함.

레거시 VESA BIOS가 아예 없음. PCI-E VGA는 BIOS 호출조차 무시할 수 있음.



2. 도스는 실모드 운영체제:

실모드에서 현대 GPU의 레지스터나 메모리 공간에 접근하는 것은 거의 불가능함.



3. VESA는 단순한 API가 아님:

VBE는 하드웨어 추상화 계층을 제공하는 것이지, 단순히 메모리 블록 하나 던지는 것이 아님.

이를 정확히 흉내 내려면 실제로 하드웨어 제어가 가능해야 함 → 이는 실현 불가능에 가까움.



4. 드라이버 없는 환경:

DOS는 표준 드라이버 계층이 없으므로, VGA 카드의 내부 레지스터 맵을 직접 알아야 하며, 이건 비공개 정보임.





---

✅ 대안

1. UNIVBE / SciTech Display Doctor

예전 VGA 카드용 VBE TSR 유틸리티.

이미 VESA 1.2 정도만 지원하는 VGA에서도 VBE 2.0+ 인터페이스를 추가해줌.

단, 기본적으로 VBE BIOS가 일부라도 있는 VGA에서만 동작함.

최신 그래픽카드는 지원 못함.


2. VBE 에뮬레이션이 가능한 에뮬레이터 사용

현실적으로 가장 실용적인 대안은 에뮬레이터 사용입니다.

예:

DOSBox: VBE 2.0/3.0을 가상으로 지원. 실제 VGA 없이 동작 가능.

VirtualBox, QEMU: VBE BIOS 포함 가능 (옵션에 따라 다름).


도스에서 동작하는 그래픽 프로그램도 완벽하게 구동됨.


3. 실제 VESA 3.0 지원하는 구형 VGA 사용

예: S3 Trio64, Matrox Millennium, ATI Rage, 3dfx Voodoo3 등.

이들 중 다수는 UNIVBE 또는 자체 VBE BIOS를 가짐.



---

결론

소프트웨어로 VBE를 완전히 에뮬레이션하는 것은 이론적으로 가능하나, 실용적으로 불가능에 가까움입니다.

실제 하드웨어 수준의 VBE 인터페이스를 구현하려면, 하드웨어 사양 공개 없이 불가능합니다.

DOSBox 같은 에뮬레이터에서 실행하는 것이 현실적인 대안입니다.



---

필요하다면 DOSBox에서 VBE 2.0/3.0이 어떻게 에뮬레이션되는지 내부 구조도 설명드릴 수 있습니다.

좋습니다! 그러면 DOSBox에서 VESA VBE 2.0/3.0이 어떻게 에뮬레이션되는지 좀 더 자세히 설명드릴게요. 흥미로운 구조입니다.


---

DOSBox의 VESA VBE 에뮬레이션 방식

1. 가짜 BIOS 인터럽트(INT 10h) 구현

DOSBox는 내부적으로 INT 10h 인터럽트를 가로채서 VESA BIOS Extension 기능을 가짜로 구현합니다.

실제 VGA 하드웨어가 없더라도 VBE 2.0 또는 3.0 API 호출에 대해 응답하도록 설계됨.

예: AX=4F00h (VBE 정보 요청) → 내부 가상 구조체를 만들어 응답.


2. VESA 모드 번호 및 해상도 지원

DOSBox는 VESA 모드를 에뮬레이트하며, 일반적으로 다음 해상도를 지원함:

640x480, 800x600, 1024x768, 1280x1024 등.


실제 화면은 OpenGL/SDL로 렌더링되므로, 실제 VGA의 제한이 없음.


3. Linear Frame Buffer (LFB) 지원

VESA 2.0 이상에서는 LFB를 통해 그래픽 메모리에 직접 접근이 가능함.

DOSBox는 이 LFB 영역도 가상 메모리 영역으로 에뮬레이션하여 제공.

보통 A0000h 또는 E0000000h 영역을 가짜로 매핑함.

예전 고정된 VGA 메모리(A000:0000) 외에도, bank switching 없이 메모리 접근 가능하게 함.



4. VBE 기능 레벨 시뮬레이션

VBE 1.2, 2.0, 3.0까지 어느 정도 동작하도록 레벨 선택 가능.

내부적으로는 모두 "소프트웨어 구현"임 — 실제 BIOS 없음.



---

관련 설정 방법 (dosbox.conf 예시)

[sdl]
fullscreen=true

[dosbox]
machine=vesa_nolfb

[video]
vmemsize=8

[render]
scaler=normal2x

[autoexec]
mount c c:\dosprog
c:

machine=vesa_nolfb → VESA 모드에서 LFB 비활성화 (특정 호환성용)

또는 machine=svga_s3 → S3 VBE BIOS 에뮬레이션



---

✅ 장점 요약

항목 실제 VGA 카드 DOSBox

VBE 2.0 지원 여부 최신 카드 대부분 미지원 완벽 지원 (가상)
BIOS INT 10h 호출 실제 BIOS 필요 소프트웨어로 가로채서 구현
해상도 확장 VGA 카드 제약 원하는 해상도 대부분 가능
안정성 VGA 종류마다 다름 완전히 통제 가능



---

참고로, UniVBE (SciTech Display Doctor)는...

DOSBox에서 사용할 필요가 없습니다. 이미 DOSBox가 자체 VESA BIOS를 제공하기 때문입니다. UniVBE는 실 VGA가 있는 환경에서만 유효합니다.


---

궁금한 점이나 VESA 모드 테스트 방법, 또는 특정 도스 그래픽 프로그램 실행 관련 도움도 드릴 수 있습니다.


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48779 65
2905229 뽐‟뿌‘ „게•시¨글‸ º써´주‵시․면▿ ’1•건-당“ ‾1▵-․5‗ ′만‚원’ ;드”립-니▹다∙.⫶ ‥불°법‾ '이‵상‗한‶거▹ ′절‸대∙ °아°님´.′ ․ ㉪ᅡ㉫ㅗᄀ  CD ➋❸ \\뽐뿌$(211.36) 08:29 0 0
2905227 그레셤의 법칙이 더닝크루거에 선행한다 [23] chironpractor갤로그로 이동합니다. 07:57 38 0
2905224 맨날 뭐 망하라는 소리만 하면서 왜 자기가 애국자인척을 하지 ㅇㅇ갤로그로 이동합니다. 07:23 15 0
2905221 인지과학조져라 손발이시립디다갤로그로 이동합니다. 06:59 13 0
2905219 김영회 동국대 향가연구실장 "양주동 박사 향가 해독법 틀렸다" 발명도둑잡기(39.7) 06:46 12 0
2905218 일본 '만엽집' 대가 "일본은 아름다운 평화를 지향해야 한다" 발명도둑잡기(39.7) 06:37 12 0
2905217 양쪽 얘기 듣자는게 왜 역사왜곡임? [5] chironpractor갤로그로 이동합니다. 06:34 26 0
2905216 박원순 자ㅡ살 맞는지가 의문 [1] 발명도둑잡기(39.7) 06:22 18 0
2905215 스위스는 매달 전국민이 우편투표로 직접민주정치 발명도둑잡기(39.7) 06:15 10 0
2905214 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥멘헤라냥덩♥갤로그로 이동합니다. 06:12 13 0
2905212 죽어가는 국민의힘 되살리는 기초의회 ‘2인 선거구’, 더 늘어나나 발명도둑잡기(39.7) 06:01 14 0
2905211 재명이 존나 찐따같네;; 카메라 보이니까 왕따 아닌척 발악;; [5] ♥멘헤라냥덩♥갤로그로 이동합니다. 06:00 29 0
2905210 진보당, 무주택자·세입자·청년의 ‘감당 가능한 주거’ 7대 정책 제안 [1] 발명도둑잡기(39.7) 06:00 14 0
2905208 경력기술서쓰는데 궁금한거 있음 [3] 프갤러(58.76) 05:07 31 0
2905207 미국 음반 시장 순위 조작을 위한 사재기 있나 발명도둑잡기(39.7) 04:50 28 0
2905203 <하우스 오브 다이너마이트> 인기래서 생각나는 예전 글 발명도둑잡기(39.7) 03:59 17 0
2905200 오늘의 소설, 영화 실마리: 초코파이 재판과 노조원 이야기 발명도둑잡기(39.7) 03:23 13 0
2905195 이익 배분 게임과 지능의 상관관계 [1] 발명도둑잡기(39.7) 03:15 24 0
2905193 넷마블 해킹 SQL 인젝션 추정 [1] ㅇㅇ(175.197) 02:47 39 0
2905191 넥스트 N.EX.T-Dear America 무삭제 발명도둑잡기(39.7) 02:08 15 0
2905190 아니 잼미니 미친년 지맘대로 배포 해버리네 ㅋㅋ 프갤러(218.236) 02:05 31 0
2905187 슈베르트-마왕 발명도둑잡기(39.7) 01:46 12 0
2905186 제리케이-마왕 발명도둑잡기(39.7) 01:45 11 0
2905185 요즘 어셈으로 짤 일이 많아서 그런가 [1] 루도그담당(58.233) 01:23 37 0
2905184 수이 블루비드 다녀옴 [1] 따당갤로그로 이동합니다. 01:22 33 0
2905181 나님 콧대가 그렇게 이뽀..? 따당갤로그로 이동합니다. 00:35 49 0
2905179 독도 간접 언급한 中, 포털사이트·AI도 “독도는 한국 땅” 발명도둑잡기(39.7) 00:12 16 0
2905178 페이커닮은 개발자 찾습니다 [2] 프갤러(106.101) 00:11 46 0
2905177 언리얼 메뉴얼 진짜 거지같네 [4] 프갤러(114.205) 00:01 46 0
2905175 개발하냐고 글 쓸 시간도 없고 ㅁㅌ겠네 ㅠㅠ [4] 나르시갤로그로 이동합니다. 11.27 29 0
2905174 세계최초의 최상위 수준 C API 래핑 설계 패턴인가? 나르시갤로그로 이동합니다. 11.27 31 0
2905173 N-Arity 제네릭 래퍼 + 중앙 집중식 예외 매퍼' 아키텍처 나르시갤로그로 이동합니다. 11.27 14 0
2905172 Clair 라이브러리: 예외 처리 C 바인딩 아키텍처 [1] 나르시갤로그로 이동합니다. 11.27 28 0
2905171 옛날에 nuri.net이 뭐였더라 발명도둑잡기(39.7) 11.27 22 0
2905170 중국 딥시크가 미국 AI 압살하는중 ㄷㄷ [4] ㅇㅇ갤로그로 이동합니다. 11.27 53 0
2905169 ‘성폭력 발언’ 이준석 불송치에…“막말 자유권은 없다” 반발 봇물 발명도둑잡기(39.7) 11.27 15 0
2905168 민주당, '2인선거구로 쪼개기'에 합세한다면 내란본당 국민의힘 부활 발명도둑잡기(39.7) 11.27 18 0
2905167 뭔가 소화가 잘 안된느낌 [1] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.27 38 0
2905166 [애니뉴스] YxD Labs - 유튜브 링크 공유 ㅇㅇ(121.172) 11.27 14 0
2905165 MS 엣지브라우저 msn에 중요 노출되는 극우 황색지들 발명도둑잡기(39.7) 11.27 14 0
2905164 이세돌이 바둑 은퇴한거 이제 실감난다 [1] 프갤러(110.70) 11.27 27 0
2905163 컴퓨터로 일하는데 싸구려컴 쓰는 이유가 뭐임? [5] 에이도비갤로그로 이동합니다. 11.27 59 0
2905162 핫딜 놓쳐서 월급 10% 날림 실화? 프갤러(117.111) 11.27 39 0
2905161 안타까운 점은 대충 아는 애들이 확신에 차있다는거임 [13] 박민준갤로그로 이동합니다. 11.27 68 0
2905160 50위권 밖에 있는 언어들은 대체 왜 만든거냐? [2] 두정갑(221.149) 11.27 41 0
2905157 에구궁 피궁타 ♥멘헤라냥덩♥갤로그로 이동합니다. 11.27 36 0
2905156 Go 개발환경은 LiteIDE와 VS-Code 둘 중 어느 게 나음? [2] 두정갑(221.149) 11.27 39 0
2905155 여자아이 팬티냄새 맡고싶네 류류(121.160) 11.27 26 0
2905150 몇 시간 전부터 내 방 두번째 공유기가 재부팅 해도 발명도둑잡기(39.7) 11.27 20 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2