1 คะแนน โดย GN⁺ 5 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ตั้งแต่ 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

อีมูเลเตอร์คอมพิวเตอร์ที่รองรับ

ภาษาและสภาพแวดล้อมการพัฒนา

  • 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

เดโม Commodore C64 และ VIC-20

เดโมและเกม KC85

เกมที่มีให้เล่นบนหลายเครื่อง

เครื่องเดี่ยวและเกมอาร์เคด

1 ความคิดเห็น

 
GN⁺ 5 시간 전
ความคิดเห็นจาก 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

    • ผมเคยทำ เกมพัซเซิลสไตล์ Zachtronics แบบพื้นฐานโดยอิงจาก 0x10c และจนถึงตอนนี้ก็ยังเป็นหนึ่งในไอเดียที่ชอบที่สุด ถึงแม้ช่วงแรกหลังเปิดตัวที่ทุกคนกำลังหมกมุ่นกับการเขียนโค้ด ก็น่าจะมีผู้ใช้ทั่วโลกแค่หลักร้อยคน ซึ่งในเชิงการเงินจะเป็นตัวเลือกที่แย่มาก
      เรื่องยากเริ่มตั้งแต่ผู้ใช้จะอยากสร้างทั้งระบบปฏิบัติการเองเพื่อจัดการฮาร์ดแวร์ของยานอวกาศหรือไม่ หรือควรมีตลาดซอฟต์แวร์ในเกมให้ซื้อขายโปรแกรมควบคุมยานกันดี ผมยังสงสัยว่าจะมีใครทำ Windows 3.1 สำหรับ DCPU จริง ๆ โดยไม่ได้ค่าตอบแทนไหม
      อยากทำให้สำเร็จ แต่เกมโอเพนซอร์สที่เคยออกมาก่อนหน้านี้ลงลึกถึงระดับ BIOS จนเทคนิคเกินไปสำหรับคนส่วนใหญ่ ผู้ใช้ที่อยากเริ่มจากงาน API/ABI เพียงเพื่อขยับยานอวกาศคงมีไม่มาก
  • ผมชอบแนวทาง การจำลองระดับพิน ของโปรเจกต์นี้ แต่ละองค์ประกอบทำงานแบบจบในตัวและเป็นโมดูล จึงยืดหยุ่นมาก
    อินเทอร์เฟซที่บางมากแต่กำหนดไว้อย่างชัดเจนอาจเป็นพื้นที่ที่ยังไม่ได้สำรวจมากพอในแง่ interoperability ถ้าทั้งสองฝั่ง sample ค่าตามจังหวะที่กำหนด และให้สัญญาณเพียงไม่กี่เส้นสำหรับการเข้าถึงเชิงเวลา ไม่ว่าจะเป็นพิน รีจิสเตอร์จำนวนน้อย หรือพื้นที่ memory-mapped ก็ล้วนเป็นเป้าหมายที่ยอดเยี่ยมสำหรับ การทดสอบความสอดคล้องตามข้อกำหนด
    ในยุคของโค้ดที่สร้างโดย AI องค์ประกอบแบบโมดูลที่มีข้อกำหนดความสอดคล้องชัดเจนอาจมีประโยชน์เป็นพิเศษ ไม่ว่าภายในกล่องดำจะ implement อย่างไร ตราบใดที่ไม่ละเมิดพฤติกรรมที่กำหนดไว้ ก็ไม่ต้องไปสนใจ

    • นั่นก็คือแนวคิดพื้นฐานของ ไลบรารีซอฟต์แวร์ อยู่แล้ว และทำได้แม้ไม่มี AI ;)
      ในทางปฏิบัติ การทำไลบรารีที่จบในตัวต้องใช้วินัยอยู่บ้าง และไม่ควรเชื่อคำของฝ่ายที่เอาแต่ตะโกนว่า DRY มากเกินไป
    • ผม implement ชิปทั้งหมดใน อีมูเลเตอร์ Amstrad CPC ของผมลงไปถึงระดับพินแล้ว แต่ถ้าจะให้โหมดนี้ทำความเร็วแบบเรียลไทม์ ต้องใช้ CPU ระดับ M2 ขึ้นไป
      เลยเพิ่มโหมด "soldered" ที่ยอมลดความเป็นโมดูลลงเล็กน้อยเพื่อเพิ่มความเร็ว ในโหมดนี้จะถอด CRTC ออกไม่ได้ และสุดท้ายก็ใส่โหมดความเร็วสูงแยกต่างหากด้วย ถึงอย่างนั้น implementation ระดับพินก็มีคุณค่ามากในตัวเอง เพราะเป็น verification oracle ที่ยอดเยี่ยมสำหรับตรวจสอบความถูกต้องได้ทุกเมื่อ
      ตอนนี้อยากทำพอร์ตขยายที่เชื่อมต่อ USB เพื่อเอาฮาร์ดแวร์จริงมาต่อทั้งหมด โค้ดระดับพินยังไม่ได้เปิดเผย แต่รอประมาณหนึ่งสัปดาห์ก็ได้เห็น
    • ฮาร์ดแวร์และซอฟต์แวร์ถูกออกแบบมาเป็น กล่องดำและโมดูล ที่ไม่จำเป็นต้องรู้ข้างในมาตั้งนานแล้ว ไม่ใช่ทุกอย่าง แต่ส่วนใหญ่ก็มุ่งสู่ความเป็นโมดูลอยู่แล้ว น่าสนุกที่ตอนนี้มีคนมากขึ้นเพิ่งมาตระหนักแนวคิดนี้อีกครั้งระหว่างพยายามทำให้ AI พอใจ
  • เจ๋งจริง ๆ ตอนเด็ก ๆ การโหลดเกมหนึ่งเกมจากเทปใช้เวลานานราวกับชั่วกัปชั่วกัลป์ แต่ตอนนี้รันได้ในพริบตา ผมชอบ 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...