Re: [問題]好奇 D O S 時代 遊戲是怎麼寫的????

看板Programming作者時間18年前 (2006/11/19 02:32), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串2/14 (看更多)
※ 引述《VElysian.bbs@ptt.cc (嘉羽 拙火瑜珈)》之銘言: 沒有時間一一細回, 不過繪圖方面的東西, 大部分是藉由呼叫 VGA BIOS 完成的, 簡單說它是一組直接燒在主機板 BIOS 裡的函式庫, 主要是用來控制 screen, DOS 的話利用 INT 10 的軟體中斷就可以叫得到, 呼叫的函式取決於你產生 INT 10 中斷時 AX(AH/AL) 暫存器裡面的數值, 不過後期大家學到的其實都是 VESA BIOS 的東西, 因為比原先的 VGA BIOS 來得更強大; 另外就是顯示卡的 video ram 會 map 到你 memory address 的某一段去, 對這一段 address 做 write 就等於 write 到 video ram 上; 你說的什麼 Turbo C 的 graphic library, 其底層的實作方式也跟這些脫不了關係。 至於 mouse 的 I/O, 是在你載入 mouse driver 以後, 會多出 INT 33 系列的中斷服務, 當你先把 AX 設成 3 再叫 INT 33 的話, mouse 的目前狀態就會用 BX CX DX 傳回來給你; 最簡單的做法就是寫個 infinite loop 去 polling, 這也用不著什麼 thread, 只要設計好 loop 內的 flow 就沒問題了, 總之 DOS 時代寫程式都很暴力; 如果你想問 DOS 時代有沒有 multi-thread, 那麼答案是有, 不過很顯然一定是 user-level thread, 以 library 的形式實作出來的, 而非 OS 本身就有支援, 以當時的電腦等級來說, 用起來並不會有太大的好處。 中文書的話, 我們實驗室裡的書櫃裡剛好看到一本以前我常用的, 不過實驗室這本是 97 年最新修訂版, 比我家裡的還新, 我可以把這本書的書籍資料打給你: IBM PC 80X86 組合語言徹底研究 林承戰 林俊杰著 波全資訊股份有限公司 ISBN 957-723-204-3 其實每所學校的資工系實驗室逛一逛都會發現不少學生還有這本書, 所以就算絕版的話我想應該也不會太難弄到手才是, 圖書館找找說不定也會有。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.252 > ╰─╮ ╚╦═╦╝ From:61-230-216-180.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩

11/19 02:39, , 1F
想不出在DOS下硬幹Thread有什麼好處....
11/19 02:39, 1F

11/19 02:40, , 2F
DOS我記得是單工OS不是嗎@@(雖然可以TSR)
11/19 02:40, 2F

11/19 02:43, , 3F
背景音樂 音效 之類的吧...
11/19 02:43, 3F

11/19 02:44, , 4F
雖然說buffer弄大一點 在gameloop裡面
11/19 02:44, 4F

11/19 02:44, , 5F
處理這些也沒有問題就是了
11/19 02:44, 5F

11/19 23:28, , 6F
好書..我也有一本..
11/19 23:28, 6F
文章代碼(AID): #15Nr6a00 (Programming)
討論串 (同標題文章)
文章代碼(AID): #15Nr6a00 (Programming)