네트워크와 주변 기기까지 온전한 가상 도스 머신을 송두리째(...) 구현.
포터블 버전 지원됨. 포터블일 때 conf 파일 위치는 data/settings


svn 버전 링크 : http://ykhwong.x-y.net/

 

11) 설정 바로 변경하기

*** svn 버전이 아직 버그가 많아서인지 pixelshader, fullresolution을 바로 변경하는 게

제대로 작동하지 않았다. 즉 어떤 건 명령줄에서 바로 바꿀 수 있고 어떤 건 안 되는 셈인데

이런 경우엔 메뉴를 통해 원하는 상태를 지정하자 *** - 2017. 11

 

게임에 따라 독자적인 설정이 요구될 때는 config 명령을 써서 dosbox.conf의

내용을 곧바로 변경할 수 있다. (저장은 안 됨)

ex) config -set "cycles=max 30%"

프레임 리미터가 없는 게임은 현대의 시스템에서 dosbox로 돌릴 때

의도했던 속도보다 빨라지는데, 이런 때 batch 파일에 적당한 cycles 값을

넣어두면 편하다. 게임마다 적당한 볼륨값을 맞출 땐 mixer 명령을 쓸 것


또는 config 명령 없이 바로 dosbox.conf의 옵션 항목을 입력해서 값을 바꿀 수 있다.

pixelshader Lanczos.fx
cycles 10600

이런 식으로 특정 게임에 최적화된 설정값을 .bat 파일에 포함해서 실행하면 매우 편리함.

 

12) CRT 흉내 셰이더의 곡률 수정

CRT 모니터 화면을 흉내내는 셰이더는 직사각형 화면에 곡률을 적용된다.

#define CURVATURE 값을 지우거나

#define distortion 0.05을 0.0으로 고치면 된다.


참고로 셰이더의 파일명은 8자를 넘으면 인식이 안 되므로

이름을 길게 짓지 말 것.

 

10) 추천 필터 설정

scaler=hardware2x

pixelshader=HQ2x.fx (격자 무늬가 왜곡돼서 표시되는 단점이 있다)

pixelshader=CRT.D3D.br.fx (곡률을 없앤 다음에 쓰자)

또는

pixelshader=SimpleAA.fx

 ㄴ 선호하는 셰이더는 개인 취향에 따라 각기 다를 것이다.


다른 에뮬레이터에서도 셰이더가 사용 가능하면 HQ2x, FXAA 항목을

우선 지정하고 스케일러로 화면 확대를 2x, 4x할 것. (단 고성능 그래픽 카드가 필요)

 

*** CRT.D3D.br 셰이더는 브라운관 모니터처럼 화면이 불룩하게

표시되는데 #define distortion 0.05 값을 "0"으로 고치면 평평하게 된다 ***

 

9) 소프트 미디 사용

dosbox svn에는 FluidSynth가 내장되어 있어 사운드 폰트를

이용한 고품질의 가상 Midi 출력이 가능하다. 또 윈도즈 비스타부터

없어진 미디 채널의 볼륨 조절도 dosbox에서 자체적으로 할 수가 있다.


버추어 사캔, Timitidy 같은 별개의 소프트 미디 유틸로 미디 출력을

받는 수도 있지만 다중 작업 도중 음이 끊기는 문제가 나타나곤 하므로

내장 FluidSynth를 권한다.


사운드 폰트 파일을 dosbox 디렉터리에 넣고 dosbox.conf의 [midi] 항목에

mididevice=synth
midiconfig=SGM-V2.01.sf2   < (사운드 폰트명)

라고 적는다. 볼륨 조절은 mixer 명령의 synth 항목으로 한다.

** 2014. 7월 현재 실행 도중 mididevice를 변경하면 도스박스가 뻗어버린다 **


8) svn 버전은 MT-32 에뮬레이팅을 지원하는데 리소스를 좀 먹는다.

실기로부터 MT32_Control.ROM, MT32_PCM.ROM 롬파일이 필요하다.


1) 설치 후 프로그램 메뉴에서 Dosbox 0.74 Options 실행.
[sdl]
fullscreen=false      풀스크린으로 시작하려면 true.
fulldouble=true         true로 설정 (프레임이 반토막)
fullresolution=1152x864          전체화면 해상도. 최적 해상도보다 한 단계 낮은 걸 권장

                                                desktop이라고 적으면 현재 모니터의 해상도를 사용
windowresolution=1152x864      창모드 해상도
output=direct3d           ddarw 이상을 택해야 스케일러 사용 가능. 윈도우 8부터는 ddraw 하드웨어 가속이 제거되었기에 direct3d 지정.

pixelshader=HQ2x.fx        direct3d 출력은 스케일러 대신 픽셀 셰이더가 더 적합

