90年代初期流行的 MS-DOS 電信程式 QModem 4.51 的原始碼已作為歷史文物釋出。這一發布引起了科技愛好者的懷舊之情,他們還記得 BBS(電子公告板系統)時代,那時撥號連線是線上通訊的主要方式。
QModem 的歷史意義
QModem 是由 John Friel III(1960-2024)開發的 MS-DOS 終端通訊程式。在 BBS 時代的鼎盛時期,它與其他流行程式如 Procomm 和 Telix 競爭。QModem 使用 Turbo Pascal 編寫,為各種調變解調器速度、檔案傳輸協議(XMODEM、YMODEM、ZMODEM)和終端模擬提供了強大的支援。此次原始碼釋出代表了 QModem 試用版 4.51 在 1992 年初的狀態。
QModem 4.51 主要特點
- 支援多種調變解調器速度和硬體型別(8250、16450、16550 UART)
- 檔案傳輸協議:XMODEM、YMODEM、ZMODEM 和外部協議支援
- 全屏撥號目錄(.FON 電話簿)
- 強大的指令碼編寫和自動化功能
- ANSI/VT100/TTY/Avatar 終端模擬
- 主機模式(迷你 BBS 伺服器功能)
- 回滾緩衝區和分屏終端
- 滑鼠支援和自定義鍵盤宏
技術細節
- 使用 Turbo Pascal 5.x/6.0 編寫
- 包含用於效能關鍵部分的 x86 彙編程式例程
- 使用 Turbo Professional 和可能的其他第三方庫
- 採用覆蓋管理以提高記憶體效率
BBS 文化和離線閱讀
BBS 時代最令人懷念的方面之一是離線閱讀體驗。許多評論者回憶起使用 QModem 從 BBS 會議下載 QWK 資料包(壓縮電子郵件資料包),然後使用 OLX(Offline Express)或 SLMR(Silly Little Mail Reader)等程式離線閱讀和回覆。
「這喚起了回憶。我記得使用 Qmodem 撥號連線 BBS,從會議(類似於新聞組)下載 QWK。我會使用 OLX 離線閱讀/回覆,然後批次上傳我的回覆(.REP,也是壓縮格式)到 BBS。」
在網際網路連線不是全天候的時代,這種方法是必要的,而且撥號費用通常是按分鐘計算的。離線閱讀工作流程允許使用者在參與討論的同時最大限度地減少連線時間。
技術方面和程式語言
QModem 是用 Pascal 編寫的這一揭示讓一些社群成員感到驚訝,他們原本以為它是用 C 語言編寫的。在 90 年代初,許多開發者認為真正的程式設計師使用 C 語言,而 Pascal 有時被認為不那麼嚴肅。發現這樣一個專業且廣泛使用的程式是用 Pascal 構建的,讓那些在那個時期使用該語言的人感到欣慰。
程式碼庫包括 Turbo Pascal 原始檔、用於效能關鍵部分的 x86 彙編程式以及各種支援檔案。它代表了網際網路前時代商業軟體開發實踐的重要例子。
電信基礎設施挑戰
社群討論突顯了 BBS 時代的地理挑戰。使用者回憶起電話費用如何塑造了他們的線上體驗,許多人注意到打電話到附近城鎮可能會產生長途費用。Atlanta 被提及為擁有特別活躍的 BBS 場景,因為其異常大的本地免費通話區域。
人們開發的技術變通方法令人印象深刻——從透過 Linux 機器上的 NAT 共享撥號連線,到使用序列終端最大化有限資源。這些故事說明了克服當時連線限制所需的創造力。
數字歷史的儲存
QModem 原始碼的釋出代表了儲存計算歷史的重要努力。雖然這些程式碼可能主要吸引復古計算愛好者和對那個時代懷有懷舊之情的人,但它提供了對早期電信軟體設計和網際網路前時代技術挑戰的寶貴見解。
正如一位評論者所指出的,這次釋出是對 John Friel III 工作和遺產的適當致敬。數十年後仍有如此多的使用者對 QModem 懷有美好的回憶,這說明了它對早期線上社群和計算機愛好者的影響。