Tiny Emulators - Bộ sưu tập các trình giả lập nhỏ
(floooh.github.io)- 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,modtrong 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
- Visual 6502 Remix: trực quan hóa 6502
- Visual Z80 Remix: trực quan hóa Z80
Trình giả lập máy tính được hỗ trợ
-
Dòng Amstrad
-
Dòng ZX Spectrum
-
Dòng Commodore
-
Các hệ thống khác
- Acorn Atom
- LC-80
- Robotron Z1013
- Robotron Z9001: bao gồm BASIC và module RAM
- Robotron KC87: nhập Enter sau khi chạy BASIC
Ngôn ngữ và môi trường phát triển
- FORTH for KC85/4: chỉ định module M026, ảnh
forth.853và lệnh nhập ban đầu - FORTH for Z1013: chạy trong cấu hình Z1013 64KB
- BASIC for Z1013: sử dụng cấu hình Z1013 64KB và
kc_basic.z80 - ASMDEV for KC85/4: chỉ định module M027, ảnh
develop.853và lệnh ban đầu - CP/M 2.2 for CPC: tải
6128sp_4.dskrồi nhập|cpm
Demo Amstrad CPC
-
Các demo CPC đời đầu
- DTC
- Tire Au Flan: nhấn Space để tiếp tục
- Wolfenstrad
- Byte'98
- Ecole Buissonniere
- Demoizart: có cảnh báo hiệu ứng nhấp nháy
- Logon's Run
- YAP!
- Backtro
- Isometrikum
-
Các demo CPC bổ sung
- SotB Demo: chọn
Preview 1rồi nhấn Space - Points Barres: nhấn Space để tiếp tục
- Still Rising
- Octopus Pocus
- Gloire a Piou!
- phX / Condense
- Batman Forever
- CRTC
- Wunderbar
- Phortem
- Pheelone
- Phreaks
- Phat 2
- Wobbler
- Battro
- SotB Demo: chọn
Demo Commodore C64 và VIC-20
-
Demo C64
-
Demo VIC-20
- PPY: dùng mở rộng
maxram - Muna.Paluu: dùng mở rộng RAM 8KB
- PPY: dùng mở rộng
Demo và trò chơi KC85
-
Demo KC85/4
-
Trò chơi KC85/3
- Digger: sử dụng mô-đun M022
- Jungle: sử dụng mô-đun M022
- Pengo
- House
- Cave
- Phiên bản thay thế của Cave: là phiên bản thay thế tốt hơn
- Labyrinth
- Pacman: tự động nhập
PACMAN - Ladder: tự động nhập
LADDER - Mad Breakin: sử dụng mô-đun M022
-
Trò chơi KC85/4
- Chess: tự động nhập
CHESS - Enterprise
- Tetris
- Sokoban
- Chess: tự động nhập
Các trò chơi có trên nhiều hệ máy
-
Boulderdash
-
Bomb Jack
-
Cybernoid
-
Dòng Arkanoid
- Arkanoid for CPC
- Arkanoid RoD for CPC
- Arkanoid RoD for ZX128: dùng joystick Sinclair 1
-
Silkworm
-
Chase HQ
-
Ghosts'n'Goblins
-
Bruce Lee
-
Head over Heels
-
Nebulus
Máy đơn hệ và game arcade
-
Arcade và C64
- Pengo Arcade: nhấn
1để bỏ xu và Enter để bắt đầu - Zaxxon for C64
- Dig Dug for C64
- Pengo Arcade: nhấn
-
Game CPC
- Fruity Frank
- 1943
- Dragon Ninja
- Gryzor
- Astro Marine Corps
- Intern.Karate
- IK+
- Ikari Warriors
- Rick Dangerous
- Prince of Persia
- Live and Let Die: chạy với cấu hình CPC464
-
Game ZX Spectrum
- Batty for ZX48K
- Great Escape for ZX128: chọn joystick Kempston
- Flying Shark for ZX48K: chọn joystick Kempston
- Cyclone for ZX48k: chọn joystick Kempston
- Exolon for ZX48k: chọn joystick Kempston
- Quazatron for ZX128: chọn joystick Kempston
- Rainbow Islands for ZX
- Sir Fred for ZX48K: chọn joystick Kempston
-
KC85/3
- Breakout: tự động nhập
BREAKOUT
- Breakout: tự động nhập
-
Acorn Atom
- Chucky Egg: sau
*LOAD, nhấn Space để bắt đầu - Jet Set Willy: sau
*LOAD, chọnJOYMMC
- Chucky Egg: sau
-
VIC-20
-
Robotron Z1013
1 bình luận
Ý kiến trên Hacker News
URL có
-previewlà đị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-casecho 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.htmlBan đầ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/ và 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
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
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
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àoGiờ 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
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...