디시인사이드 갤러리

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

갤러리 본문 영역

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

발명도둑잡기(118.216) 2025.07.12 01:16:25
조회 54 추천 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 모드 테스트 방법, 또는 특정 도스 그래픽 프로그램 실행 관련 도움도 드릴 수 있습니다.


"도둑은 집을 떠나며 주인을 욕한다" - 러시아 속담
송대관-해뜰날
https://youtu.be/DUsVXmywSCk

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
2872029 비슷한 원리로 대기업도 대규모 구조조정가는거지 위키세카이(211.235) 07.16 122 0
2872028 후방 물류 개발자들 대화 머리 속으로 영어로 동시 통역 중 무딱갤로그로 이동합니다. 07.16 46 1
2872026 화이트칼라 직군 자체가 멸종하는게 코앞임 위키세카이(211.235) 07.16 63 0
2872024 ai로 인해 개발자 망했다 업계 끝났다 이러는데 [5] 류류(118.235) 07.16 173 0
2872023 옥수수 밭..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.16 27 0
2872022 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.16 23 0
2872021 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 07.16 28 1
2872020 존버 하다가 스위치2 살까 민생소비쿠폰으로 한 10월 31 저녁까지. 넥도리아(175.196) 07.16 32 0
2872017 건설과 직원들 10분 전에 상담왔는데, 무시하고 밥먹으러가 버려 넥도리아(175.196) 07.16 26 0
2872015 내가 10초 에서 9초 사이에 뛰는 이유 [1] 넥도리아(175.196) 07.16 34 0
2872013 ai 로 인해 웹사이트는 이제 돈이 안될거야. ㅇㅇ(183.101) 07.16 57 0
2872007 간단한 웹사이트 만들라는데 질문좀 [2] 프갤러(1.238) 07.16 74 0
2872005 개발자 연봉 거품맞음 프갤러(183.101) 07.16 75 0
2872003 셰프는 개발자고 장사꾼은 사업가다 프갤러(183.101) 07.16 32 0
2872001 개빌자 취준 브이로그 보는데 asdqwezxc갤로그로 이동합니다. 07.16 81 0
2871999 요즘 개발자 거의 아예 안 뽑는다던데 [2] hrin(220.120) 07.16 149 0
2871998 헬스하고 술먹고 과로하니까 몸살 올 것 같다 [3] hrin(220.120) 07.16 47 0
2871996 자동차 개발자가 되어줘 [1] CANON갤로그로 이동합니다. 07.16 64 0
2871994 어느 면접관 썰.. [3] cvs.갤로그로 이동합니다. 07.16 214 0
2871992 리눅스 데스크탑이 왜 처망했는지 이제야 알겠네 [1] ㅇㅇ(220.76) 07.16 79 1
2871990 Ada 프로그래밍: 1. 다중 통신 및 비동기 제어: select 문 루비갤로그로 이동합니다. 07.16 44 0
2871988 디시콘 2개 쑤니깐 개웃기지않냐? [3] 헬마스터갤로그로 이동합니다. 07.16 63 0
2871987 곤충중에 섹스하다 한녀에게 먹히는 한남들이 많구나 [3] 헬마스터갤로그로 이동합니다. 07.16 64 0
2871985 그래도 한국에서 태어나서 다행임 아스카영원히사랑해갤로그로 이동합니다. 07.16 79 0
2871984 ㅋㅋ 드디어 실제 구현에 Ada 코드 나올 차례이다 [3] 루비갤로그로 이동합니다. 07.16 55 0
2871983 Nimf 구현 및 설계: 2.1 아키텍처의 선택: 서버 모델의 설계 우위 루비갤로그로 이동합니다. 07.15 55 0
2871982 우테코 다들 공부하고 감? 프갤러(121.131) 07.15 40 0
2871981 Nimf 구현 및 설계: 2. 다국어 IME의 핵심 아키텍처 루비갤로그로 이동합니다. 07.15 30 0
2871980 현업에서 C++만 쓰다가 AI 때문에 파이썬 공부 중인데 [1] 프갤러(211.202) 07.15 89 0
2871979 Nimf 구현 및 설계: 1.5 콘솔 (console) 루비갤로그로 이동합니다. 07.15 41 0
2871977 Nimf 구현 및 설계: 1.4 웨이랜드 (Wayland) 루비갤로그로 이동합니다. 07.15 37 0
2871976 Nimf 설계 및 구현: 1.3 Qt IM 모듈 루비갤로그로 이동합니다. 07.15 32 0
2871974 Nimf 설계 및 구현: 1.2 GTK IM 모듈 루비갤로그로 이동합니다. 07.15 49 0
2871973 부트캠프 추천 부탁드립니다 프갤러(58.237) 07.15 192 1
2871971 내친구 피에로 보시게 카드캡터체리갤로그로 이동합니다. 07.15 39 0
2871969 컴과 1학년인데 앞으로 뭐 할지 모르겠음... [1] ㅇㅇ갤로그로 이동합니다. 07.15 252 0
2871967 프갤이 쓰레기장이니까 [1] 아스카영원히사랑해갤로그로 이동합니다. 07.15 75 0
2871965 신입쩌리 오늘 한 일. [2] cvs.갤로그로 이동합니다. 07.15 78 0
2871962 챗티씨는 이재명씨발 민생지원금 동의 안하시더라 [6] 헬마스터갤로그로 이동합니다. 07.15 109 0
2871960 전국민 잘살기를하면 [4] 개멍청한유라갤로그로 이동합니다. 07.15 56 0
2871959 냥덩아 너 혼나야겠다 개멍청한유라갤로그로 이동합니다. 07.15 45 0
2871958 잘 가르치는 강사면 강사도 좋지 책이 무조건 좋은건 아님 [1] ㅆㅇㅆ(124.216) 07.15 66 0
2871957 개발자연봉 1400억?! [4] 개멍청한유라갤로그로 이동합니다. 07.15 102 0
2871955 윤석열이 망친 경제, 이재명 정부가 정상화 한다 [1] 야옹아저씨갤로그로 이동합니다. 07.15 57 0
2871954 책 vs 강의 뭐가 더 좋을까요? [9] 궁금해요(121.171) 07.15 80 0
2871953 대기업 중견기업 다니는 애들아 질문있다 [36] ㅇㅇ갤로그로 이동합니다. 07.15 125 0
2871952 데이터 보는 대시보드 툴 뭘 써도 만족이 안되네 [5] 뉴진파갤로그로 이동합니다. 07.15 44 0
2871949 쪽바리 it가 병신인게 루비같은걸 좋다고 써재끼고 있음 [2] 프갤러(110.8) 07.15 75 0
2871948 중급, 고급, 특급개발자가 도대체 무슨 뜻임? [6] 프갤러(39.7) 07.15 81 0
2871947 문재앙 시대의 피해자 원종이에게 바치는 자장가⭐+ [2] ♥지나가던길냥덩♥갤로그로 이동합니다. 07.15 67 0
뉴스 빅뱅 대성, 호주 멜버른 콘서트 취소 "기술 관련 문제" 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2