精華區beta C_Chat 關於我們 聯絡資訊
作者: SmallBeeWayn (喵喵叫的蜜蜂貓職方法) 看板: C_Chat 標題: Re: [外行] 以前怎麼玩遊戲? 很累好不好 XD 時間: Fri Dec 4 00:26:28 2009 這是DOS記憶體介紹認真文..... : 在95全面成為OS背景程式之前,其實大多數人都必須自己寫CONFIG組態檔 : 和AUTOEXEC組態檔來作開機執行 : CONFIG是開機時記憶體配置的 : AUTOEXEC則是開機後的驅動程式載入用的 : 會那麼麻煩是因為以前DOS時代預設只用640kb,DOS6.22可以控管1024kb : 中間的384KB就是決戰關鍵,管理的程式就是我前面推得HIMEN : 如果486末期到奔騰75開始玩電腦的人,應該有那個黑色畫面中間 : 跑出一段 HIMEN is TEXT......DONE的回憶 : 這就是開啟高層記憶體管理 : 用房屋來比喻,基礎記憶體就是一樓,384KB就是大門開始起算可以做生意的空間 : 其他後面的640kB都已經被房東DOS佔去使用,但是要先有himen管理員幫你開門才行 : 而CONFIG和AUTOEXEC就是這棟房子的使用合約 : 這合約重不重要,如果你知道有些生意(遊戲程式)一定要有固定大小的空間才能作 : 就知道這重要程度在哪 : 所以當時幾乎玩遊戲就是搞記憶體,把滑鼠驅動改掉,弄回來 : 把ooxx程式叫出,改掉,修回來 : 就是我放假玩我那台486-2-100的生活 : 還滿好玩的就是XD(而且老爸看到你都在弄C語言看起來很專業就不會罵XD) 這段有對也有不對....乾脆重新講一遍 首先....MS-DOS作業系統最基本的記憶體定址空間(Byte to Byte) 有 1024KB 而前頭是640KB是Base Memory(BM)...這點沒問題 雖然後來的PC-DOS可以開到768甚至超過1024KB...不過反正沒人用..不重要 至於定址空間的後段, 640~1024這一段稱為Upper Memory Block(UMB) 這一段很特別,不可以跟前面640KB接起來使用 所以通常而言,都是拿來掛載小容量的常駐程式用的 這一段要靠EMM386去載入,實際使用的則是XMS空間 扣掉系統硬體要用到的區段,實際尚可用的UMB大約是C8000-EFFFFh這一段 共計160KB 不管是一般軟體, HiMEM還是有的沒的的驅動軟體 都可以選擇是要掛在BM區還是UMB區... 但是考量到要盡量讓BM區保留足夠的連續空間, 當然是想辦法把驅動塞進UMB裡面 超過1MB的空間, 首先第一個依靠的是HMA, 這是1024~1088這一段64kb的空間 因為定址的關係, 這段很難用....通常都是把DOS核心塞到這裡面節省BM (可以把約45k的DOS核心丟進HMA, 只留下17k在BM) (剩下的19k可以拿來放磁碟快取) 所有超過1024KB的空間都要靠HiMEM.sys的虛擬映射 HMA區段本來就是這一區的, UMB區其實也是映射到這一段 如果還有剩下的記憶體, 可以開EMS空間, 或是磁碟快取, 或是Ramdisk 每開一樣就會少一點XMS空間, BM或UMB也必須拿來存放程式核心 不過這繼續講下去就大學問了 所以...如何分配這640KB的BM跟160KB的UMB空間就成了玩家們的核心議題了 舉例來說, 仙劍DOS版要求580KB的主記憶體空間(不過我明明記得是604kb才對啊) 扣掉跑也跑不掉的DOS核心17k, 還剩下43kb可以自由利用 這43kb並不算多 那年代能夠把滑鼠、Smartdrv、光碟驅動都掛上去還能開仙劍的人就是校調神人了 通常都要花非常多的心血去調整每一個程式載入的先後順序跟尺寸大小 想辦法把UMB壓榨到一點都不剩又盡可能不要讓程式掛到BM去 : 後來出了95,也不是不好啦,至少原來dos自我設限的怪規定消失 : 很多東西不用想就能支援,不能跑直接裝記憶體幾乎都能救回 : (剛好是從1MB800台幣變成16MB400台幣的年代) : 玩遊戲就少了搞電腦搞到定的那種成就趕了xd 想當年我買8MB, 9k新台幣...虧我買得下手>_< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.180.163
kerpowan:認真文是希洽的傳統,原PO記小功乙支 12/04 00:28
windwater77:現在一條2G的才...( ′-`)y-~ 12/04 00:28
Himetsuki:仙劍最早的DOS磁片版什麼都沒掛就拿來玩了(只有鍵盤) 12/04 00:29
Himetsuki:386SX+2MB的確很慢, 後來升到16MB後讀取加快很多 12/04 00:29
LUDWIN:推,太久沒弄自己都快忘光了(記得也沒用吧XD) 12/04 00:29
HIRU:當初為了玩這個天使的午後 也是搞config搞了很久... 12/04 00:30
Rain0224: 紳士的午後 12/04 00:31
Himetsuki:遊戲廠最早是XMS, EMS都會用, 不過後期太麻煩了 12/04 00:31
LUDWIN:而且主記憶體空間要求有時候還是寫來虎你的,實際要開更高 12/04 00:32
Himetsuki:大多數幾乎都只用Himem.sys去管理XMS來用 12/04 00:32
Himetsuki:再後面一點有廠覺得XMS的Page in / Page out太煩了 12/04 00:33
newgunden:以前的 擴充記憶體2M 跟鍵盤差不多大XDDDD 12/04 00:33
Himetsuki:就直接拖了DOS4GW掛Protect Mode來用 12/04 00:33
Himetsuki:根據手邊的古早磁片DOS版仙劍的說明書... 12/04 00:37
Himetsuki:系統需求: 主記憶體 570K(No Sound)/580K(無音樂) 12/04 00:38
Himetsuki:XMS(要掛emm386.exe):830K/870K(無音效)/920K(No MIDI) 12/04 00:39
Himetsuki: 3MB(MAX, 機能全開) 12/04 00:39
Himetsuki:硬碟空間: 28MB / 操作: 鍵盤/大宇搖桿(專用介面) 12/04 00:40
SmallBeeWayn:XMS是掛在HiMEM上面喔, EMS才是掛在EMM386上面 12/04 00:41
Himetsuki:那就是說明書沒說清楚了...[建議使用DOS的emm386.exe 12/04 00:42
Himetsuki:進行記憶體管理] ... 12/04 00:43
因為要用emm386.exe才能啟用DOS=High,UMB把主記憶體空間空出來 可是XMS是歸HiMEM.sys管的喔...
newgunden:Origin 的 Voodoo 不能用EMM386 XMS等指令 12/04 00:43
Himetsuki:那個時代還有音效卡, 它的驅動也是吃RAM怪物之一 12/04 00:45
※ 編輯: SmallBeeWayn 來自: 122.116.180.163 (12/04 00:47)
s955120:只有我把標題看成"以前怎麼把妹"嗎? 12/04 00:51
Himetsuki:所以很多人都省事二個都掛上去了... XD" 12/04 00:59
Himetsuki:同一份Config流來流去有一半的人都不知道裡頭是什麼意義 12/04 01:00
HIRU:流來流去?!囧 我以前都沒有人拿寫好的config給我用...otz 12/04 01:03
Himetsuki:*拍拍*那年頭就是當好人, 自己辛苦寫好的 12/04 01:04
Himetsuki:隔天帶去學校人手一份diskcopy~ 12/04 01:05
newgunden:Dos 5.0 的多重開機誰會用阿? (自慢) 12/04 01:21
mstar: [MENU] [...] [...] [COMMON] 12/04 01:39
mstar: @echo off :...a :...a :end 12/04 01:39
windwater77:其實這整篇可以去電腦板了. 12/04 01:45
iincho:這篇不少東西都是..user觀點,技術細節有點問題..... 12/04 21:41