Tiny Emulators - รวมอีมูเลเตอร์ขนาดเล็ก
(floooh.github.io)- ตั้งแต่ CPU คลาสสิกไปจนถึงคอมพิวเตอร์ 8 บิตและระบบอาร์เคด รวบรวม หน้าอีมูเลเตอร์ สำหรับรันซอฟต์แวร์ของแต่ละเครื่องได้ทันทีไว้ในที่เดียว
- มีระบบหลากหลาย เช่น Amstrad CPC, ZX Spectrum, Commodore, Acorn Atom, ตระกูล Robotron พร้อมด้วย Visual 6502 Remix·Visual Z80 Remix
- สามารถระบุ รุ่นเครื่องและอิมเมจดิสก์, อินพุตเริ่มต้น, จอยสติ๊ก, การขยาย RAM และการตั้งค่าโมดูลได้ด้วยพารามิเตอร์
type,file,input,joystick,exp,modใน URL - รวม BASIC, FORTH, ASMDEV, CP/M 2.2 รวมถึงเดโมและเกมจำนวนมากของ CPC·C64·VIC-20·KC85 และผลงานอย่าง Boulderdash สามารถรันเพื่อเปรียบเทียบ เวอร์ชันหลายเครื่อง ได้
- บางรายการต้องกดปุ่มเริ่มต้นหรือป้อนคำสั่ง รวมถึงเลือกจอยสติ๊ก และ Demoizart มี คำเตือนเรื่องแสงกะพริบ จึงควรตรวจสอบเงื่อนไขการรันประกอบด้วย
การแสดงภาพการทำงานของ CPU
- Visual 6502 Remix: การแสดงภาพ 6502
- Visual Z80 Remix: การแสดงภาพ Z80
อีมูเลเตอร์คอมพิวเตอร์ที่รองรับ
-
ตระกูล Amstrad
-
ตระกูล ZX Spectrum
-
ตระกูล Commodore
-
ระบบอื่น ๆ
- Acorn Atom
- LC-80
- Robotron Z1013
- Robotron Z9001: รวม BASIC และโมดูล RAM
- Robotron KC87: ป้อน Enter หลังจากรัน BASIC
ภาษาและสภาพแวดล้อมการพัฒนา
- FORTH for KC85/4: ระบุโมดูล M026, อิมเมจ
forth.853และคำสั่งเริ่มต้น - FORTH for Z1013: รันใน การตั้งค่า Z1013 64KB
- BASIC for Z1013: ใช้การตั้งค่า Z1013 64KB และ
kc_basic.z80 - ASMDEV for KC85/4: ระบุโมดูล M027, อิมเมจ
develop.853และคำสั่งเริ่มต้น - CP/M 2.2 for CPC: โหลด
6128sp_4.dskแล้วป้อน|cpm
เดโม Amstrad CPC
-
เดโม CPC ยุคแรก
- DTC
- Tire Au Flan: กด Space เพื่อดำเนินต่อ
- Wolfenstrad
- Byte'98
- Ecole Buissonniere
- Demoizart: มีคำเตือนแสงกะพริบ
- Logon's Run
- YAP!
- Backtro
- Isometrikum
-
เดโม CPC เพิ่มเติม
- SotB Demo: เลือก
Preview 1แล้วกด Space - Points Barres: กด Space เพื่อดำเนินต่อ
- Still Rising
- Octopus Pocus
- Gloire a Piou!
- phX / Condense
- Batman Forever
- CRTC
- Wunderbar
- Phortem
- Pheelone
- Phreaks
- Phat 2
- Wobbler
- Battro
- SotB Demo: เลือก
เดโม Commodore C64 และ VIC-20
-
เดโม C64
-
เดโม VIC-20
- PPY: ใช้ส่วนขยาย
maxram - Muna.Paluu: ใช้ส่วนขยาย RAM 8KB
- PPY: ใช้ส่วนขยาย
เดโมและเกม KC85
-
เดโม KC85/4
-
เกม KC85/3
- Digger: ใช้โมดูล M022
- Jungle: ใช้โมดูล M022
- Pengo
- House
- Cave
- Cave เวอร์ชันทางเลือก: เป็นเวอร์ชันทางเลือกที่ดีกว่า
- Labyrinth
- Pacman: ป้อน
PACMANโดยอัตโนมัติ - Ladder: ป้อน
LADDERโดยอัตโนมัติ - Mad Breakin: ใช้โมดูล M022
-
เกม KC85/4
- Chess: ป้อน
CHESSโดยอัตโนมัติ - Enterprise
- Tetris
- Sokoban
- Chess: ป้อน
เกมที่มีให้เล่นบนหลายเครื่อง
-
Boulderdash
-
Bomb Jack
-
Cybernoid
-
ตระกูล Arkanoid
- Arkanoid for CPC
- Arkanoid RoD for CPC
- Arkanoid RoD for ZX128: ใช้จอยสติก Sinclair 1
-
Silkworm
-
Chase HQ
-
Ghosts'n'Goblins
-
Bruce Lee
-
Head over Heels
-
Nebulus
เครื่องเดี่ยวและเกมอาร์เคด
-
อาร์เคดและ C64
- Pengo Arcade: ใส่เหรียญด้วย
1แล้วเริ่มด้วย Enter - Zaxxon for C64
- Dig Dug for C64
- Pengo Arcade: ใส่เหรียญด้วย
-
เกม CPC
- Fruity Frank
- 1943
- Dragon Ninja
- Gryzor
- Astro Marine Corps
- Intern.Karate
- IK+
- Ikari Warriors
- Rick Dangerous
- Prince of Persia
- Live and Let Die: รันด้วยคอนฟิก CPC464
-
เกม ZX Spectrum
- Batty for ZX48K
- Great Escape for ZX128: เลือกจอยสติก Kempston
- Flying Shark for ZX48K: เลือกจอยสติก Kempston
- Cyclone for ZX48k: เลือกจอยสติก Kempston
- Exolon for ZX48k: เลือกจอยสติก Kempston
- Quazatron for ZX128: เลือกจอยสติก Kempston
- Rainbow Islands for ZX
- Sir Fred for ZX48K: เลือกจอยสติก Kempston
-
KC85/3
- Breakout: ป้อน
BREAKOUTอัตโนมัติ
- Breakout: ป้อน
-
Acorn Atom
- Chucky Egg: หลัง
*LOADให้เริ่มด้วย Space - Jet Set Willy: หลัง
*LOADให้เลือกJOYMMC
- Chucky Egg: หลัง
-
VIC-20
-
Robotron Z1013
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
URL ที่มี
-previewต่อท้าย เป็นที่อยู่เก่าที่เคยทำไว้เพื่อทดสอบบางอย่าง และไม่ได้อัปเดตมาตั้งแต่ปี 2021 ที่อยู่ล่าสุดคือ https://floooh.github.io/tiny8bit/นอกจากการจำลองระดับพินแล้ว จุดที่น่าสนใจคือการทำให้ CPU เดินหน้าเป็นรายไซเคิล CPU ไม่ได้ทำหน้าที่เป็นตัวควบคุมพิเศษของระบบ แต่ขยับไปพร้อมกับชิปอื่น ๆ ในแต่ละ tick สำหรับ Z80 ไม่ได้มี branch หนึ่งครั้งต่อหนึ่งคำสั่ง แต่มี branch แบบ
switch-caseหนึ่งครั้งต่อหนึ่ง instruction cycle รายละเอียดสรุปไว้ที่ https://floooh.github.io/2021/12/17/cycle-stepped-z80.htmlเดิมทีเป็นโปรเจกต์ที่ทำเป็นหลักช่วงวันหยุดคริสต์มาส และหลังปี 2023 ก็แทบไม่ได้แตะอีก หลังจากนั้นก็แค่อัปเดต dependency ของ sokol และ Dear ImGui แล้วก็เพิ่มเดโมใหม่ ๆ ที่ขึ้นบน https://www.pouet.net/ และ https://csdb.dk/ เป็นครั้งคราวเท่านั้น
เห็นโปรเจกต์นี้แล้วนึกถึง 0x10c อย่างแรง ผมยังคงหลงใหลโลกที่มี virtual minicomputer อยู่ และได้คิดไอเดียบางอย่างบนพื้นฐานของการเดินทางในอวกาศกับไซเบอร์พังก์ ผสมองค์ประกอบสไตล์ Zachtronics เข้าไปในการออกแบบชิป และยังเคยคิดถึงเวอร์ชันแฟนตาซีด้วย
แต่ไม่ว่าจะมองอย่างไรก็สลัดความคิดไม่ได้ว่ามันเป็นหัวข้อที่เฉพาะกลุ่มสุด ๆ ถ้าสนใจก็คุยกันตรงนี้ หรือส่งอีเมลตามโปรไฟล์มาก็ได้ อ้างอิง: https://en.wikipedia.org/wiki/0x10c
เรื่องยากเริ่มตั้งแต่ผู้ใช้จะอยากสร้างทั้งระบบปฏิบัติการเองเพื่อจัดการฮาร์ดแวร์ของยานอวกาศหรือไม่ หรือควรมีตลาดซอฟต์แวร์ในเกมให้ซื้อขายโปรแกรมควบคุมยานกันดี ผมยังสงสัยว่าจะมีใครทำ Windows 3.1 สำหรับ DCPU จริง ๆ โดยไม่ได้ค่าตอบแทนไหม
อยากทำให้สำเร็จ แต่เกมโอเพนซอร์สที่เคยออกมาก่อนหน้านี้ลงลึกถึงระดับ BIOS จนเทคนิคเกินไปสำหรับคนส่วนใหญ่ ผู้ใช้ที่อยากเริ่มจากงาน API/ABI เพียงเพื่อขยับยานอวกาศคงมีไม่มาก
ผมชอบแนวทาง การจำลองระดับพิน ของโปรเจกต์นี้ แต่ละองค์ประกอบทำงานแบบจบในตัวและเป็นโมดูล จึงยืดหยุ่นมาก
อินเทอร์เฟซที่บางมากแต่กำหนดไว้อย่างชัดเจนอาจเป็นพื้นที่ที่ยังไม่ได้สำรวจมากพอในแง่ interoperability ถ้าทั้งสองฝั่ง sample ค่าตามจังหวะที่กำหนด และให้สัญญาณเพียงไม่กี่เส้นสำหรับการเข้าถึงเชิงเวลา ไม่ว่าจะเป็นพิน รีจิสเตอร์จำนวนน้อย หรือพื้นที่ memory-mapped ก็ล้วนเป็นเป้าหมายที่ยอดเยี่ยมสำหรับ การทดสอบความสอดคล้องตามข้อกำหนด
ในยุคของโค้ดที่สร้างโดย AI องค์ประกอบแบบโมดูลที่มีข้อกำหนดความสอดคล้องชัดเจนอาจมีประโยชน์เป็นพิเศษ ไม่ว่าภายในกล่องดำจะ implement อย่างไร ตราบใดที่ไม่ละเมิดพฤติกรรมที่กำหนดไว้ ก็ไม่ต้องไปสนใจ
ในทางปฏิบัติ การทำไลบรารีที่จบในตัวต้องใช้วินัยอยู่บ้าง และไม่ควรเชื่อคำของฝ่ายที่เอาแต่ตะโกนว่า DRY มากเกินไป
เลยเพิ่มโหมด
"soldered"ที่ยอมลดความเป็นโมดูลลงเล็กน้อยเพื่อเพิ่มความเร็ว ในโหมดนี้จะถอด CRTC ออกไม่ได้ และสุดท้ายก็ใส่โหมดความเร็วสูงแยกต่างหากด้วย ถึงอย่างนั้น implementation ระดับพินก็มีคุณค่ามากในตัวเอง เพราะเป็น verification oracle ที่ยอดเยี่ยมสำหรับตรวจสอบความถูกต้องได้ทุกเมื่อตอนนี้อยากทำพอร์ตขยายที่เชื่อมต่อ USB เพื่อเอาฮาร์ดแวร์จริงมาต่อทั้งหมด โค้ดระดับพินยังไม่ได้เปิดเผย แต่รอประมาณหนึ่งสัปดาห์ก็ได้เห็น
เจ๋งจริง ๆ ตอนเด็ก ๆ การโหลดเกมหนึ่งเกมจากเทปใช้เวลานานราวกับชั่วกัปชั่วกัลป์ แต่ตอนนี้รันได้ในพริบตา ผมชอบ Bruce Lee บน ZX Spectrum เป็นพิเศษ
ต้องมี Oric มากกว่านี้ด้วย: https://oric.games/
เกมบางเกมตั้ง ระดับเสียงค่อนข้างดัง กว่าที่คาดไว้ รู้ได้ยากจนกว่าจะคลิกเข้าเกมเอง
ถ้า ปรับระดับเสียง จาก UI ของเว็บได้ก็คงดี เสียงของบางเกมดังเกินไป
ช่วยอัปเดตที่อยู่เป็น https://floooh.github.io/tiny8bit/ ด้วย เป็นที่อยู่อย่างเป็นทางการที่ลิงก์ไว้ และเคยใช้ในการส่งครั้งก่อน ๆ ด้วย นักพัฒนาก็ประกาศไว้เมื่อปีที่แล้วที่ https://news.ycombinator.com/item?id=43821756
ผมสงสัยว่าผู้โพสต์ไปเจอ ที่อยู่สำหรับพรีวิว นี้จากที่ไหน และมันถูกลิงก์ไว้ที่อื่นหรือเปล่า
โปรเจกต์นี้มีอยู่มาแล้ว อย่างน้อย 8 ปีก่อน: https://hn.algolia.com/?query=Tiny%20Emulators&type=story&da...