Tôi đã hoàn toàn bình phục sau khi nghỉ ngơi thư giãn tại nhà bố mẹ. Tôi nghĩ mình có thể đã tăng cân một chút vì nằm dài quá nhiều.
Dù sao, như mọi khi, chúng tôi lại tập trung tại phòng thí nghiệm máy tính quen thuộc để tiếp tục nghiên cứu.
“Sẵn sàng chưa?”
“Dĩ nhiên rồi. Hãy bắt đầu thôi.”
Cả hai chúng tôi đều mặc bộ đồ bảo hộ toàn thân dày hơn trước. Xét cho cùng, không có gì đảm bảo rằng một tai nạn như lần trước sẽ không xảy ra nữa, vì vậy thà an toàn còn hơn hối tiếc, phải không? Nó nóng không chịu nổi, nhưng có thể chịu đựng được.
Chúng tôi bắt đầu kiểm tra cẩn thận từng bộ phận của ống CRT, kiểm tra các thành phần cốt lõi như màn hình, biến áp và bảng mạch. Caroline cẩn thận tách và lấy đi một trong những linh kiện.
Để điều chỉnh TV CRT cũ cho phù hợp với thông số kỹ thuật của máy tính mà chúng tôi đã phát triển, điều cần thiết là phải đảm bảo tính tương thích. Ở trạng thái hiện tại, nó sẽ không bật do thiếu tính tương thích. Đương nhiên, các máy móc thường không khớp với thông số công suất ma thuật của nhau, vì vậy chúng tôi cần một bộ chuyển đổi ma thuật.
Tôi lấy ra bộ chuyển đổi ma thuật mà tôi đã làm. Vì Khoa Kỹ thuật Ma pháp là tất cả về việc chế tạo và xử lý các thiết bị ma thuật, nên việc tạo ra một bộ chuyển đổi như vậy là một nhiệm vụ bắt buộc.
“Caroline, kiểm tra mật độ ma thuật định mức cho anh.”
Tôi bật nguồn và gửi ma thuật vào ống CRT. Caroline nắm lấy hai đầu của đồng hồ vạn năng (thiết bị đo mật độ ma thuật) bằng cả hai tay và đặt chúng vào mỗi đầu của mạch.
Tách!
Viên đá ma thuật bên trong ống CRT phản ứng dữ dội, nhưng vì cả hai chúng tôi đều mặc bộ đồ bảo hộ tốt hơn lần trước nên không có vấn đề gì.
Cứ thử xuyên qua cái này nếu mày có thể!
“20000 Etherna đã xuất hiện.”
“Chà, con số đó thực sự cao.”
Màn hình CRT, sử dụng ma thuật mật độ cao, là một thiết bị nguy hiểm. Nếu có màn hình an toàn hơn CRT, chúng tôi đã thay thế nó bằng một màn hình khác, nhưng vì chúng chưa được bán trên thị trường nên chúng tôi không có lựa chọn nào khác ngoài việc sử dụng màn hình CRT.
Đó chính là thứ đã làm tan chảy găng tay an toàn của tôi và làm bỏng ngón tay của tôi. Nếu tôi biết nó nguy hiểm như thế nào, tôi sẽ không bao giờ chạm vào nó bằng thiết bị mỏng manh như vậy!
Tôi đã điều chỉnh bộ chuyển đổi ma thuật, đảm bảo tính tương thích giữa máy tính và ống CRT.
“Phù, anh nghĩ cái này sẽ làm được.”
Tôi tắt nguồn và đợi vài giây để đảm bảo không còn ma thuật dư thừa. Sau đó, tôi đóng nắp ống CRT và vặn tất cả các linh kiện trở lại vị trí cũ.
Từ thời điểm này, TV CRT cũ giờ đã là màn hình máy tính.
“Phù, nóng quá. Thực sự nóng quá.”
“Chúng ta có nên nghỉ ngơi và thông gió cho căn phòng không?”
Tôi kéo khóa bộ đồ bảo hộ của mình và mở cửa sổ.
Vù.
Một làn gió mát thổi vào, lưu thông không khí trong phòng thí nghiệm. Tôi dựa vào khung cửa sổ để hạ nhiệt.
Rẹt.
Caroline cũng kéo khóa bộ đồ bảo hộ của mình. Ngay khi cô ấy làm vậy, tôi thấy cô ấy ướt đẫm mồ hôi.
Phật, phật.
Cô ấy nắm lấy quần áo và quạt cho mình, cố gắng hạ nhiệt.
Thành thật mà nói, tôi không biết phải nhìn đi đâu. Những giọt mồ hôi trên trán cô ấy, những giọt lăn dài từ cổ xuống xương quai xanh… Và tại sao hôm nay cô ấy lại phải mặc đồ trắng trong tất cả các ngày? Nó có vẻ hơi xuyên thấu, nhưng cô ấy dường như không nhận thấy.
"Mình có nên nói với em ấy hay không…?’
Tôi chắc hẳn đã day dứt về điều đó hơn 50 lần trong khoảnh khắc ngắn ngủi đó.
“Ờm, Caroline, nếu chúng ta phải mặc những bộ đồ này một lần nữa, có lẽ lần sau nên tránh mặc đồ trắng.”
“Cái?!”
Rẹt!
Caroline nhanh chóng kéo khóa bộ đồ của mình lên, giật mình.
“Anh đã nhìn thấy gì sao?”
“Không.”
“Ừm, anh xin lỗi về điều đó.”
“… Chà, những chuyện như thế này xảy ra. Em ổn mà, đừng lo lắng quá, tiền bối.”
Cô ấy cố gắng gạt nó đi một cách lạnh lùng, nhưng mặc dù nói rằng cô ấy ổn, nhưng mặt cô ấy đỏ bừng. Lời nói và hành động của cô ấy không hoàn toàn khớp nhau.
“Caroline, em thực sự ổn chứ?”
“Em đã nói với anh là em ổn mà! Bây giờ, chúng ta hãy hoàn thành việc này nhanh chóng, được không?”
Bốp!
“Á!”
Cô ấy đập vào lưng tôi trong sự bối rối. Tay cô ấy đấm đến mức nó khiến tôi bừng tỉnh khỏi cơn mê man.
***
Việc kết nối giữa CRT và máy tính đã thành công. Bây giờ vấn đề duy nhất còn lại là quyết định hình ảnh nào sẽ hiển thị từ máy tính. Nếu chúng ta để nguyên như vậy, tất cả những gì chúng ta sẽ thấy là một màn hình đen.
Tất nhiên, tôi đã viết sẵn một chương trình.
“Hả? Nó đang hiển thị văn bản, nhưng… mình không thể đọc được nó?”
Chết tiệt. Tôi đã cố gắng hiển thị văn bản mà mọi người mới bắt đầu lập trình máy tính đều biết, “Hello World!”, nhưng tiếc là văn bản đã bị lỗi.
“Chà, mình đoán nó sẽ không hoạt động hoàn hảo trong lần thử đầu tiên. Hãy viết lại nó thôi.”
CRT tạo ra hình ảnh bằng cách bắn các chùm ma thuật từ phía sau màn hình hơn 60 lần mỗi giây, với ánh sáng phản xạ tạo thành hình ảnh. Viên đá ma thuật trung tâm, được sử dụng để dẫn đường ma thuật, bẻ cong chùm ma thuật để làm cho ánh sáng xuất hiện ở vị trí mong muốn.
TV CRT ban đầu hoạt động bằng cách nhập dạng sóng ma thuật analog vào thiết bị đầu ra chùm ma thuật, sau đó thiết bị này sẽ bắn chùm tia tương ứng. Nếu tín hiệu yếu, không có đầu ra; nếu tín hiệu mạnh, có đầu ra. Thiết lập nhị phân này là lý do tại sao màn hình xuất ra hình ảnh đen trắng.
Điều chúng ta cần làm là viết một chương trình máy tính nhập trực tiếp dạng sóng ma thuật analog vào thiết bị đầu ra chùm ma thuật.
“Để xem. A! Đây là vấn đề!”
Lý do văn bản “Hello World!” bị lỗi là do tôi vô tình tính toán sai độ phân giải, khiến văn bản bị lệch sang một bên.
Theo lời khuyên của Giáo sư Plink, chúng tôi đã thay đổi màn hình cho phù hợp với màn hình máy tính mới. Đương nhiên, phạm vi ánh sáng và độ phân giải cũng đã thay đổi.
Khi tôi xác định được vấn đề, tôi đã cố gắng tính toán ngược độ phân giải của TV CRT ban đầu để khớp với màn hình máy tính. Nhưng có quá nhiều phép tính đơn giản.
“Ư, Caroline. Anh không thể làm toán nhẩm này được. Giúp anh với!”
“Thật vậy, anh không thể làm gì nếu không có em, phải không, tiền bối?”
Caroline siêng năng thực hiện các phép tính, và tôi đã viết lại mã dựa trên công việc của cô ấy.
Vài phút sau…
“Ồ! Cuối cùng, chúng ta có thể đọc được văn bản! "Hello world"? Nó có nghĩa là "chào mừng" phải không?”
“Ừ, đó là một cụm từ kinh điển được hiển thị cho những người bước những bước đầu tiên vào thế giới máy tính.”
“Nhưng em đã chế tạo máy tính với anh hơn một năm rồi.”
“Chà, trong trường hợp này, nó chỉ có nghĩa là "chào mừng đến với một thế giới mới." Việc có thể điều khiển máy tính thông qua màn hình giống như bước vào một thế giới mới, phải không?”
“Đúng vậy!”
Lạch cạch, lạch cạch.
Tôi gõ tên mình trên máy đánh chữ và các chữ cái tôi gõ được hiển thị rõ ràng trên màn hình máy tính.
[Neon]
“Chà…! Thật điên rồ! Cái gì đây?!”
Ngay khi Caroline nhìn thấy văn bản tôi đã gõ xuất hiện trên màn hình, cô ấy đã hét lên ngạc nhiên.
Hề, tôi thích phản ứng của Caroline—chúng luôn rất thú vị.
Chà, xét đây là màn hình máy tính đầu tiên được trình diễn, không có gì ngạc nhiên khi cô ấy ngạc nhiên như vậy. Việc có thể nhập văn bản bạn muốn vào màn hình—đây là điều mà không ai có thể tưởng tượng được trước khi máy tính được phát minh!
“Em cũng muốn thử!”
Tôi đứng dậy khỏi ghế và để cô ấy ngồi vào chỗ của tôi.
Lạch cạch, lạch cạch.
[Neon Caroline]
“Em không thể tin được điều này là có thể! Nó thật hấp dẫn!”
Cho đến bây giờ, khi chúng tôi gõ một thứ gì đó, nó sẽ đục lỗ trên thẻ đục lỗ hoặc làm cho hàng tá đèn LED nhấp nháy. Nói cách khác, những thứ duy nhất có thể được nhập vào máy tính là số và giấy.
Nhưng bây giờ, khi tôi gõ một chữ cái, chính xác chữ cái đó được hiển thị trên màn hình!
“Làm thế nào mà anh làm được vậy?”
“Thực ra, nó có vẻ tuyệt vời vì em không thể nhìn thấy các bước trung gian, nhưng một khi em biết chúng, nó cũng giống như các phép toán nhị phân mà em đã quen.”
Tôi bắt đầu viết một cái gì đó trên bảng.
American Standard Code để trao đổi thông tin (ASCII), còn được gọi là mã ASCII:
‘a’ = 97 = 1100001
‘b’ = 98 = 1100010
‘c’ = 99 = 1100011
…
“Hả? Điều này có nghĩa là gì?”
“Hãy nghĩ về nó như thế này: mỗi ký tự được gán một số nhị phân 8 bit. Khoảnh khắc anh nhấn ‘a’ trên máy đánh chữ, CPU của chúng ta nhận ra nó là ‘1100001.’”
“Ồ… Điều gì xảy ra tiếp theo?”
“Anh đã viết sẵn một hàm—hãy gọi nó là F. Hàm này, F, lấy ‘1100001’ làm đầu vào và xuất ra một tín hiệu analog cụ thể. Khi tín hiệu đó được gửi đến thiết bị đầu ra chùm ma thuật, nó tạo ra hình dạng của chữ cái ‘a’ trên màn hình! Vì vậy, em có thể nghĩ về nó như F(1100001) = tín hiệu để hiển thị ‘a’. Mặc dù nó yêu cầu một chút điều chỉnh vị trí.”
“Bây giờ khi anh giải thích rồi, nó có vẻ không khác nhiều so với đầu vào nhị phân thông thường mà chúng ta đã làm việc.”
“Chính xác. Chúng ta chỉ thêm một bước nữa để chuyển đổi tín hiệu thành thứ mà chúng ta có thể nhìn thấy.”
Nếu bạn chia nhỏ nó từng bước, đó là một quá trình tẻ nhạt và cồng kềnh, nhưng máy tính xử lý tất cả những điều này chỉ trong 0,0001 giây.
“Nhưng tiền bối, nếu chúng ta muốn hiển thị thứ gì đó trên màn hình, chẳng phải chúng ta phải chỉ thủ công tín hiệu analog tương ứng cho mỗi thứ chúng ta muốn hiển thị sao? Chẳng phải điều đó sẽ vô cùng tẻ nhạt sao?”
“Em nói đúng. Đó là một công việc rất tẻ nhạt, nhưng một khi nó được thiết lập, em có thể tiếp tục sử dụng nó.”
“Hừm, chúng ta cần tìm một cách hiệu quả hơn để tổ chức nó.”
“Chà, vẫn còn rất nhiều trở ngại cần vượt qua, nhưng trong tương lai, hệ thống này sẽ cho phép chúng ta viết code dễ dàng hơn. Và điều quan trọng nhất là chúng ta có thể sử dụng điều này để trực quan hóa dữ liệu, chẳng hạn như đồ thị, trên màn hình!”
“Ồ! Em thực sự rất mong chờ điều đó!”
Với điều đó, chúng tôi đã giải quyết được khá nhiều vấn đề về màn hình.