Windows 98 ra mắt từ năm 1998, khi USB 1.1 vẫn còn là công nghệ mới. Hệ điều hành này xuất hiện trước USB 3.0 hơn một thập kỷ và trước Thunderbolt 4 hơn 20 năm, nên việc kết nối nó với những thiết bị hiện đại gần như là điều không tưởng.
Dù vậy, lập trình viên đam mê máy tính cổ Yeo Kheng Meng đã tìm cách thu hẹp khoảng cách công nghệ kéo dài nhiều thập kỷ. Phiên bản mới của dự án xHCI98 bổ sung khả năng hỗ trợ USB 3.x, USB4 và Thunderbolt cho nhiều hệ điều hành cũ, từ Windows 98 SE đến Windows 7.
Đưa hệ điều hành 28 năm tuổi bước vào kỷ nguyên USB4
Phiên bản đầu tiên của xHCI98 mới chỉ cho phép Windows 98 sử dụng phần tương thích USB 2.0 trên các bộ điều khiển USB 3.x. Do đó, một ổ USB 3.0 dù được nhận diện vẫn chỉ đạt tốc độ khoảng 34 MB/s.
Ở phiên bản mới, Yeo đã xây dựng lại nhiều thành phần trong ngăn xếp USB của Windows. Kết quả thử nghiệm cho thấy tốc độ truyền dữ liệu trên Windows 98 có thể vượt 200 MB/s, dù vẫn bị giới hạn bởi ngăn xếp lưu trữ cũ của hệ điều hành.

Thách thức lớn hơn nằm ở Thunderbolt và USB4. Đây không chỉ là những phiên bản USB nhanh hơn, mà còn có khả năng tạo các đường hầm truyền dữ liệu dành cho USB, PCIe và DisplayPort. Máy tính phải phát hiện, cấu hình và quản lý các thiết bị nằm phía sau bộ điều khiển Thunderbolt hoặc USB4 trước khi hệ điều hành có thể sử dụng chúng.
Để giải quyết bài toán này, Yeo viết thêm trình quản lý kết nối có khả năng thiết lập đường hầm USB 3 và PCIe, tái nhận diện thiết bị khi cắm nóng cũng như hỗ trợ tháo thiết bị an toàn.
Trong thử nghiệm trên chiếc Lenovo ThinkPad P14s Gen 1 sử dụng Thunderbolt 3, Windows 98 đã nhận một hộp đựng SSD NVMe USB4 của Orico. Tốc độ tuần tự đạt khoảng 210 MB/s khi đọc và 256 MB/s khi ghi. Đây không phải tốc độ tối đa của ổ NVMe, nhưng đã là kết quả đáng chú ý đối với hệ điều hành được phát triển từ cuối thế kỷ trước.

Riêng phần USB4 và Thunderbolt 4 mới chủ yếu được kiểm tra bằng trình giả lập. Yeo chưa có máy tính USB4 hỗ trợ chế độ khởi động tương thích cần thiết để cài Windows 98 trực tiếp. Vì vậy, dự án đã chứng minh được thiết kế driver trong môi trường mô phỏng, nhưng chưa thể khẳng định mọi thiết bị Thunderbolt 4 ngoài đời đều hoạt động ổn định.
AI viết mã, con người xử lý phần khó nhất
Quá trình phát triển mang đậm phong cách “vibe coding”. Theo bài viết kỹ thuật của Yeo, Claude được dùng để lập kế hoạch và viết phần lớn mã nguồn, trong khi Codex đóng vai trò kiểm tra đối kháng nhằm tìm lỗi và chỉ ra những điểm yếu trong thiết kế.
Dự án không chỉ được tạo ra bằng vài câu lệnh mô tả đơn giản. Kế hoạch phát triển được chia thành 42 giai đoạn, đi kèm 25 tài liệu ghi lại các quyết định thiết kế và 15 báo cáo phân tích những vấn đề kỹ thuật phát sinh.

1. Danh sách phần cứng và hệ điều hành đã được thử nghiệm; một số cấu hình khác mới chỉ được kiểm tra trong máy ảo QEMU.
Yeo cũng phải cung cấp cho AI tài liệu phần cứng, mã nguồn tham khảo từ Linux và ReactOS, đồng thời tự thu thập dữ liệu từ thiết bị thật. Do không có phần cứng USB4 phù hợp để chạy Windows 98, ông còn xây dựng một phiên bản QEMU riêng có khả năng mô phỏng các bộ điều khiển USB4 của Intel, AMD và ASMedia.
AI hỗ trợ đáng kể trong việc viết driver, phân tích thanh ghi và truy tìm lỗi liên quan đến bộ nhớ hoặc ngắt phần cứng. Tuy nhiên, những công việc như cắm thiết bị, ghi lại tín hiệu, xử lý lỗi trên máy thật và phối hợp thử nghiệm với cộng đồng vẫn cần con người thực hiện.
xHCI98 cho thấy vibe coding có thể giúp một lập trình viên đơn lẻ thực hiện dự án từng đòi hỏi cả đội ngũ kỹ sư chuyên về driver. Nhưng đây vẫn là phần mềm thử nghiệm, có thể gặp lỗi và phụ thuộc nhiều vào cấu hình phần cứng.
Dẫu vậy, hình ảnh Windows 98 nhận một ổ SSD NVMe qua Thunderbolt vẫn tạo cảm giác như hệ điều hành 28 năm tuổi vừa được đưa lên cỗ máy thời gian, vượt qua nhiều thế hệ công nghệ để đặt chân vào thế giới USB4.
Tuấn Nguyễn