1 điểm bởi GN⁺ 5 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Tập hợp tại một nơi các trang trình giả lập có thể chạy ngay phần mềm của từng hệ máy, từ CPU cổ điển đến máy tính 8-bit và hệ thống arcade
  • Cung cấp nhiều hệ thống đa dạng như Amstrad CPC, ZX Spectrum, Commodore, Acorn Atom, dòng Robotron, cùng với Visual 6502 Remix·Visual Z80 Remix
  • Có thể chỉ định hệ máy và ảnh đĩa, dữ liệu nhập ban đầu, joystick, mở rộng RAM và cấu hình module bằng các tham số type, file, input, joystick, exp, mod trong URL
  • Bao gồm BASIC, FORTH, ASMDEV, CP/M 2.2 cùng nhiều demo và game cho CPC·C64·VIC-20·KC85; các tác phẩm như Boulderdash có thể chạy để so sánh phiên bản trên nhiều hệ máy
  • Một số mục cần phím khởi động hoặc nhập lệnh, chọn joystick; Demoizart có cảnh báo hiệu ứng nhấp nháy, nên cần kiểm tra cả điều kiện chạy

Trực quan hóa hoạt động CPU

Trình giả lập máy tính được hỗ trợ

Ngôn ngữ và môi trường phát triển

Demo Amstrad CPC

Demo Commodore C64 và VIC-20

Demo và trò chơi KC85

Các trò chơi có trên nhiều hệ máy

Máy đơn hệ và game arcade

