การเปิดตัว 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