1 điểm bởi GN⁺ 2024-11-23 | 1 bình luận | Chia sẻ qua WhatsApp

Kỷ niệm 40 năm của ChipWits: mã FORTH gốc được mã nguồn mở

  • Nhân dịp kỷ niệm 40 năm của ChipWits, mã nguồn FORTH gốc cho Mac và Commodore 64 đã được công bố dưới dạng mã nguồn mở. Đây là cách để chia sẻ sự trân trọng đối với quá trình phát triển phần mềm đa nền tảng trên các máy vi tính 8-bit.

Lịch sử của ChipWits và lý do chọn FORTH

  • ChipWits là một trong những trò chơi đầu tiên được phát hành trên Macintosh vào năm 1984, với chủ đề robot lập trình.
  • Vào thời điểm đó, Apple Lisa quá đắt nên trò chơi được phát triển bằng ngôn ngữ lập trình MacForthPlus.
  • FORTH có thể sử dụng trên nhiều máy vi tính 8-bit khác nhau nên là ngôn ngữ thuận lợi cho việc port sang các nền tảng khác.

Port sang các nền tảng khác

  • Việc port sang Commodore 64 được thực hiện bằng Super Forth 64, đồng thời một hệ thống menu kéo xuống dùng joystick đã được phát triển để giữ nguyên thiết kế giao diện người dùng.
  • Phiên bản Apple II cũng được viết bằng một biến thể của FORTH.

Đánh giá và giải thưởng

  • ChipWits đã nhận được nhiều bài đánh giá tích cực và giải thưởng, bao gồm MacUser Editor’s Choice 1986 Award, cùng sự khen ngợi từ nhiều phương tiện truyền thông.

Chơi bản gốc qua giả lập

  • Nhờ các dự án mã nguồn mở như Emularity và Apple2js, người dùng có thể chơi ChipWits bản gốc ngay trong trình duyệt.

Khôi phục mã nguồn

  • Quá trình khôi phục các đĩa gốc đòi hỏi rất nhiều nỗ lực, nhưng phần lớn dữ liệu đã được phục hồi mà không bị hư hại.
  • Nhiều loại phần cứng và phần mềm đã được sử dụng để đọc đĩa Commodore 64 và Mac.

Khám phá mã nguồn

  • Có thể xem mã nguồn FORTH của ChipWits trên GitHub, và mã FORTH này rất ngắn gọn, thanh nhã.
  • Mã nguồn của phiên bản Mac chỉ khoảng 3.000 dòng, trong khi bản port hiện đại hóa đã gồm tới 35.000 dòng mã C#.

Lời kêu gọi hỗ trợ cho bản reboot của ChipWits

  • Dù hiện tại trọng tâm là phát hành mã nguồn mở cho phiên bản FORTH gốc, một phiên bản hiện đại hóa cũng đang được phát triển.
  • Phiên bản mới được kỳ vọng sẽ truyền cảm hứng cho một thế hệ lập trình viên mới.
  • Nhiều issue đã được tạo trong kho GitHub, với mục tiêu xây dựng một phiên bản ChipWits bằng FORTH do cộng đồng duy trì.

Lời mời tham gia

  • Bạn có thể tham gia máy chủ Discord của ChipWits để hỗ trợ dự án.

1 bình luận

 
GN⁺ 2024-11-23
Ý kiến trên Hacker News
  • Đã viết một bài giải thích lý do dùng FORTH để lập trình ChipWits

    • FORTH từng là một ngôn ngữ có tốc độ tầm trung trên các máy tính đời cũ
    • ValForth là một trong những bản triển khai FORTH đa nền tảng đầu tiên trong hệ sinh thái Atari ST
    • Ngay cả trên máy tính 8-bit cũng có FORTH của Elcomp, và cũng có sách liên quan
    • "Starting FORTH" của Leo Brodie đến nay vẫn là một cuốn nhập môn rất hay
    • Khi học BASIC, người ta cũng có thể tiếp cận những ẩn dụ lập trình khác
    • Với lũ trẻ thập niên 80, đó là một trải nghiệm mở rộng tư duy
  • Một dự án tên là TumbleForth cũng có vẻ thú vị

    • Không biết có ai từng trải nghiệm dự án này chưa
  • Hồi nhỏ tôi đã rất muốn có trò chơi này

    • Cảm giác như mình đã có tuổi rồi
  • Tôi đã chơi Human Resource Machine gần như trọn vẹn và rất thích

    • Đây là một trò chơi dựa trên ý tưởng tương tự ChipWits
    • Không biết có ai đã từng so sánh hai trò này chưa
  • Tôi đã chơi rất nhiều trên Commodore 64

    • Nó rất độc đáo, khơi gợi tò mò và thú vị
  • FORTH có vẻ giống perl như một ngôn ngữ để viết dùng một lần

    • Viết và build thì dễ, nhưng sau một thời gian sẽ khó hiểu lại mã
    • Nó rất nhanh và hiệu quả
  • Không biết phiên bản hiện đại của ChipWits được viết bằng ngôn ngữ nào