1 bình luận

 
Ý kiến trên Hacker News
  • URL có -preview là địa chỉ cũ được tạo ra để thử nghiệm một vài thứ, và đã không được cập nhật từ sau năm 2021. Địa chỉ mới nhất là https://floooh.github.io/tiny8bit/
    Điểm thú vị không chỉ là mô phỏng ở mức chân pin, mà còn là việc cho CPU tiến từng chu kỳ. CPU không đóng vai trò bộ điều khiển đặc biệt của hệ thống mà di chuyển theo từng tick cùng với các chip khác. Với Z80, thay vì một nhánh cho mỗi lệnh, sẽ có một nhánh switch-case cho mỗi chu kỳ lệnh; cách làm chi tiết được tổng hợp tại https://floooh.github.io/2021/12/17/cycle-stepped-z80.html
    Ban đầu đây chủ yếu là dự án làm vào kỳ nghỉ Giáng sinh, và từ sau năm 2023 thì gần như không còn đụng tới. Từ đó đến nay chủ yếu chỉ cập nhật các phụ thuộc của sokol và Dear ImGui, thỉnh thoảng thêm các demo mới đăng trên https://www.pouet.net/https://csdb.dk/

  • Dự án này khiến tôi liên tưởng rất mạnh đến 0x10c. Tôi vẫn bị hấp dẫn bởi bối cảnh có tồn tại máy tính mini ảo, và từng nghĩ ra vài ý tưởng dựa trên du hành vũ trụ và cyberpunk, pha thêm yếu tố kiểu Zachtronics vào thiết kế chip, thậm chí còn nghĩ tới cả biến thể fantasy
    Nhưng dù nhìn thế nào thì đây vẫn là một chủ đề cực kỳ ngách. Nếu ai quan tâm thì có thể bàn ở đây hoặc liên hệ qua email trong hồ sơ. Tham khảo: https://en.wikipedia.org/wiki/0x10c

    • Tôi từng làm một game giải đố kiểu Zachtronics cơ bản dựa trên 0x10c, và đến giờ đó vẫn là một trong những ý tưởng tôi thích nhất. Ngay cả vào thời điểm ra mắt khi ai cũng lao vào viết code, trên toàn thế giới có lẽ cũng chỉ có vài trăm người dùng, nên về mặt tài chính thì đó sẽ là một lựa chọn thảm hại
      Khó ở chỗ không biết người dùng có muốn tự làm cả hệ điều hành chỉ để điều khiển phần cứng tàu vũ trụ hay không, hay nên có một thị trường phần mềm trong game để mua bán các chương trình điều khiển tàu. Tôi cũng nghi ngờ chuyện ai đó có thật sự làm Windows 3.1 cho DCPU mà chẳng có phần thưởng gì hay không
      Tôi muốn nó thành công, nhưng game mã nguồn mở trước đây đi xuống tận mức BIOS nên quá thiên về kỹ thuật với đa số người chơi. Hiếm ai chỉ để lái tàu vũ trụ mà lại muốn bắt đầu từ việc làm API/ABI
  • Tôi thích cách dự án này làm mô phỏng ở mức chân pin. Mỗi thành phần đều tự hoàn chỉnh và hoạt động theo kiểu mô-đun nên rất linh hoạt
    Một giao diện cực mỏng nhưng được định nghĩa tường minh có thể vẫn là lĩnh vực chưa được khám phá đủ về mặt khả năng tương tác. Nếu hai bên lấy mẫu giá trị tại những thời điểm xác định và chỉ cung cấp một số ít tín hiệu để truy cập theo thời gian, thì dù là chân pin, một vài thanh ghi hay vùng memory-mapped, đó đều là đối tượng tuyệt vời cho kiểm thử tính tương thích
    Trong thời đại code sinh bởi AI, các thành phần mô-đun có yêu cầu tương thích rõ ràng có thể đặc biệt hữu ích. Bất kể bên trong hộp đen được cài đặt thế nào, miễn là không vi phạm hành vi được yêu cầu thì ta không cần bận tâm

    • Đó chính là ý tưởng cơ bản của thư viện phần mềm, và làm được ngay cả khi không có AI ;)
      Thật ra để tạo ra các thư viện tự hoàn chỉnh thì cần một chút kỷ luật, và không nên nghe quá lời phe luôn hô hào DRY
    • Tôi đã triển khai mọi chip trong trình giả lập Amstrad CPC của mình xuống tận mức chân pin, nhưng để chạy thời gian thực ở chế độ này thì cần CPU từ M2 trở lên
      Vì vậy tôi cũng thêm chế độ "soldered" để tăng tốc bằng cách hy sinh bớt tính mô-đun. Ở đó không thể tháo CRTC ra được, và cuối cùng tôi còn thêm riêng cả chế độ tốc độ cao. Dù vậy, phần triển khai ở mức chân pin vẫn rất có giá trị vì nó là oracle kiểm chứng tuyệt vời, có thể dùng để xác minh độ chính xác bất cứ lúc nào
      Giờ tôi muốn làm một cổng mở rộng kết nối USB để gắn toàn bộ phần cứng thật vào thử. Mã mức chân pin vẫn chưa công khai, nhưng chỉ cần đợi khoảng một tuần nữa thôi
    • Phần cứng và phần mềm từ lâu đã được thiết kế như các hộp đen và mô-đun mà không cần biết bên trong. Không phải mọi thứ đều như vậy, nhưng phần lớn đều hướng tới tính mô-đun. Thật thú vị khi giờ đây trong quá trình cố làm AI hài lòng, nhiều người lại như đang tái khám phá ý tưởng này
  • Thật sự rất tuyệt. Hồi nhỏ phải mất thời gian dài như vô tận để nạp một game từ băng, còn giờ thì chạy gần như tức thì. Tôi đặc biệt thích Bruce Lee trên ZX Spectrum

  • Cần thêm Oric nữa: https://oric.games/

  • Một số game có âm lượng đặt khá lớn hơn tôi tưởng. Khó mà biết trước cho đến khi tự bấm vào game

  • Sẽ hay hơn nếu UI của trang có thể điều chỉnh âm lượng. Âm thanh của vài game quá to

  • Hãy cập nhật địa chỉ thành https://floooh.github.io/tiny8bit/. Đây là địa chỉ được liên kết chính thức, cũng đã được dùng trong lần gửi trước, và chính nhà phát triển cũng đã thông báo điều này tại https://news.ycombinator.com/item?id=43821756 vào năm ngoái
    Tôi cũng tò mò không biết người đăng đã tìm thấy địa chỉ preview này ở đâu, và liệu nó có được liên kết ở nơi nào khác không

  • Dự án này đã tồn tại ít nhất 8 năm: https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...