4 điểm bởi GN⁺ 2026-01-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • Một thử nghiệm khởi động IBM PC bằng mâm xoay (máy phát đĩa) thay vì phương tiện khởi động PC thông thường
  • Ảnh RAM disk 64KB dựa trên FreeDOS được chuyển thành tín hiệu âm thanh analog và ghi lên đĩa vinyl 10 inch
  • Tận dụng giao diện cassette của PC để khôi phục tín hiệu âm thanh thành dữ liệu số, nạp vào bộ nhớ rồi thực hiện khởi động
  • Để giảm thiểu méo tín hiệu, cần hiệu chỉnh cân bằng RIAA và điều chỉnh thiết lập ampli
  • Một thí nghiệm khởi động độc đáo cho thấy cách tận dụng sáng tạo các hệ thống di sản trong bối cảnh nhiều ràng buộc phần cứng

Tổng quan dự án

  • Thí nghiệm được cấu hình theo dạng khởi động bằng cách kết nối trực tiếp IBM PC với máy phát đĩa
    • Nếu BIOS của PC thất bại với các tùy chọn khởi động khác (floppy, ổ cứng, v.v.), ROM bootloader sẽ gọi giao diện cassette
    • Thông qua giao diện này, hệ thống đọc tín hiệu âm thanh phát từ mâm xoay để tiến hành quy trình khởi động
  • Ảnh khởi động được dùng là RAM disk 64KB dựa trên nhân FreeDOS
    • Bao gồm bản rút gọn của COMMAND.COM và phiên bản INTERLNK đã chỉnh sửa để truyền tệp qua cáp máy in
    • ROM bootloader giải mã tín hiệu âm thanh, nạp vào bộ nhớ rồi khởi động hệ thống

Cấu hình kỹ thuật

  • Bootloader là sự kết hợp của các dự án BootLPT/865150CAXX, nhưng không bao gồm hỗ trợ cổng máy in
    • Nó được nạp vào ROM của socket mở rộng BIOS; cũng có thể cài vào ổ cứng hoặc floppy, nhưng trong thí nghiệm này dùng ROM
  • Kết nối giữa PC và ampli dùng cùng cấu trúc cáp như 5150CAXX, nhưng lược bỏ đầu vào line-in
  • Giao diện cassette gồm kênh timer 2 của loa PC (đầu ra)kênh 4 của cổng C trên 8255A-5 PPI (đầu vào)
    • Thực hiện điều chế và giải điều chế bằng phần mềm thông qua routine INT 15h của BIOS

Tín hiệu âm thanh và quá trình tạo đĩa vinyl

  • Ảnh khởi động được chuyển đổi theo giao thức “IBM cassette tape” rồi gửi tới thiết bị cắt đĩa
  • Vì đĩa vinyl được cắt theo đường cong cân bằng RIAA, khi phát lại cần bù chỉnh bổ sung trên ampli
    • Điều chỉnh treble -10dB/10kHz, bass +6dB/50Hz, điện áp đầu ra khoảng 0.7V
    • Hiệu chỉnh pha và loudness đều bị vô hiệu hóa
  • Chất lượng tín hiệu là yếu tố cực kỳ quan trọng; tiếng pop hoặc tiếng nứt lách tách có thể làm đứt luồng dữ liệu
    • Tuy vậy, sai số tốc độ ±2~3% và một chút wow (dao động tốc độ) vẫn được chấp nhận

Phân phối bootloader và ảnh đĩa

  • Binary bootloader được thiết kế cho chip 2364, và có thể dùng với chip 2764 thông qua adapter
    • Chạy trên IBM 5150 có ít nhất 512KB RAM và màn hình đơn sắc
  • Ảnh boot disk được cung cấp ở cuối tài liệu BootLPT/86, còn phiên bản FLAC analog được cung cấp qua liên kết riêng

Phản ứng cộng đồng

  • Trong phần bình luận có nhiều phản hồi tích cực như “sự hồi sinh của công nghệ retro”, “một ý tưởng tương tự khởi động bằng cassette”
  • Một số người dùng đặt câu hỏi về khả năng tận dụng đầu vào Sound Blastermức độ tương thích với BIOS mã nguồn mở (GlaBIOS)
  • Tác giả cho biết việc này được triển khai chỉ bằng ROM mở rộng mà không cần chỉnh sửa BIOS
  • Nhiều độc giả cũng để lại các phản hồi pha chút hài hước như “phát mặt kia thì Linux sẽ khởi động”

