Mã nguồn gốc của DOS 1.0 do Tim Paterson viết đã được xuất bản trên GitHub
Một kho lưu trữ mới trên GitHub đã công bố bản chép lại mã nguồn gốc của hệ điều hành 86-DOS và các tiện ích PC-DOS ban đầu do Tim Paterson phát triển. Dự án này giúp cộng đồng công nghệ tiếp cận và biên dịch lại những dòng code nền tảng đã tạo nên MS-DOS.

Một kho lưu trữ trên GitHub có tên "Paterson Listings" vừa được công bố, chứa đựng bản chép lại (transcription) mã nguồn gốc của hệ điều hành 86-DOS phiên bản 1.00. Đây là dự án quan trọng đối với những người yêu thích lịch sử máy tính và lập trình, vì nó tiết lộ cấu trúc nội tại của hệ điều hành tiền thân cho MS-DOS và PC-DOS.
Mã nguồn DOS
Nội dung của kho lưu trữ
Kho lưu trữ này bao gồm mã nguồn của nhân 86-DOS 1.00, các nhân và tiện ích PC-DOS 1.00 trước khi phát hành, cũng như thư viện runtime của trình biên dịch Microsoft BASIC-86. Các phần liên quan đến DOS đã được chép lại kỹ lưỡng và chuyển đổi thành mã nguồn có thể biên dịch được.
Dữ liệu được chia thành ba phần chính để người dùng dễ dàng truy cập:
- 1_transcription: Bản chép lại từ các bản in gốc, về cơ bản là dữ liệu thô từ máy in.
- 2_printed_files: Các tệp gốc đã được in, được trích xuất từ dữ liệu máy in ở trên.
- 3_source_code: Mã nguồn có thể biên dịch được, trích xuất từ các tệp in.
Nếu bạn chỉ muốn duyệt mã nguồn hoặc thực hiện việc biên dịch/lắp ráp (assemble), thư mục 3_source_code là lựa chọn phù hợp nhất. Các bản quét gốc ở định dạng PDF và PNG vẫn có thể được tìm thấy tại archive.org.
Chi tiết các gói mã nguồn
Bộ sưu tập của Paterson bao gồm 10 bó giấy in liên tục, chứa các tệp quan trọng như:
- MSDOS.LST: Danh sách mã nguồn chính.
- 86DOS.A86 và 86DOS.ASM: Các tệp mã nguồn assembly cho nhân hệ điều hành.
- EDLIN.DIF và CHKDSK.A86: Mã nguồn cho các tiện ích dòng lệnh và kiểm tra đĩa.
Hiện tại, các gói số 9 và 10 (bao gồm LIBLST.LOG, BASLIB.PRT, PAINT.ASM, và CIRCLE.ASM) chưa được chép lại. Dự án đang kêu gọi cộng đồng đóng góp pull request để hoàn thiện việc chép lại các phần còn lại này.
Cách biên dịch và chạy
Hầu hết các mã nguồn trong dự án này nhắm đến trình lắp ráp ASM của Seattle Computer Products. Do đó, để biên dịch, bạn cần có bản sao công cụ này cùng với tiện ích HEX2BIN để chuyển đổi các đối tượng Intel HEX thành tệp nhị phân.
Cách đơn giản nhất để lắp ráp một tệp mã nguồn là chạy lệnh ASM <tên_tệp>, sau đó là HEX2BIN <tên_tệp>. Ví dụ, để tạo tệp nhị phân 86DOS.COM từ 86DOS.ASM, bạn sẽ thực hiện các lệnh sau trong môi trường DOS:
A:ASM 86DOS A:HEX2BIN 86DOS
Việc công bố mã nguồn này không chỉ có giá trị về mặt lịch sử mà còn mở ra cơ hội cho các nhà phát triển hiện đại nghiên cứu về cách thức vận hành của hệ điều hành trong những ngày đầu của kỷ nguyên máy tính cá nhân.
Bài viết liên quan

Công nghệ
Apple thất bại trong nỗ lực hoãn thay đổi phí App Store, vụ kiện với Epic Games tiến lên Tối cao Pháp viện
29 tháng 4, 2026
Công nghệ
Colorado bác bỏ dự luật đe dọa quyền sửa chữa thiết bị số, mang lại thắng lợi cho người tiêu dùng
29 tháng 4, 2026

Công nghệ
Tốc độ tải ChatGPT chững lại, đặt ra thách thức cho kế hoạch IPO của OpenAI
29 tháng 4, 2026