[render]
aspect=true                   종횡비 수정

autofit=false                    프리셋값 사용 여부
*** direct3d 출력에선 scaler=hardware2x ***

scaler=tv2x forced         밝은 스캔라인 강제.

"tv필터는 세로 해상도가 200의 배수가 되어야 제대로 나옵니다"

ㄴ 출처는 어느 이름을 밝힐 수 없는 까칠한 게임 비평가 블로그 ㄲㄲ

(적당한 해상도는 반드시 200의 배수가 아닌 경우도 있음 : 2013-12)


[vsync]

vsyncmode=off             수직주파수 X
vsyncrate=60


[cpu]
cycles=auto 10400 30% limit 30000      리얼 모드 : cpu 사이클 10400
                                        보호 모드 : 실제 cpu의 30% 성능으로 30000 사이클 제한
cycleup=10
cycledown=10                      cpu 사이클 +- 조절 단위 10%

[gus]
gus=false

[speaker]
pcspeaker=false           내장 스피커 off (취향에 맞게)

[joystick]
joysticktype=none         조이스틱을 연결한다면 다른 값 선택.


[printer]

printer=false


[autoexec]  :  시작할 때 자동 실행 명령
mount c dos
c:
mixer master 20 fm 20 sb 20
path=c:\;c:\util;z:\


2) Dosbox 0.74 (noconsole)로 실행
종료 명령은 exit

3) 주요 단축키
Alt + Enter    풀스크린 전환

Alt + Pause    일시 정지
Ctrl + F4    디렉터리 캐시 갱신.(파일 변경 내용 적용)

Ctrl + F9    도스박스 종료
Ctrl + F10    마우스 커서 잠금/해제
Ctrl + F11    CPU 사이클 감소(Speed down)
Ctrl + F12    CPU 사이클 증가(Speed up)
Alt + F12    스피드 제한 해제(터보 모드)

4) 다른 옵션 파일 사용하기
일반적으로 dos 게임들은 프레임 조절 기능을 구현하지 않아

CPU 사이클이 너무 빨라지면 사운드가 깨지거나 게임 속도가 망가진다.
또 전체화면에서 스캔라인이 예쁘게 입혀지는 해상도가 다를 때도 있다.

이럴 땐 적절한 속도, 적절한 화면 설정으로 맞춘 개별 옵션 파일을

가지고 게임을 실행하면 좋다.

(*** Dosbox SVN 버전은 메뉴에서 바로 설정 변경 가능 ***)

 ㄴ 그냥 옵션값을 바로 바로 변경해서 쓰는 게 더 편한 거 같다.

 ㄴ 아래 내용은 참고만 할 것.


기본 옵션 파일을 복사한 다음 필요한 부분을 변경해서 사용하자.
AT : 대략 3000 cycles
386 : 6000
486 100hz : 10000

도스박스의 바로 가기를 복사한 후 속성 > 바로 가기 > 대상에서
"-userconf"를 삭제하고 "-conf 옵션 파일"을 적는다.
보기)

"C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe" -noconsole -conf d:\dos\pm2.conf


5) 특별한 해상도에 스캔라인이 최적화된 게임들
<< 픽셀 세이더를 쓰면 필요없는 내용 >>

*** 1280 x 800 기준 ***

 ㄴ 스캔라인 픽셀 셰이더도 있으므로 필요가 아예 없지 않다.
 ㄴ 역시나 세밀하게 예쁜 스캔라인이 표시되려면 게임 자체 해상도에 따라
      dosbox의 해상도를 original, desktop 중 택일해야 할 것이다.
 ㄴ PC 88/98 기반의 일본 게임 or 도스 말년의 고해상도 게임은
      desktop 값이 더 어울린다고 본다. 게임마다 제각기니깐 삽질을 해야 할 듯.

<<< original이나 desktop 중에 고르면 거진 충분하지만 참고 용도로
아래 내용은 남겨둔다 >>>


프린세스 메이커, 동급생, 애자매(...) 등의 일본 게임은 일본 고유 pc였던
pc-98xx 버전을 바탕으로 했다.
기본 해상도가 MS-DOS와 조금 달랐으므로
해상도를 다르게 잡아야 스캔라인이 예쁘게(!) 뿌려진다.

(가로 해상도를 실제 모니터 해상도와 동일하게 잡는 게 포인트다)

-- 프린세스 메이커2, 구 영웅전설3 --
fullresolution=1280x800 (또는 Desktop)
windowresolution=800x600

-- 애자매, 유작 --
fullresolution=original (또는 1280x720)
windowresolution=1024x720


-- LBA 1, 2 (트윈센 오디세이) --

fullresolution=1280x720


