1551-rePico คืนชีพ Commodore 1551 ด้วย Raspberry Pi Pico 2
ถ้าจะจำลอง Floppy Drive รุ่นเก่าในปี 2026 วิธีที่ดูตรงที่สุดก็คงเป็นเอา Microcontroller สมัยใหม่มาจำลองทุกอย่างให้จบในชิปเดียว แต่โปรเจกต์ 1551-rePico เลือกเดินอีกทาง เพราะมันยังเก็บแนวคิดของ Drive Computer แบบ Commodore 1551 เอาไว้ แล้วให้ Raspberry Pi Pico 2 เข้ามารับบทส่วนที่เคยเป็น กลไก Floppy, ระบบอ่านเขียนข้อมูล และ User Interface สมัยใหม่แทน
ผลลัพธ์คือโปรเจกต์ Retrocomputing ที่เอา CPU 6510T, RAM, DOS ROM และ CPLD มาทำงานร่วมกับ Pico 2, SD Card และ OLED โดยมีเป้าหมายสร้างอุปกรณ์ทดแทน Commodore 1551 สำหรับตระกูล Plus/4, C16 และ C116
- โปรเจกต์นี้ไม่ได้ให้ Pico 2 จำลอง Commodore 1551 ทั้งหมดเพียงตัวเดียว
- ยังใช้ CPU 6510T จริง หรือ MOS CPU Replacer ที่ตั้งค่าเป็น 6510T ได้
- ใช้ XC9572XL CPLD แทนส่วน TPI และทำหน้าที่ Glue Logic เพิ่มเติม
- Raspberry Pi Pico 2 รับงานด้าน Floppy Emulation, GCR, SD Card และ UI
- รองรับ Disk Image แบบ D64, G64 และไฟล์ PRG
- หน้าเครื่องมี OLED, Rotary Encoder และปุ่มสำหรับเลือก Disk Image
Commodore 1551 คืออะไร?
ถ้าพูดถึง Floppy Drive ของ Commodore หลายคนจะคุ้นชื่อ Commodore 1541 ที่ใช้งานร่วมกับ Commodore 64 มากกว่า ส่วน Commodore 1551 เป็น Drive ที่สร้างขึ้นสำหรับคอมพิวเตอร์ตระกูล Plus/4 โดยเฉพาะ
โปรเจกต์ 1551-rePico ระบุว่ากลุ่มเครื่องเป้าหมายคือ Plus/4, C16 และ C116 และการสื่อสารกับตัวคอมพิวเตอร์ใช้ระบบ TCBM ซึ่งแตกต่างจากแนวทางของ 1541
จุดที่ทำให้เรื่องนี้น่าสนใจขึ้นในปี 2026 คือ Hardware ของ 1551 ไม่ได้พบได้ง่ายเท่า 1541 การสร้าง Hardware Recreation จึงเป็นอีกวิธีหนึ่งที่ช่วยให้คนเล่น Retrocomputing สามารถใช้งาน Software และ Disk Image ของระบบเก่าได้โดยไม่จำเป็นต้องพึ่ง Drive Mechanism ดั้งเดิมเพียงอย่างเดียว
1551-rePico ไม่ใช่การเอา Pico 2 มาจำลองทุกอย่าง
นี่คือส่วนที่ทำให้โปรเจกต์นี้มีคาแรกเตอร์ชัดมาก
แทนที่จะเขียน Firmware แล้วให้ Microcontroller สมัยใหม่จำลอง CPU, ROM, Peripheral และ Floppy Drive ทั้งหมดใน Software ผู้สร้างเลือกเก็บส่วนหนึ่งของ Architecture เดิมไว้จริง ๆ
ระบบจึงประกอบด้วยของสองยุคที่ทำงานร่วมกัน:
- CPU 6510T แบบที่ใช้กับ Commodore 1551
- RAM และ DOS ROM ที่ยังเป็นส่วนหนึ่งของ Drive Computer
- XC9572XL CPLD สำหรับ TPI Replacement และ Glue Logic
- Raspberry Pi Pico 2 สำหรับจำลองส่วน Drive Hardware
- SD Card แทนสื่อ Floppy จริง
- OLED และ Rotary Encoder สำหรับเลือก Disk Image
Architecture: ของเก่ากับของใหม่แบ่งงานกันอย่างไร?
ถ้ามองเป็น Block ใหญ่ ๆ 1551-rePico คือ Drive Computer แบบ Self-contained ซึ่งรวม Pico 2, 6510T, CPLD, RAM และ ROM อยู่บน Hardware ชุดเดียว
| ส่วนประกอบ | บทบาทตามโปรเจกต์ |
|---|---|
| Raspberry Pi Pico 2 | Floppy Data, GCR, Virtual Head, Stepper Emulation, SD Card, Front-panel UI และสร้าง Clock/IRQ |
| 6510T | CPU ของ Drive Computer โดยสามารถใช้ชิปจริงหรือ MOS CPU Replacer ที่ตั้งค่าเป็น 6510T ได้ |
| XC9572XL CPLD | ทำหน้าที่แทน TPI บางส่วนและทำ Glue Logic รวมถึง Address Decode |
| SRAM | 32 KB ตาม Hardware ปัจจุบันของโปรเจกต์ |
| 27C512 EPROM | ROM ขนาด 64 KB โดยแบ่งพื้นที่สำหรับ DOS Image |
| SD Card | เก็บ Disk Image และไฟล์ที่ใช้กับ Drive Emulator |
| OLED + Controls | Browse และ Mount Disk Image จากหน้าเครื่อง |
Raspberry Pi Pico 2 ทำอะไรบ้าง?
ข่าว Hackaday เรียกบอร์ดส่วนนี้สั้น ๆ ว่า Pi Pico แต่ Repository ของผู้สร้างระบุละเอียดกว่านั้นว่า Hardware ปัจจุบันใช้ Raspberry Pi Pico 2 รุ่น non-wireless ที่ใช้ RP2350
และในโปรเจกต์นี้ Pico 2 ไม่ได้ทำหน้าที่เล็ก ๆ แค่เปิดไฟล์จาก SD Card แต่เข้าไปจำลองพฤติกรรมที่เดิมเคยเกี่ยวข้องกับกลไก Floppy โดยตรง
งานหลักที่ผู้สร้างระบุไว้ ได้แก่:
- สร้างและจัดการ Floppy Data Stream
- GCR Encoding และ Decoding
- จำลอง Virtual Read/Write Head
- จำลอง Stepper Motor จาก Control Signal
- จัดการ Write-protect และ Disk-change Behaviour
- อ่านข้อมูลจาก SD Card
- ควบคุม OLED, Buttons และ Rotary Encoder
- สร้างสัญญาณ Phi0 2 MHz ให้ CPU
- สร้างสัญญาณ IRQ 100 Hz
นี่จึงเป็นตัวอย่างที่ดีของการใช้ Microcontroller สมัยใหม่เป็น “ตัวแทน Hardware Behaviour” มากกว่าการนำมาใช้เป็น Application Processor อย่างเดียว
ทำไมยังเก็บ CPU 6510T ไว้?
Commodore 1551 เดิมใช้ CPU 6510T และโปรเจกต์นี้ตั้งใจรักษาแนวทางนั้นเอาไว้ โดย Mainboard ใหม่มี Socket สำหรับ CPU ดังกล่าว
ถ้าไม่มี 6510T ของเดิม Repository ระบุว่าสามารถใช้ MOS CPU Replacer ที่ Configure เป็น 6510T ได้เช่นกัน
นี่เป็นรายละเอียดที่สำคัญมาก เพราะช่วยให้โปรเจกต์ไม่ต้องผูกอนาคตไว้กับ Original Chip ที่หาได้ยากเพียงทางเดียว
XC9572XL CPLD ไม่ได้มีไว้แค่ต่อสายให้ครบ
CPLD ในระบบถูกใช้เป็นทั้ง TPI Replacement และ Glue Logic ซึ่งหมายความว่ามันช่วยจัดการ Logic ระหว่าง CPU, RAM, ROM และ Signal ต่าง ๆ ของ Drive
Repository ระบุถึง Fake6523 ซึ่งมีต้นทางจากโปรเจกต์ของ ZXByteman และถูกนำมาใช้กับ Port ของระบบ
นอกจากนี้ CPLD ยังรับผิดชอบงานประเภท:
- RAM และ ROM Address Decode
- TPI Chip Select
- SRAM Write Enable Logic
- Byte-ready Latch Behaviour
- Port และ Handshake Signal บางส่วนของ Drive
เพราะฉะนั้นหากจะสร้าง Hardware นี้จริง ขั้นตอนไม่ได้จบแค่ Flash Pico 2 แต่ยังต้อง Program CPLD ด้วย Bitstream ที่โครงการเตรียมไว้ด้วย
RAM และ ROM: หน้าตาคล้ายเดิม แต่มีพื้นที่มากขึ้น
เมื่อเทียบกับ Commodore 1551 เดิม Repository ของ 1551-rePico ระบุว่า Board ใหม่เพิ่มทรัพยากร Memory ขึ้น
| ส่วน | Stock 1551 | 1551-rePico |
|---|---|---|
| CPU | 6510T | 6510T หรือ MOS CPU Replacer |
| SRAM | ประมาณ 2 KB | 32 KB KM62256 |
| ROM | ประมาณ 16 KB | 64 KB EPROM 27C512 |
| TPI / Logic | 6523 + Discrete Decode | XC9572XL CPLD |
| Floppy Mechanism | Physical Floppy Mechanism | Pico 2 + SD Card Emulation |
ROM 64 KB สามารถเก็บ DOS Image ได้สองชุดขนาด 32 KB และใช้ Jumper J2 เลือก Bank ที่ต้องการใช้งาน
Repository แนะนำ Image ที่เกี่ยวข้องกับ 1551-RAMBOard สำหรับฟังก์ชันเพิ่มเติม เช่น Track Cache และ Fastloader บางรูปแบบ
จากแผ่น Floppy กลายเป็น D64, G64 และ PRG บน SD Card
ฝั่ง Storage คือจุดที่โลกใหม่เข้ามาแทนกลไกเก่าแบบชัดที่สุด
1551-rePico อ่าน Disk Image จาก SD Card และ Repository ระบุว่ารองรับ:
- D64
- G64
- PRG
สำหรับ PRG ตัว Firmware จะนำไฟล์ไปสร้างเป็น D64 ชั่วคราวระหว่างใช้งาน ตามระบบที่ผู้พัฒนาวางไว้
ขณะที่ GCR Encode/Decode และ Track Buffer มีรากมาจากงาน 1541-rePico / 1541-rebuild แล้วถูกนำมาปรับให้เข้ากับ 1551
OLED + Rotary Encoder ทำให้ Drive เก่าใช้งานแบบยุคใหม่ขึ้น
เมื่อ Disk Image อยู่ใน SD Card ผู้ใช้ก็ต้องมีวิธีเลือกว่าจะ Mount Image ไหน โปรเจกต์จึงมี Front-panel UI ที่ประกอบด้วย OLED, Rotary Encoder และปุ่มควบคุม
ผู้ใช้สามารถ Browse และ Mount Disk Image จากหน้าเครื่องได้ และ Firmware ยังรองรับ Card-detect Hotplug หาก Socket SD Card ที่ใช้มีขา Detect
Front Panel และ Mechanical Assembly ไม่ได้เริ่มออกแบบใหม่ทั้งหมด แต่โปรเจกต์ 1551-rePico นำ Mechanical Stack จาก Pi1551-III มาใช้ต่อ ทั้ง Front Panel, Faceplate และตัว Case
แล้วมันคุยกับ Plus/4, C16 หรือ C116 อย่างไร?
ฝั่งคอมพิวเตอร์ 1551-rePico ไม่ได้ต่อเข้าไปตรง ๆ โดยลำพัง แต่ Repository ระบุว่าต้องใช้งานร่วมกับโปรเจกต์ plus4-tcbm2sd
ตัว Drive เชื่อมกับ Interface นี้ผ่าน Ribbon Cable เพื่อเข้าถึง TCBM Bus ของเครื่อง Plus/4, C16 หรือ C116
ผู้สร้างยังระบุว่า Drive สามารถตั้งเป็น Device #8 หรือ #9 ได้ในแนวทางเดียวกับ Hardware ดั้งเดิม
ถ้าจะสร้างเอง ต้องเตรียมอะไรบ้าง?
จุดนี้ต้องบอกก่อนว่า 1551-rePico ไม่ใช่ Project แบบ “ซื้อ Pico แล้วเสียบสายไม่กี่เส้นก็เสร็จ”
จาก Repository ขั้นตอนรวม ๆ ครอบคลุมทั้ง Software และ Hardware เช่น:
- Clone Repository พร้อม Git Submodule
- เตรียม Raspberry Pi Pico SDK
- ติดตั้ง picotool
- Compile Firmware สำหรับ Pico 2
- Flash Firmware ลง Pico 2
- สั่งทำและประกอบ Main PCB จาก KiCad / Gerber
- Program XC9572XL CPLD
- Program DOS ROM ลง 27C512
- ประกอบ Front Panel และ Case จาก Pi1551-III
- เชื่อม Drive เข้ากับระบบผ่าน plus4-tcbm2sd
Repository มีทั้ง Schematic PDF, Gerber, Fab Pack, BOM, Pick-and-place Data, CPLD Source, ROM Image และ Firmware สำหรับใช้เป็นต้นทาง
ถ้าจะลงมือจริง แนะนำให้อ่าน คู่มือและไฟล์โปรเจกต์ 1551-rePico บน GitHub ควบคู่กับบทความนี้ เพราะรายละเอียดการประกอบขึ้นอยู่กับ Hardware File และ Firmware ของ Revision ที่ใช้งาน
ตัวอย่าง Build และ Flash Firmware จาก Repository
ด้านล่างเป็น Command ที่มาจาก Workflow ใน GitHub ของโปรเจกต์ ไม่ใช่ Command ที่สร้างเพิ่มขึ้นใหม่
1. Clone Repository พร้อม Submodule
git clone --recurse-submodules https://github.com/ytmytm/1551-rePico.git
cd 1551-rePico
หาก Clone Repository มาก่อนโดยไม่ได้ดึง Submodule Repository ระบุให้ใช้คำสั่งนี้
git submodule update --init --recursive
2. Build Firmware
cd firmware-1551-III-pico
mkdir -p build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja
เมื่อ Build สำเร็จ Repository ระบุว่าจะได้ไฟล์ เช่น 1551-III-Pico.uf2 และ 1551-III-Pico.elf
3. Flash Pico 2 ด้วย picotool
picotool load -t uf2 1551-III-Pico.uf2 -x -f
ขั้นตอนข้างบนเป็นเพียงส่วน Firmware ของ Pico 2 ยังไม่รวมการ Program CPLD, Burn DOS ROM, ประกอบ PCB และเชื่อมต่อ TCBM Interface
ถ้ามองจากมุม Maker ไทย โปรเจกต์นี้น่าเรียนรู้อะไร?
ต่อให้เราไม่ได้มี Commodore Plus/4 อยู่บนโต๊ะ โปรเจกต์นี้ก็ยังน่าสนใจในฐานะ Case Study ของการทำงานร่วมกันระหว่าง Hardware ต่างยุค
มีหลายแนวคิดที่ Maker สามารถศึกษาได้ เช่น:
- การใช้ Microcontroller จำลอง Behaviour ของ Hardware แทนที่จะ Emulator ทั้ง System
- การใช้ CPLD ทำ Address Decode และ Glue Logic
- การเชื่อมวงจร Logic รุ่นเก่าเข้ากับระบบ 3.3V สมัยใหม่
- การจัดการ Timing ที่ Hardware เดิมคาดหวัง
- การใช้ SD Card แทนสื่อเก็บข้อมูลแบบเก่า
- การออกแบบ UI บน OLED เพื่อควบคุม Hardware Retro
- การแยก Firmware, PCB, HDL และ ROM เป็นคนละส่วนของ Project
ถ้ากำลังทำโปรเจกต์ลักษณะ Retrocomputing, Hardware Interface หรือทดลองกับ Raspberry Pi Pico สามารถสอบถามทีม GlobalByte เรื่อง Development Board และ Maker Accessories ที่เหมาะกับโปรเจกต์ได้ โดยควรเลือกอุปกรณ์จาก Requirement จริงของงานก่อนเสมอ
FAQ — คำถามเกี่ยวกับ 1551-rePico
1551-rePico คืออะไร?
เป็น Open Hardware Project สำหรับสร้างอุปกรณ์ทดแทน Commodore 1551 โดยผสม Architecture แบบเดิมกับ Raspberry Pi Pico 2 และ SD Card
โปรเจกต์นี้ใช้ Raspberry Pi Pico รุ่นแรกหรือ Pico 2?
Repository ปัจจุบันระบุ Raspberry Pi Pico 2 รุ่น non-wireless ที่ใช้ RP2350
ใช้ Pico 2 W ได้ไหม?
Repository ระบุเฉพาะ Pico 2 รุ่น non-wireless และย้ำว่าไม่ใช่ Pico 2 W ดังนั้นบทความนี้ไม่ยืนยัน Compatibility กับ Pico 2 W
Pico 2 จำลอง CPU 6510T ด้วยหรือไม่?
ไม่ใช่ใน Architecture ปัจจุบันของโปรเจกต์ ระบบใช้ 6510T จริงหรือ MOS CPU Replacer ที่ตั้งค่าเป็น 6510T
CPLD ที่ใช้คือรุ่นอะไร?
XC9572XL ตามข้อมูลใน Repository
CPLD ทำอะไร?
ทำหน้าที่เกี่ยวกับ TPI Replacement, Port Logic, Address Decode และ Glue Logic อื่น ๆ ในระบบ
รองรับ Disk Image แบบไหน?
Repository ระบุ D64, G64 และ PRG
เก็บ Disk Image ไว้ที่ไหน?
เก็บบน SD Card และเลือก Image ผ่าน Front-panel UI
มีหน้าจอหรือไม่?
มี OLED สำหรับ Browse และเลือก Disk Image ร่วมกับ Rotary Encoder และ Buttons
ใช้กับ Commodore รุ่นไหน?
โปรเจกต์ระบุ Plus/4, C16 และ C116
ต่อเข้ากับเครื่องโดยตรงเลยหรือไม่?
Repository ระบุว่าฝั่ง Host ต้องใช้ plus4-tcbm2sd และเชื่อมต่อผ่าน Ribbon Cable
RAM มีเท่าไร?
Hardware ปัจจุบันระบุ SRAM 32 KB
ROM มีเท่าไร?
ใช้ 27C512 ขนาด 64 KB โดยสามารถเก็บ DOS Image สองชุดขนาด 32 KB และเลือกด้วย Jumper J2
เป็นโปรเจกต์สำหรับมือใหม่หรือไม่?
จากขั้นตอนที่ Source ระบุ โปรเจกต์เกี่ยวข้องกับ PCB Assembly, Pico SDK, CPLD Programming, EPROM Programming และ Hardware หลาย Repository จึงมีความซับซ้อนกว่าการทดลอง Development Board ทั่วไป
มีไฟล์ PCB ให้หรือไม่?
Repository มี KiCad Project, Schematic, Gerber, Fab Pack, BOM และ Production Files สำหรับ Mainboard
Firmware เป็น Open Source หรือไม่?
Repository เป็น Public Repository และระบุ License เป็น GPL-3.0
สรุป: Emulator ที่เลือกเก็บจิตวิญญาณของ Hardware เดิมไว้
1551-rePico น่าสนใจตรงที่ไม่ได้พยายามเปลี่ยน Commodore 1551 ให้กลายเป็น Software Emulator ทั้งหมด แต่แบ่งงานใหม่ว่าอะไรควรเก็บไว้ และอะไรควรให้ Hardware สมัยใหม่เข้ามารับช่วง
CPU 6510T และ DOS Architecture ยังอยู่ ขณะที่ Pico 2 เข้ามาจัดการ Floppy Data, Virtual Mechanism, SD Card, UI รวมถึง Timing บางส่วน ส่วน CPLD ช่วยเชื่อม Logic ของระบบทั้งหมดเข้าด้วยกัน
สำหรับสาย Retro นี่คือวิธีคืนชีพ Hardware ที่หาได้ยาก ส่วนสำหรับ Maker มันคือบทเรียนเรื่อง Hardware Emulation, Timing, CPLD, Embedded Firmware และการออกแบบระบบที่ต้องทำให้ Technology ต่างยุคคุยกันรู้เรื่อง
หากสนใจสร้างจริง แนะนำอย่างมากให้เปิด หน้ารายละเอียดโปรเจกต์ 1551-rePico และ GitHub Repository ของผู้สร้าง ควบคู่กัน เพราะรายละเอียด PCB, Firmware, CPLD, ROM และ Mechanical Assembly มีหลายส่วนที่ควรตรวจจากต้นฉบับก่อนลงมือประกอบ
References / แหล่งข้อมูลต้นฉบับ
อยากลองทำโปรเจกต์ Raspberry Pi Pico หรือ Retro Hardware?
ถ้ากำลังหา Development Board, Raspberry Pi Pico, Module หรือ Maker Accessories สำหรับทดลองโปรเจกต์ สามารถสอบถามทีม GlobalByte เพื่อช่วยดูอุปกรณ์ที่เหมาะกับ Requirement ของงานได้
1551-rePico เป็นโปรเจกต์ที่มีหลายองค์ประกอบ ทั้ง Raspberry Pi Pico 2, PCB, CPLD, EPROM, DOS ROM, Firmware, TCBM Interface และ Mechanical Assembly รายละเอียดของไฟล์ Hardware, Firmware, Pinout, BOM และขั้นตอนการ Program อาจมีการอัปเดตตาม Revision ของโปรเจกต์ จึงควรใช้ไฟล์และ Documentation เวอร์ชันปัจจุบันจาก Repository ของผู้สร้างเป็นหลัก
คำสั่ง Build และ Flash ที่แสดงในบทความนำมาจาก Workflow ที่ Repository ระบุไว้ แต่สภาพแวดล้อมของเครื่องผู้ใช้แต่ละคนอาจแตกต่างกัน และยังต้องดำเนินขั้นตอนด้าน Hardware อื่นเพิ่มเติมก่อนระบบจะใช้งานได้ครบถ้วน