picoZ80 Assembly Board

เปิดกรุคอมเก่า... แต่ชิปพัง หาอะไหล่ไม่ได้ทำไงดี?

สำหรับสาย Retro Computing หรือคนที่ชอบสะสมคอมพิวเตอร์ยุค 80s น่าจะรู้กันดีว่าหัวใจหลักของเครื่องในยุคนั้นคือ CPU ระดับตำนานอย่าง Zilog Z80 แต่ปัญหาที่ชาวเนิร์ดต้องเจอในตอนนี้คือ ทางบริษัท Zilog ได้ประกาศหยุดผลิต (End of Life) ชิป Z80 แบบดั้งเดิมไปแล้วเมื่อปี 2024 ทำให้การจะหาอะไหล่แบบ DIP-40 มาซ่อมคอมเก่าๆ นั้นยากขึ้นเรื่อยๆ และมีราคาแพงขึ้น

คำถามคือ ถ้าวันหนึ่งชิปพัง เราจะต้องทิ้งคอมพิวเตอร์สุดคลาสสิกไปเลยไหม? วันนี้เรามีทางออกล้ำๆ ที่ไม่ได้แค่ซ่อมให้กลับมาติด แต่ยังอัปเกรดให้เทพกว่าเดิมด้วยครับ!

'picoZ80' คืออะไร? ทำไมถึงเป็นไอเทมแรร์ของชาวเรโทร

ขอแนะนำให้รู้จักกับ picoZ80 โปรเจกต์ฮาร์ดแวร์สุดเจ๋งที่พัฒนาโดย eaw (เข้าไปดูรายละเอียดเต็มๆ ได้ที่ https://eaw.app/picoz80/) มันคือแผงวงจร PCB ขนาดเล็กที่ออกแบบมาให้มีขนาดและขาเสียบ (DIP-40) เท่ากับ CPU Z80 ตัวเดิมเป๊ะๆ พูดง่ายๆ คือสามารถ "ถอดตัวเก่าออก แล้วเสียบตัวนี้แทน" ได้เลยทันที (Drop-in replacement)

ความลับของมันคือการใช้ไมโครคอนโทรลเลอร์ยุคใหม่อย่าง RP2350B มาจำลองการทำงาน (Emulate) ของ Z80 ทั้งหมด ซึ่งบอร์ดตัวนี้สามารถตอบสนองจังหวะการส่งข้อมูล (Bus timing) ได้แบบเรียลไทม์ ทำให้คอมพิวเตอร์โฮสต์คิดว่ามันกำลังคุยกับชิป Z80 ของแท้อยู่ครับ

อัปเกรดทั้งที มีฟีเจอร์เด็ดอะไรบ้าง?

ด้วยความที่ RP2350B มีสองคอร์ (Dual-core) คอร์แรกเอาไว้รัน Z80 ล้วนๆ ส่วนคอร์ที่สองเลยว่างไว้สำหรับทำฟีเจอร์ล้ำๆ ที่คอมยุค 80s ไม่มีทางทำได้ เช่น:

  • เพิ่ม RAM แบบจัดเต็ม: แผงนี้มาพร้อมกับ SPRAM ภายนอกถึง 8MB (แบ่งเป็น 64 หน้า หน้าละ 64kB) ซึ่งถือว่ามหาศาลมากเมื่อเทียบกับมาตรฐานยุคนั้น
  • มีพื้นที่เก็บ ROM ในตัว: มี Flash memory อีก 16MB สำหรับจำลองแผ่นดิสก์ หรือเก็บไฟล์ระบบต่างๆ ไว้ในตัวบอร์ด
  • เชื่อมต่อไร้สาย: มีการพ่วงชิป ESP32 ไว้เป็น Co-processor เพื่อให้รองรับ Wi-Fi, Bluetooth และยังทำหน้าที่จัดการ SD Card เพื่อดึงไฟล์ข้ามเน็ตเวิร์คได้ด้วย

Step-by-Step ใช้งานยากไหม?

จุดที่ทำให้คนชอบโปรเจกต์นี้คือความ "Plug and Play" ของมันครับ:

  1. ดึงชิป Z80 ตัวเก่าออกจากบอร์ดของคอมพิวเตอร์
  2. เสียบตัว picoZ80 ลงไปที่ซ็อกเก็ตแทน
  3. ใส่ SD Card ที่มีไฟล์ตั้งค่า (`config.json`) ไว้ล่วงหน้า
  4. เปิดเครื่อง! โดยระบบจะอ่านค่าจาก JSON ว่าอยากให้รันโปรแกรมอะไร แบ่ง Memory แบบไหน โดยที่เราไม่ต้องคอมไพล์โค้ดใหม่เลยสักบรรทัด

ตัวอย่างการตั้งค่า (Code Snippet)

เพื่อให้เห็นภาพว่าการตั้งค่าผ่าน JSON มันง่ายแค่ไหน ลองดูตัวอย่างโครงสร้างไฟล์ Configuration ด้านล่างนี้ครับ

View more (ดูตัวอย่าง Config JSON / Copy Code)

ไฟล์ตั้งค่านี้จะเก็บอยู่ใน SD Card ทำให้เปลี่ยนพฤติกรรมของบอร์ดได้ทันที


{
  "system": "Sharp MZ-80K",
  "cpu_speed_mhz": 4.0,
  "memory": {
    "ram_mb": 8,
    "flash_mb": 16,
    "rom_file": "/roms/mz80k.rom"
  },
  "peripherals": {
    "wifi_enabled": true,
    "sd_card_mounted": true,
    "virtual_disk": "/disks/disk1.img"
  }
}

โปรเจกต์ picoZ80 พิสูจน์ให้เห็นว่า แม้เทคโนโลยีเก่าจะเลิกผลิตไปแล้ว แต่คอมมูนิตี้สายฮาร์ดแวร์ก็ยังสามารถหาวิธีนำชิปยุคใหม่มาเชื่อมต่อเพื่ออนุรักษ์เครื่องจักรสุดคลาสสิกให้อยู่รอดต่อไปได้ แถมยังฉลาดกว่าเดิมอีกด้วย!

อัปเดตเทรนด์ฮาร์ดแวร์และไมโครคอนโทรลเลอร์สุดล้ำ

สนใจอยากลองเล่นบอร์ด RP2040/RP2350 หรือ ESP32 เอาไปประยุกต์ทำโปรเจกต์เจ๋งๆ แบบนี้บ้าง? เข้ามาเลือกดูสินค้าและพูดคุยกับเราได้เลย!

คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดตรวจสอบคู่มือและข้อมูลเชิงลึกจากผู้พัฒนาโดยตรง
อ้างอิงจาก (References):

แท็ก


Blog posts