6) 게임 별 고유 설정
-- 프린세스 메이커2 --
ems=false
로딩이 빨라짐


7) 내부 명령어

mixer : 볼륨 믹서. master, fm, sb, cdaudio, spkr 채널을 개별 조절

imgmount : 시디 이미지 마운트

 ㄴ imgmount d cd\falcon_gold.iso -t iso  : dosbox\cd\falcon_gold.iso를 CD 드라이브 d:로 마운트

 ㄴ imgmount -u d  : 언마운트


Posted by 猫한 보스코
,

browser.cache.use_new_backend : 1

새로운 HTTP 캐시 사용

 ㄴ 아직은 속도 저하가 되는 경우가 많은 듯(2017. 7)


privacy.firstparty.isolate : true

Tor 브라우저에서 사용하는 더 강력한 추적방지 & 익명성 보호 기능

웹페이지 호환성 문제가 나타나면 일단은 꺼놓고 쓸 것


< Electrolysis (multi process) 활성 방법 >

extensions.e10sBlockedByAddons : false로 되어 있는지 확인

browser.tabs.remote.autostart : true

 ㄴ about:support 탭에서

Multiprocess Windows     1/1 (Enabled by user)

처럼 표시되면 ㅇㅋ

Multiprocess 갯수를 늘리고 싶다면

dom.ipc.processCount 값을 조절 (CPU 코어 갯수에 맞춰)


리눅스 파이어폭스의 마우스 휠 조절

mousewheel.min_line_scroll_amount : 30 ~ 40 정도

리눅스는 윈도즈용 마우스 휠 설정이 먹히지 않기에 다른 옵션을 써야 함


privacy.trackingprotection.enabled : true

사용자 추적 방지를 활성화하여 페이지 로딩 시간을 줄임.

설정에서 추적 방지 "요청"을 하는 것을 넘어 그냥 "차단"해버리는 듯.


network.prefetch-next : false

파이어폭스의 프리페치는 웹페이지 메타 태그의 "rel=prefetch" 파라미터면

무조건 다운로드한다. 너무 단순하여 CPU와 대역폭을 낭비하고 사생활 침해의

우려도 있어 끄는 걸 권장한다. 프리패치를 선호한다면 true로 놔둘 것.

 ㄴ uBlock origin 애드온을 깔면 옵션 기본값이 false로 되어 있음


nglayout.initialpaint.delay : 20 이하
화면 출력 시작의 지연 시간을 짧게 잡자. (1/1000초 단위)

샌디브리지 시스템 수준부턴 15도 무방.


content.notify.backoffcount : 5 (또는 4)

사전 렌더링의 시간 간격만 설정하면 될 줄 알았는데

최대 렌더링 횟수를 같이 제한하니 효과가 더 좋았다.

웹상에서 보통 5회를 권장하는데 하스웰 시스템 정도면 34회로 충분했다.

하드웨어 성능이 올라갈수록 사전 렌더링을 자주 하면 오히려 로딩 속도를

떨어뜨리지 싶다.


content.notify.interval : 700000
content.notify.ontimer : true

파이어폭스는 웹페이지를 다운받는 동안 미리 렌더링을 수행해놓는데
너무 바로, 렌더링을 반복하지 않게 하자.


content.switch.threshold : 400000

일정 시간 동안 마우스, 키보드를 조작하지 않으면 'low frequency interrupt mode'로

진입한다. 이때 페이지 로딩에 더 전념한다. low frequency interrupt mode에

들어가기까지의 대기 시간을 지정함.

content.interrupt.parsing 값도 만들어야 활성화가 되는데 이렇게까지 할 필요를 못 느낌.


내장 pdf 뷰어 끄기

필요한 사람은 끄지 말 것

pdfjs.disabled : true


디버거 끄기

필요한 사람은 끄지 말 것

devtools.debugger.enabled : false


"플래시 삭제"
발로 만든 x레기 플러그인이기에 CPU와 메모리를 처묵처묵(...)


** 리눅스 버전 전용 **
pango 시절 낡은 팁인데 아직 유용할지도 모르겠음

export MOZ_DISABLE_PANGO=1

.xinitrc 같은 데 넣고 쓸 것.


첫 설치 후 북마크 폴더에서 라이브 북마크 삭제
 ㄴ 꼭 필요한 사람은 쓰자.

browser.sessionstore.interval : 60000 (밀리초)
세션 저장을 너무 빈번하게 하지 말자

browser.cache.offline.capacity : 0

browser.cache.offline.enable : false


데스크톱 파폭은 아래 스샷처럼 캐시 용량 수동 설정의 기본값이 0 MB라

굳이 끌 필요 없다. 지만 모바일 버전에선 끄도록 하자.

browser.cache.disk.enable : false

browser.cache.disk_cache_ssl : false

