Download README.md from HelloSun/c_dos: direct link, hf CLI and curl.
- Browser
- Download file 4.85 kB
-
https://huggingface.co/spaces/HelloSun/c_dos/resolve/main/README.md
- Command line
-
hf download hf://spaces/HelloSun/c_dos/README.md
-
curl -L -o README.md https://huggingface.co/spaces/HelloSun/c_dos/resolve/main/README.md
title: 小貓中文 FreeDOS
emoji: 🐱
colorFrom: blue
colorTo: green
sdk: static
小貓中文 (XiaoMao Chinese)
DOS 常駐(TSR)的 Big5 中文顯示與注音輸入外掛,在瀏覽器(含手機)中以 FreeDOS + js-dos 6.22 執行。載入後回到一般 DOS 提示字元,DOS 指令照常使用,並可直接輸入、顯示中文。全部元件皆為開源,建置時由上游下載並驗證雜湊。
作者與授權
- 作者:HelloSun 版本:1.0(首版,2026-10-25) 版權:Copyright (C) 2026 HelloSun
- 授權:GNU GPL-3.0-only,並依 GPLv3 第 7(b) 條附加條款:複製或修改時必須保留作者聲明,不得移除(見
LICENSE)。 - 程式啟動時會顯示作者與授權聲明,網頁頁尾也有;請勿移除。第三方元件(FreeDOS、HimemX、GNU Unifont、js-dos 等)維持各自授權,見
NOTICE.md。
運作方式(傳統中文系統作法)
- 程式看到的仍是 80×25 文字模式:文字畫面保存在
B800:0000(影子文字緩衝區),所以 PE2 這類直接寫顯示記憶體的程式與使用 INT 10h 的程式都能照常運作。 - 實際顯示是 640×400 的 16 色繪圖模式;常駐程式把影子文字畫成像素:英數用 ROM 8×16 字型,Big5 雙位元組用放在 XMS 的 16×16 字型。畫面上不同漢字數量沒有上限(整頁約 900 個不同漢字已測過)。
- 攔截 INT 10h:完整模擬文字模式 BIOS(模式設定、游標、捲動、讀寫字元、TTY、字串);程式要求繪圖模式時(例如 13h)直接交給 BIOS,回到文字模式時自動恢復。
- 攔截 INT 16h:
Ctrl+Space切換注音/英數,選好的字以兩個按鍵位元組交給程式,同時是畫面重繪的觸發點;注音候選列畫在最底列,用完即還原。 Ctrl+\切換 Big5 顯示(遇到使用 CP437 畫框字元的程式時關閉)。INT 2FhAX=D7A0h防重複載入。- 常駐約 15 KB 傳統記憶體;字型與詞庫在 XMS(FreeDOS 開機片以 HimemX 提供)。載入時(及再次執行
XIAOMAO)顯示常駐大小、可用傳統記憶體與 XMS(即時 MEM)。
附加軟體(開機片內)
XEDIT.EXE:仿 PE2 的全螢幕文字編輯器,直接寫B800並用 INT 10h/16h,可編輯中文(XEDIT DEMO.TXT;F2 存檔、F3/Esc 離開)。- FreeDOS:
COMMAND.COM(FreeCOM)、MEM、MORE、XCOPY、ATTRIB、DELTREE;HIMEMX.EXE(XMS)。 DEMO.TXT:中文示範文字(TYPE DEMO.TXT)。
操作
網頁上的 「▶ 示範 Demo」 按鈕會自動操作 DOS 並以字幕說明每一步(約 40 秒,字幕停留時間按閱讀速度設計):TYPE 顯示中文、開啟注音、輸入「你好電腦」、候選字分頁、XEDIT 編輯中文;可隨時按「■ 停止示範」。
點選 DOS 畫面後使用實體鍵盤,或用畫面下方的虛擬鍵盤(含 Shift、
\、:、Tab)。Ctrl+Space切換注音/英數(網頁有按鈕);Ctrl+\切換 Big5 顯示(網頁有按鈕)。注音採倚天鍵位;輸入音節後按聲調鍵(
6 3 4 7)或空白鍵出候選字,按1–9選字。候選字超過 9 個時分頁(右側顯示2/7):按空白鍵環形切換下一頁(最後一頁再按回到第一頁);只有一頁時空白鍵/Enter 選第一個。每個音最多 63 個候選字。
限制
- 不支援直接改寫 CRTC/VGA 暫存器做文字模式特效(游標位置暫存器除外)、載入自訂字型、閃爍屬性(以高亮背景代替)。
- 文字畫面以約 18 次/秒更新(隨計時器),極快速的畫面動畫會有延遲。
- 只有注音輸入法,沒有詞組/聯想。
一鍵建置與部署
主機需有:bash gcc make nasm mtools unzip curl gzip python3(含 venv)。其餘(Open Watcom 1.9、JWasm、HimemX 原始碼、GNU Unifont、FreeDOS 1.4、js-dos 6.22.60、Python 套件)由 build.sh 自動下載、驗證、建置。
HF_TOKEN=hf_xxx HF_SPACE=user/space ./build.sh # 建置並上傳
./build.sh # 只建置到 dist/
HF_TOKEN、HF_SPACE 是 build.sh 開頭的變數(可用環境變數覆寫);token 絕不寫入專案。上傳內容含網頁、自架 DOSBox、開機映像,以及開發包 dev/xiaomao-dev.zip 與 dev/HANDOFF.md。
HF 靜態 Space 以無 CORS 的重新導向提供二進位檔,所以 DOSBox 核心與開機映像以 base64 文字放在 emu.b64.js/dos.b64.js,頁面載入後轉成 Blob 交給 js-dos,不依賴任何外部 CDN。
接手開發請讀 HANDOFF.md。第三方授權見 NOTICE.md。
授權
本專案原始碼:GNU GPL-3.0-only(LICENSE、LICENSE-GPL-3.0.txt)。FreeDOS、HimemX、GNU Unifont、js-dos 各依其上游授權,詳見 NOTICE.md。