Tiny Forth สำหรับ 6502: ความโหยหาอดีตและความสามารถในการใช้งานจริงผลักดันความสนใจอย่างต่อเนื่องในการคำนวณแบบวินเทจ

BigGo Editorial Team
Tiny Forth สำหรับ 6502: ความโหยหาอดีตและความสามารถในการใช้งานจริงผลักดันความสนใจอย่างต่อเนื่องในการคำนวณแบบวินเทจ

การเปิดตัว Forth ขนาด 328 ไบต์สำหรับโปรเซสเซอร์ 6502 ได้จุดประกายการสนทนาในชุมชนคอมพิวเตอร์วินเทจ ซึ่งเน้นย้ำทั้งเสน่ห์อันยืนยาวของภาษาโปรแกรมมิ่งแบบมินิมอลและความเกี่ยวข้องอย่างต่อเนื่องของฮาร์ดแวร์ที่มีอายุหลายทศวรรษ

เสน่ห์ของ Forth และการพัฒนาแบบมินิมอล

การพัฒนา milliForth สำหรับโปรเซสเซอร์ 6502 แสดงถึงความสำเร็จทางเทคนิคที่น่าประทับใจด้วยขนาดเพียง 328 ไบต์ ถูกขนานนามว่าเป็นภาษาโปรแกรมมิ่งจริงที่เล็กที่สุดเท่าที่เคยมีมา ในขณะที่บทความต้นฉบับอธิบายรายละเอียดทางเทคนิคของการพัฒนา Forth บนสถาปัตยกรรมของ 6502 การสนทนาในชุมชนเผยให้เห็นเรื่องราวที่ลึกซึ้งกว่านั้นเกี่ยวกับเหตุผลที่นักพัฒนายังคงสร้างการพัฒนาเช่นนี้

ผมมักรู้สึกเสมอว่าผู้คนใช้เวลาในการเขียนตัวแปลภาษา Forth มากกว่าการเขียนโปรแกรม Forth เพื่อแก้ปัญหาจริงๆ

ข้อสังเกตนี้สอดคล้องกับหลายคนในชุมชน โดยนักพัฒนาหลายคนยอมรับว่าพวกเขาชื่นชอบกระบวนการสร้างตัวแปลภาษา Forth เป็นการฝึกฝนทางปัญญา การออกแบบที่เป็นเอกลักษณ์ของภาษานี้ทำให้มันเหมาะสมอย่างยิ่งสำหรับงานอดิเรกแบบวนซ้ำนี้— Forth เหมาะอย่างยิ่งสำหรับการเขียนตัวแปลภาษา Forth

ช่องทางการใช้งานจริงของ Forth ในการคำนวณสมัยใหม่

แม้จะดูเหมือนเป็นเพียงความอยากรู้อยากเห็นของนักพัฒนางานอดิเรก แต่ Forth ยังคงรับใช้วัตถุประสงค์ในทางปฏิบัติในโดเมนเฉพาะ สมาชิกในชุมชนได้เน้นย้ำหลายพื้นที่ที่ Forth มีความโดดเด่น:

การบูตฮาร์ดแวร์และการเขียนโปรแกรมแบบ bare-metal ยังคงเป็นกรณีการใช้งานที่แข็งแกร่งที่สุดของ Forth ภาษานี้ให้สภาพแวดล้อมแบบโต้ตอบที่ทรงพลังสำหรับการทดสอบและการดีบั๊กฮาร์ดแวร์ใหม่โดยไม่จำเป็นต้องมีชุดเครื่องมือที่ซับซ้อนหรือระบบปฏิบัติการ ตามที่ผู้แสดงความคิดเห็นคนหนึ่งได้กล่าวไว้ Forth เปิดเผยทั้งปัญหาและวิธีแก้ไขที่ไม่เกี่ยวข้องกับระบบคอมพิวเตอร์ในชีวิตประจำวันส่วนใหญ่ โดยเฉพาะอย่างยิ่งเมื่อนักพัฒนาต้องการแนวทางแบบมินิมอลที่มีการควบคุมฮาร์ดแวร์อย่างแม่นยำ

นักพัฒนาบางคนรายงานว่าใช้ระบบที่ใช้ Forth ซึ่งทำงานอย่างต่อเนื่องมาหลายปี โดยเฉพาะอย่างยิ่งสำหรับการทดสอบ การสร้างต้นแบบ และการสร้างสคริปต์ คนอื่นๆ กล่าวถึงการประยุกต์ใช้ในอดีต รวมถึงการพัฒนา BIOS ที่ใช้ Forth จากยุค 1980 และโซลูชันทางวิศวกรรมบนเครื่องคิดเลขอย่าง HP-48

เสน่ห์อันยืนยาวของ 6502

การสนทนาเกี่ยวกับการพัฒนา Forth นี้ยังเผยให้เห็นถึงอายุการใช้งานที่น่าประหลาดใจของตัวโปรเซสเซอร์ 6502 เอง ซึ่งเปิดตัวครั้งแรกในปี 1975 โดย 6502 เป็นพลังขับเคลื่อนคอมพิวเตอร์อันเป็นตำนานเช่น Apple II, Commodore 64 และระบบ Atari