browser.cache.disk.capacity : 0



*** 램 디스크 or SSD를 사용하는 경우엔 디스크 캐시를 쓰는 게

더 빨라질 확률이 높고 네트워크 상황에 따라 일반 HDD에서도

디스크 캐시를 켜는 게 더 나을 수 있으니 직접 시도하여 확인해보자 ***

 (디스크 캐시를 쓰는 경우라면, 적당한 값은 100 ~ 240 MB)


browser.cache.check_doc_frequency : 3

디스크 캐시 갱신 관련 옵션. 1은 페이지 로딩 때마다 새 버전을 확인.

3은 자동


adblock plus 애드온은 딜레이를 조금 유발하지만 그냥 쓰자

(그리고 adblock plus 대신 uBlock origin~)
광고 필터링 중 딜레이가 생기는 건 필연.
깔끔한 화면 출력, 광고가 잡아먹는 리소스의 절약 대비 약간의 대가.
페이지 로딩 속도만이 중요하다면 끌 것.

기본 마우스 휠 스크롤 속도
mousewheel.default.delta_multiplier_y : 260
 ㄴ Firefox 17 이후
mousewheel.withnokey.numlines : 21 (이래야 익스플로러와 감도가 비슷해짐)
 ㄴ Firefox 17 이후로 값이 사라짐
mousewheel.withnokey.sysnumlines : false

network.http.pipelining : true
network.http.pipelining.aggressive : true
network.http.pipelining.ssl : true
network.http.proxy.pipelining : true

network.http.pipelining.max-optimistic-requests : 13

동시 전송 요청 개수

 ㄴ 낮춰야 한다는 리플이 달렸는데 추가 바람. 내 경우엔
(+ 일반적으로 웹페이지들에서 말하길) 값을 올려야 성능 향상 체감 (2013. 10. 17)
(+ 최적값은 온라인 환경에 따라 조금씩 달라질 수 있다)

 ㄴ 54 버전부터 http1.x의 파이프라이닝이 제거되었답니다.


network.http.pipelining.maxrequests : 36 (or 기본값이면 충분할 듯)
대충 2배쯤 올리고 쓰기. 너무 올리면 ddos로 오인받음.

network.http.max-connections : 360 (기본값: 900)

 ㄴ 기본값이면 커넥션 수는 충분하다고 보는데 조금 더 잡으려면 360.

 ㄴ 54버전에서 기본값이 900이 됨
network.http.max-connections-per-server : 22
 ㄴ 값이 없어짐 (2013. 9. 18)

 ㄴ 새로 생성할 것. 15~25 사이가 적당한 듯 싶다
network.http.max-persistent-connections-per-proxy : 16
 ㄴ 기본값이 적당히 높아짐 (2013. 9. 18)
network.http.max-persistent-connections-per-server : 14
서버별 접속 유지수. 적당히 맞춰서 쓰자.

browser.fullscreen.animateUp : 0
browser.panorama.animate_zoom : false
browser.tabs.animate : false
파폭 4의 번잡한 애니메이션 효과를 끈다. (취향에 맞긴다)

network.dns.disableIPv6 : true
아직 거의 쓰지 않는 IPv6는 오버헤드만 만드는 놈일 뿐이지(...)
운영체제별로 제어판 - 네트워크 설정에서도 IPv6를 끄면 더 좋음.
이제 ipv6 시대가 왔지만 공유기에서 지원할 때까지는 계속 끄자 - 2011/12

browser.cache.memory.enable
어차피 기본으로 켜져 있음. 캐시 메모리 크기도 기본값이면 OK.

browser.cache.memory.capacity : 131072 (128MB)

메모리 캐시 크기를 더 늘려서 쓰자. 캐시 크기를 늘리는 만큼

대신 파폭의 램 점유율은 올라간다.

램이 적다면 기본값. (44.0.2에서 확인해보니 항목 자체가 나오지 않음)


browser.cache.memory.max_entry_size : 6400 (KB)

캐시되는 항목 하나(예: 이미지)의 최대 크기도 좀 늘리자.


이제 파이어폭스에서 about:config를 많이 고칠 필요는 없다.
점점 삽질이 줄어드는 건 반가운 일.


Posted by 猫한 보스코
,

타 사이트에서 유튜브 영상 볼륨이 늘 100%

유튜브 내에서는 볼륨값 기억됨.


media.default_volume <- 효과 없음.


media.volume_scale

볼륨값의 최대치를 바꿔서 100%일 때도 큰 소리가 안 나오게 함.

ex) 0.2로 바꾸면 기본 소리 크기의 1/5로 줄어듦.

 ㄴ 임시 조치에 불과하니 추후 경과를 계속 기다려 보겠음

Posted by 猫한 보스코
,