Ý nghĩa

  • Thí nghiệm này là một ví dụ về việc chuyển phương tiện âm thanh analog thành phương tiện khởi động số
  • Đây là một nỗ lực kỹ thuật tái sử dụng đầy sáng tạo giao diện cassette và cấu trúc mở rộng BIOS của IBM PC
  • Dù không cần thiết với hệ thống hiện đại, đây vẫn là một dự án thú vị để khám phá phần cứng di sản và kỹ thuật xử lý tín hiệu

1 bình luận

 
GN⁺ 2026-01-25
Ý kiến trên Hacker News
  • Ngày xưa các máy quét dùng giao diện SCSI, và tôi từng nghĩ liệu có thể dùng nó làm thiết bị khởi động không
    Có lẽ sẽ khả thi nếu nhét driver máy quét và phần mềm OCR vào BIOS. Ngày nay có khi còn dễ hơn nhờ uEFI
    • Tôi nghĩ đây là một ý tưởng cực kỳ sáng tạo
      Trước đây tôi có một máy quét SCSI nhưng đã tháo ra lấy linh kiện, giờ thấy hơi tiếc
      Có lẽ cũng có thể làm một bootloader đơn giản đọc mẫu đen trắng in trên giấy, nạp vào bộ nhớ rồi khởi động. Tôi tò mò không biết dung lượng lưu trữ của một tờ A4 sẽ là bao nhiêu
    • Làm bằng Forth trên một máy PowerPC Mac đời trung niên nghe có vẻ vui đấy
    • Các máy quét còn cũ hơn nữa từng kết nối trực tiếp qua bus ISA bằng cáp Centronics
    • Ai đó thật sự nên thử làm việc này. Ý tưởng quá ngầu
    • Thay vì OCR thì cứ đọc trực tiếp dữ liệu nhị phân là được. Thậm chí có thể khởi động kiểu nhìn thẻ đục lỗ
  • Đã từng có thời phần mềm được phát hành trong tạp chí dưới dạng flexidisc
    Wiki về Flexi_disc cũng có nhắc tới điều này; do độ tin cậy thấp nên tạp chí hướng dẫn người đọc chép sang băng cassette trước. Đĩa thường chỉ phát được 1–2 lần
    • Tôi có nhớ chuyện nhận đĩa mềm kèm tạp chí, nhưng đây là lần đầu tiên nghe nói phần mềm được phát hành bằng flexidisc
      Ở Anh, hình như từng có game Thompson Twins được phát hành như vậy
    • Tôi dùng Acorn Electron và nhận phần mềm qua cassette âm thanh
      Cũng có lúc người ta dán băng vào bìa tạp chí để phát demo, và tôi còn nhớ chuyện dùng bút chì để tua băng sửa lỗi
      Cũng có thể sao chép bằng deck băng kép dùng cho nhạc
    • Tôi từng nhận flexidisc từ các tạp chí âm nhạc thập niên 80 và lúc đó đã nghĩ có lẽ cũng có thể nhét phần mềm vào đó. Nhưng tôi chưa từng thấy nó được làm thật
  • Với người dùng ngày nay, thiết bị lưu trữ có cảm giác như một lớp trừu tượng hoàn hảo
    Một hình chữ nhật nhỏ, không có bộ phận chuyển động, lưu và gọi dữ liệu theo khối, độ trễ thấp và độ tin cậy cao
    Ngày xưa thiết bị lưu trữ “vật lý” hơn nhiều — chậm, ồn, dễ bị ảnh hưởng bởi từ trường và có cơ cấu cơ khí phức tạp. Chỉ cần nghe tiếng là biết nó có vấn đề
    • Lần đầu cài Slackware, tôi thiếu đĩa mềm nên phải xóa bớt file để cài, rồi lại gặp đĩa lỗi liên tục, chắc phải cài lại đến mười lần. Không khuyến nghị
    • Chỉ cần nghe tiếng ổ Zip là tôi đã PTSD rồi. Bạn có thể nghe dữ liệu của mình biến mất ngay trước mắt
    • Bố mẹ tôi dọn kho và tìm lại được ổ cứng, đĩa mềm cũ nên giờ tôi đang làm công việc lưu trữ số
      Trực tiếp trải nghiệm quá trình tiến hóa của thiết bị lưu trữ rất thú vị. Ổ cứng Conner thì cứng như xe tăng, và tiếng nó quay nghe rất đã
      Tự dưng lại thấy đằng sau những byte và block đơn giản là cả một nền kỹ thuật đáng kinh ngạc
    • Ngày xưa người ta thường có trải nghiệm tự tay xử lý dữ liệu nhiều hơn
      Máy tính đầu tiên ở nhà tôi nạp chương trình bằng cách nối với máy cassette Radio Shack
      Việc tua băng, bấm nút phát rồi gõ lệnh load giống như một nghi thức
      Sau này khi có được ổ đĩa mềm 5¼ inch, tôi thực sự xúc động. Từ đó tôi bắt đầu lập trình
    • Chỉ cần nghe tiếng ổ đĩa mềm là biết máy đang khởi động đến đâu
  • Ở nước tôi trước đây từng có chuyện phát phần mềm cho Atari 800 qua radio. Và nó chạy thật
    • Ở Hà Lan, một chương trình radio tên Hobbyscoop đã phát phần mềm qua dự án BASICODE
      Wiki BASICODE
    • Đài công cộng Phần Lan YLE cũng từng phát phần mềm cho Commodore 64 trên radio vào thập niên 1980
      Bản ghi của buổi phát đầu tiên vẫn còn. Nếu bắt FM tốt thì nó hoạt động khá ổn
    • Cũng từng có bản phát cho ZX Spectrum
      Liên kết liên quan
    • Ở Ba Lan, đài công cộng cũng từng phát phần mềm cho Atari, ZX Spectrum và Commodore 64
      Không thuộc thế hệ của tôi, nhưng đúng là một thử nghiệm thú vị
    • Tôi từng lưu bản sao lưu Amiga vào băng VHS. Và nó chạy thật
  • Trong bộ sưu tập đĩa của tôi, món tôi thích nhất là 8-Bit Construction Set 12"
    Liên kết Discogs
    Nó có nhạc chiptune và cả các track khởi động cho Atari, C64
  • Hồi làm dự án Glacier ở AWS, tôi từng đề xuất một bài đùa Cá tháng Tư kiểu “lưu dữ liệu lên đĩa vinyl”
    Ý tưởng là 9 trên 10 khách hàng thích cảm giác được chạm vào dữ liệu đã khôi phục của mình. Rốt cuộc không triển khai, nhưng trong nhóm thì ai cũng thấy buồn cười
    • Nếu khắc dữ liệu lên đĩa titanium thì có lẽ sẽ giữ được rất lâu, kể cả trong điều kiện cực đoan như hỏa hoạn hay lũ lụt
    • Từ jukebox đĩa quang sang jukebox vinyl thật ra cũng không phải bước nhảy quá lớn. Có vẻ làm được đấy
  • Phần mềm Apple ][ có thể khởi động qua jack âm thanh của điện thoại
    Chỉ cần stream từ các trang như asciiexpress.net
    Có vẻ vinyl cũng làm được, nhưng tôi không có thiết bị để tự cắt đĩa
    intheclouds.io có thể làm với giá khoảng 100 đô
  • Khi chơi DJ vinyl, điều tôi thích nhất là cảm giác vật lý
    Tôi cũng có đồ kỹ thuật số, nhưng cảm giác trực tiếp chạm vào chiếc đĩa đen là thứ không gì thay thế được
    Ngay cả những lỗi nhỏ hay sự không hoàn hảo của rãnh đĩa cũng hiện ra rõ ràng nên càng sống động hơn
  • Điều thú vị nhất của vinyl là bạn có thể nhìn thấy các track bằng mắt thường
    Chỉ cần lấy đĩa ra khỏi bìa là có thể biết số lượng và độ dài các track qua chiều dài rãnh, và cũng có thể nhảy thẳng đến track mình muốn. Trực quan hơn băng cassette rất nhiều
    • Một bài báo của LA Times khá vui để đọc
    • Các DJ hip-hop thời kỳ đầu đã tận dụng đặc tính này để nhảy thẳng đến đoạn drum break
  • Đây là lần đầu tôi biết PC từng có giao diện cassette tích hợp sẵn
    • Nó bị loại bỏ khi mẫu XT ra mắt, nên chỉ tồn tại đâu đó hơn 2 năm. Bù lại có thêm 3 khe ISA
    • PC đời đầu rất giống các máy 8-bit. Có BASIC trong ROM và cả giao diện cassette. Thậm chí còn có thể dùng TV làm màn hình
    • Ngày xưa ngay cả cổng serial cũng không có sẵn trên bo mạch chủ. Mọi thứ đều là card mở rộng
      Thay vào đó có giao diện băng kiểu jack âm thanh, và bạn phải tự tay bấm phát rồi dừng
    • Đây là tính năng phổ biến trên các máy tính gia đình 16-bit trở xuống trước thập niên 80, nhưng vì quá chậm và bất tiện nên không để lại nhiều ký ức đẹp