สมาชิกในชุมชนแบ่งปันว่า 6502 ยังคงอยู่ในการผลิตจนถึงทุกวันนี้ โดย Western Design Center ยังคงผลิตชิปเหล่านี้และเสนอบอร์ดพัฒนา บริษัทเช่น Olimex ขายบอร์ดที่ใช้ 6502 สมัยใหม่ และผู้สนใจสามารถซื้อชุดอุปกรณ์เพื่อสร้างระบบของตัวเองได้

เมื่อถูกถามว่าทำไมบางคนจึงเลือก 6502 แทนไมโครคอนโทรลเลอร์สมัยใหม่เช่น ESP32 สมาชิกในชุมชนเน้นย้ำคุณค่าทางการศึกษาและความสามารถในการเข้าถึงของสถาปัตยกรรมที่เก่าแก่กว่า ความเรียบง่ายของ 6502 ช่วยให้นักพัฒนางานอดิเรกเข้าใจทุกแง่มุมของระบบ ตั้งแต่ฮาร์ดแวร์ไปจนถึงซอฟต์แวร์ ตามที่ผู้แสดงความคิดเห็นคนหนึ่งอธิบายว่า คุณสามารถวาง 6502 ลงบน breadboard สร้างบัสของคุณเองด้วยสายไฟ และเข้าใจทุกแง่มุมของมันได้

ข้อมูลทางเทคนิคของ milliForth สำหรับ 6502

  • ขนาดการติดตั้ง: 328 ไบต์
  • รูปแบบการประมวลผลแบบเธรด: Direct Thread Code (DTC) และ Minimal Thread Code (MTC)
  • การจัดวางหน่วยความจำ:
    • $000: Page zero (สงวนไว้สำหรับ CPU)
    • $100: Hardware stack (สงวนไว้สำหรับ CPU)
    • $200: TIB (terminal input buffer, 80 ไบต์)
    • $220: Data stack (36 เซลล์, ย้อนกลับ)
    • $260: Return stack (36 เซลล์, ย้อนกลับ)
    • $2E0: PIC (สงวนไว้สำหรับหน่วยความจำชั่วคราว, 16 เซลล์)
    • $300: main (จุดเริ่มต้นของ Forth)
    • $777: ends (จุดสิ้นสุดของโค้ดและฟังก์ชันพื้นฐาน)
    • $7E0: init (จุดเริ่มต้นของพจนานุกรมรวม)

แพลตฟอร์ม 6502 ที่กล่าวถึง

  • บอร์ดพัฒนาสมัยใหม่ ( WDC W65C02SXB, Olimex Neo6502 )
  • ชุดประกอบเอง (คอมพิวเตอร์ 6502 ของ Ben Eater)
  • คอมพิวเตอร์คลาสสิก ( Commodore 64, Apple II )

นอกเหนือจาก 6502: ซีพียูวินเทจทางเลือก

การสนทนาขยายไปสู่โปรเซสเซอร์วินเทจอื่นๆ ที่อาจเหมาะสำหรับการพัฒนา Forth Motorola 6809 ได้รับคำชมเป็นพิเศษว่าเป็น ราชาแห่ง 8-bit โดยสถาปัตยกรรมของมันทำให้เหมาะสมอย่างยิ่งสำหรับ Forth โปรเซสเซอร์อื่นๆ ที่ได้รับการกล่าวถึงได้แก่ Signetics 2650, RCA 1802 และรุ่นที่ปรับปรุงแล้วคือ 6309 ซึ่งเป็นตัวแปรของ 6809

ความสนใจอย่างต่อเนื่องในแพลตฟอร์มการคำนวณแบบวินเทจนี้แสดงให้เห็นว่าเทคโนโลยีที่เก่าแก่กว่ายังคงมีคุณค่า—ไม่เพียงแค่เพื่อความโหยหาอดีต แต่ยังเป็นเครื่องมือทางการศึกษาและแพลตฟอร์มสำหรับการสำรวจแนวคิดพื้นฐานทางการคำนวณ ลักษณะแบบมินิมอลของทั้ง Forth และโปรเซสเซอร์คลาสสิกเหล่านี้สร้างสภาพแวดล้อมที่นักพัฒนาสามารถเข้าใจและควบคุมทุกแง่มุมของประสบการณ์การคำนวณของพวกเขาได้อย่างเต็มที่ ซึ่งเป็นสิ่งที่หายากในภูมิทัศน์การคำนวณที่มีการทำให้เป็นนามธรรมในปัจจุบัน

ไม่ว่าจะเพื่อการประยุกต์ใช้ในทางปฏิบัติในพื้นที่เฉพาะหรือเพียงเพื่อความสุขในการเข้าใจการคำนวณในระดับพื้นฐานที่สุด โครงการเช่น milliForth สำหรับ 6502 แสดงให้เห็นว่าการคำนวณแบบวินเทจยังคงมีชีวิตชีวาและเกี่ยวข้องกับนักพัฒนาสมัยใหม่

อ้างอิง: A milliForth for 6502