กลับไปหน้าบทความ

อ่าน 5 นาที

ไซมอนส์ เบสิก

Simons' BASIC เป็นส่วนขยายของBASIC 2.0สำหรับ คอมพิวเตอร์บ้าน Commodore 64เขียนโดย โปรแกรมเมอร์ ชาวอังกฤษ David Simons ในปี 1983 ซึ่งขณะนั้นเขามีอายุ 16 ปี...

ไซมอนส์ เบสิก

ไซมอนส์ เบสิก
ผู้เขียนต้นฉบับเดวิด ไซมอนส์
นักพัฒนาคอมโมดอร์
ปล่อยพ.ศ. 2526 ( 1983 )
ระบบปฏิบัติการคอมโมดอร์ 64
พิมพ์ส่วนขยาย

Simons' BASIC [ 1 ]เป็นส่วนขยายของBASIC 2.0สำหรับ คอมพิวเตอร์บ้าน Commodore 64เขียนโดย โปรแกรมเมอร์ ชาวอังกฤษ David Simons ในปี 1983 ซึ่งขณะนั้นเขามีอายุ 16 ปี และจัดจำหน่ายโดยCommodoreในรูป แบบ ตลับ เกม

เป็นที่รู้กันโดยทั่วไป แต่เป็นการเรียกที่ไม่ถูกต้อง ว่า " Simon's BASIC " เนื่องจากความสับสนระหว่างชื่อ "Simon" กับนามสกุล "Simons"

หน้าแรกของคู่มือ
ตลับ BASIC ของไซมอนส์
ตลับเกมที่มีฉลากสะกดผิด ส่งผลให้เกิดความสับสนในการตั้งชื่อซอฟต์แวร์

คุณสมบัติ

Simons' BASIC ได้เพิ่มคุณสมบัติมากมายให้กับ Commodore BASIC 2.0: [ 2 ]

โปรแกรมที่เขียนด้วยภาษา BASIC ของ Simons สามารถใช้ เลขฐาน สิบหกในการกำหนดค่าและการคำนวณโดยการใส่$คำนำหน้า หรือ ใช้เลขฐาน สองโดยการใช้%คำนำหน้า

เนื่องจากข้อมูลตลับเกมบางส่วนถูกแมปไปยังหน่วยความจำที่แอดเดรส$8000–$9FFFซึ่งทับซ้อนกับส่วนหนึ่งของRAM มาตรฐานของ C64 BASIC ทำให้ปริมาณหน่วยความจำที่ใช้ได้สำหรับโปรแกรม BASIC นั้นมีจำกัดน้อยกว่าการกำหนดค่ามาตรฐานของ C64 อยู่ KB

ส่วนขยายนี้เขียนโดย Simons และเผยแพร่โดย Commodore บนฟลอปปี้ดิสก์และเทปในชื่อ Simons' Basic Extension ซอฟต์แวร์นี้ยังเป็นที่รู้จักในชื่อ Simons' Basic 2 ไม่สามารถเผยแพร่บนตลับเกมได้เนื่องจากต้องมีตลับเกม Simons' Basic ดั้งเดิมอยู่เพื่อใช้ส่วนขยาย Simons' Basic Extension เพิ่มคำสั่งอีก 91 คำสั่ง รวมถึง คำสั่ง RENUMBER ที่เป็นที่ต้องการอย่างมาก ซึ่งใช้ในการกำหนดหมายเลขปลายทางใหม่ของคำสั่งGOTOและGOSUB [ 3 ]

คำหลัก 114 คำ

คีย์เวิร์ดการจัดการสไปรท์ (มอนสเตอร์)

  • MOB SET– เปิดใช้งานสไปรท์และกำหนดคุณลักษณะของสไปรท์นั้น
  • MMOB– วางตำแหน่งสไปรท์บนหน้าจอ
  • RLOCMOB– ทำให้ตัวละครเคลื่อนที่อย่างราบรื่นจากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่ง
  • CMOB– ตั้งค่าสีหลักสองสีสำหรับสไปรท์หลายสี
  • MOB OFF– ปิดใช้งานสไปรท์
  • DETECT– เริ่มต้นการตรวจจับการชนกันของสไปรท์
  • CHECK– ตรวจสอบการชนกันของสไปรท์

คำหลักสำหรับการจัดการกราฟิกความละเอียดสูง

  • HIRES– เริ่มต้นใช้งานโหมดกราฟิกความละเอียดสูง
  • MULTI– เริ่มต้นโหมดกราฟิกหลายสี
  • NRM– กลับสู่หน้าจอแสดงข้อความ
  • LOW COL– เปลี่ยนสีของกราฟ
  • HI COL– กลับไปใช้สีการวาดกราฟแบบเดิม
  • PLOT– วาดพิกเซล
  • LINE– ลากเส้น
  • CIRCLE– วาดวงกลม
  • ARC– วาดส่วนโค้ง
  • ANGL– วาดรัศมีของวงกลม
  • PAINT– ทำการเติมน้ำท่วม
  • REC– วาดรูปสี่เหลี่ยมผืนผ้ากลวง
  • BLOCK– วาดรูปสี่เหลี่ยมผืนผ้าทึบ
  • DRAW– วาดเส้นตามที่ผู้ใช้กำหนด
  • ROT– กำหนดตัวคูณการปรับขนาดสำหรับDRAW
  • CHAR– แสดงตัวอักษรบนหน้าจอความละเอียดสูง
  • TEXT– แสดงข้อความบนหน้าจอความละเอียดสูง
  • TEST– กำหนดว่าพิกเซลนั้นถูกวาดหรือว่างเปล่า

คำหลักอื่นๆ ที่เกี่ยวข้องกับการจัดการกราฟิก

  • COLOUR– ตั้งค่าสีพื้นหลังและสีขอบ โดยใช้การสะกดแบบอังกฤษ
  • CSET– เลือกชุดอักขระ
  • MEM– คัดลอกอักขระจาก ROM ไปยัง RAM
  • BCKGNDS– ตั้งค่าโหมดสีพื้นหลังแบบขยาย
  • FLASH– ตั้งค่าสีหน้าจอให้กะพริบ
  • OFF– ยกเลิกFLASHคำสั่ง ก่อนหน้า
  • BFLASH– ทำให้ขอบหน้าจอกะพริบ
  • FCHR– เติมพื้นที่บนหน้าจอข้อความด้วยรหัสอักขระที่กำหนด
  • FCOL– เปลี่ยนสีตัวอักษรสำหรับพื้นที่ที่เลือกบนหน้าจอ
  • FILL– การผสมผสานระหว่างFCHRและFCOL
  • MOVE– คัดลอกส่วนหนึ่งของหน้าจอ
  • INV– แสดงพื้นที่หน้าจอแบบกลับด้าน
  • LEFT– เลื่อนหน้าจอไปทางซ้าย
  • RIGHT– เลื่อนหน้าจอไปทางขวา
  • UP– เลื่อนหน้าจอขึ้น
  • DOWN– เลื่อนหน้าจอลง
  • GRAPHICS– ตัวแปรที่สงวนไว้ซึ่งจะมีค่าเท่ากับ$D000 เสมอ ( ที่อยู่ฐานของชิป VIC-II )
  • SCRSV– บันทึกหน้าจอข้อความลงเทปหรือดิสก์
  • SCRLD– โหลดหน้าจอข้อความจากเทปหรือดิสก์

คำหลักสำหรับการจัดการเสียง

  • MUSIC– เล่นชุดโน้ตตามเนื้อหาของตัวแปรสตริง
  • PLAY– กำหนดว่าโปรแกรมจะยังคงทำงานต่อไปหรือไม่ในระหว่างนั้นMUSIC
  • VOL– กำหนดระดับเสียงหลัก
  • WAVE– ระบุประเภทเสียง
  • ENVELOPE– ตั้งค่า พารามิเตอร์ ADSRสำหรับเสียงSID
  • SOUND– ตัวแปรที่สงวนไว้ซึ่งจะมีค่าเท่ากับ$D400 เสมอ (ที่อยู่ฐานของชิป SID)

คำหลักสำหรับการจัดการอินพุตจากแป้นพิมพ์

  • FETCH– รับข้อมูลจากผู้ใช้โดยมีข้อจำกัดตามที่กำหนดโดยคำสั่ง
  • INKEY– ตรวจสอบการกดปุ่มฟังก์ชัน
  • ON KEY– ตรวจสอบการกดปุ่มที่กำหนด จากนั้นจึงดำเนินการตามเงื่อนไขหากพบ
  • DISABLE– ปิดใช้งานON KEYคำสั่ง ก่อนหน้า
  • RESUMEON KEY– เปิดใช้งาน คำสั่งเดิมอีกครั้ง

คำหลักสำหรับการจัดการอุปกรณ์ต่อพ่วงขาเข้า

คีย์เวิร์ดสำหรับการกำหนดตัวละครแบบสไปรท์/กำหนดเอง

  • @– อธิบายเส้นหนึ่งเส้นในภาพกราฟิกสไปรท์หรือตัวละครแบบกำหนดเอง
  • DESIGN– ใช้@บรรทัดข้างเคียงเพื่อกำหนดสไปรท์หรือตัวละครแบบกำหนดเอง

คีย์เวิร์ดดักจับข้อผิดพลาด

  • ON ERROR– ตั้งค่ารูทีนเพื่อดักจับสภาวะข้อผิดพลาด
  • OUT– สิ้นสุดขั้นตอนการจัดการข้อผิดพลาด
  • NO ERROR– ยกเลิกON ERRORและคืนค่าการจัดการข้อผิดพลาด BASIC ตามปกติ

คำหลักสำหรับการจัดการดิสก์

  • DIR– แสดงไดเร็กทอรีของดิสก์โดยไม่ทำลายโปรแกรม BASIC ในหน่วยความจำ (เฉพาะไดรฟ์หมายเลข 8)
  • DISK– ส่งข้อความไปยังช่องคำสั่งของไดรฟ์ (เฉพาะไดรฟ์หมายเลข 8)

คำหลักสำหรับการจัดการเครื่องพิมพ์

  • HRDCPY– ส่งข้อความจากหน้าจอไปยังเครื่องพิมพ์
  • COPY– ส่งภาพหน้าจอความละเอียดสูงไปยังเครื่องพิมพ์

คีย์เวิร์ดสำหรับการจัดการสตริง

  • INSERT– แทรกสตริงหนึ่งเข้าไปตรงกลางของอีกสตริงหนึ่ง (หมายเหตุ: ไม่มีเครื่องหมายดอลลาร์หลังINSERT, ซึ่งแตกต่างจากตัวดำเนินการสตริงอื่นๆ เช่นSTR$, LEFT$, RIGHT$, เป็นต้น)
  • INST– คล้ายกับINSERTแต่เป็นการเขียนทับแทนที่จะแทรก (หมายเหตุ: เช่นเดียวกับINSERTไม่มีเครื่องหมายดอลลาร์หลังINST)
  • PLACE– ค้นหาสตริงหนึ่งที่อยู่ตรงกลางของอีกสตริงหนึ่ง
  • DUP– ทำซ้ำสตริงข้อความตามจำนวนครั้งที่กำหนด (หมายเหตุ: เช่นเดียวกับINSERTไม่มีเครื่องหมายดอลลาร์หลังDUP)

คำหลักสำหรับการจัดรูปแบบข้อความ

  • PRINT AT– พิมพ์ข้อความ ณ ตำแหน่งที่กำหนดบนหน้าจอ
  • CENTRE– จัดวางข้อความให้อยู่ตรงกลางหน้าจอ โดยใช้การสะกดแบบอังกฤษ
  • USE– จัดรูปแบบข้อมูลตัวเลขเป็นสตริงโดยใช้แม่แบบ เช่นเดียวPRINT USINGกับเวอร์ชันขั้นสูงอื่นๆ ของ BASIC บนคอมพิวเตอร์เครื่องอื่นๆ เช่นCommodore 128เป็นต้น
  • LIN– ส่งคืนตำแหน่งแนวตั้งของเคอร์เซอร์

คำหลักทางคณิตศาสตร์

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

  • MOD– ทำการหารและส่งคืนเศษที่เหลือ
  • DIV– ทำการหารและส่งคืนค่าผลหารที่เป็นจำนวนเต็ม
  • FRAC– แยกส่วนที่เป็นเศษส่วนของจำนวน
  • EXOR– ดำเนินการทางตรรกะแบบ Exclusive-OR

คำสำคัญสำหรับความช่วยเหลือโปรแกรมเมอร์

  • AUTO– สร้างหมายเลขบรรทัดโดยอัตโนมัติเมื่อป้อนโปรแกรม BASIC
  • RENUMBER– ปรับเปลี่ยนหมายเลขโปรแกรม BASIC (แต่ไม่แก้ไข คำสั่ง GOTO/ GOSUB)
  • OLD– กู้คืนโปรแกรมที่ถูกลบโดยไม่ได้ตั้งใจด้วยNEWคำสั่ง นั้น
  • KEY– กำหนดสตริงเป็นมาโครให้กับปุ่มฟังก์ชัน
  • DISPLAY– แสดงมาโครปุ่มฟังก์ชันทั้งหมด
  • MERGE– ผสานโปรแกรม BASIC จากเทปหรือดิสก์เข้ากับโปรแกรมที่อยู่ในหน่วยความจำปัจจุบัน
  • PAGE– แสดงรายการโปรแกรม BASIC ในรูปแบบหน้ากระดาษ
  • OPTION– เน้น คำสำคัญ ของ Simons BASICเมื่อใช้LISTคำสั่งนี้
  • DELAY– ปรับอัตราLISTการเลื่อนหน้าจอของคำสั่งนี้
  • FIND– ค้นหาสตริงในโปรแกรม
  • TRACE– แสดงหมายเลขบรรทัดขณะที่โปรแกรมกำลังทำงาน
  • RETRACE– แสดงผลลัพธ์ของการติดตาม
  • DUMP– แสดงค่าตัวแปรทั้งหมด ยกเว้นค่าในอาร์เรย์
  • COLD– รีเซ็ต C64
  • DISAPA– ทำเครื่องหมายบรรทัดโปรแกรม BASIC เพื่อซ่อน
  • SECURE– ซ่อนเส้นทั้งหมดที่ทำเครื่องหมายไว้DISAPAเพื่อไม่ให้สามารถมองเห็นได้ด้วยLIST

คำหลักการเขียนโปรแกรมเชิงโครงสร้าง

  • ELSE– อนุญาตให้มีสาขาทางเลือกสำหรับเงื่อนไขIF/THEN
  • REPEAT– จุดเริ่มต้นของโครงสร้างลูปREPEAT/UNTIL
  • UNTIL– กำหนดเงื่อนไขของลูปสำหรับ โครงสร้างลู REPEATUNTILและทำเครื่องหมายจุดสิ้นสุดของลูป
  • RCOMP– คืนค่า เงื่อนไขที่ใช้ล่าสุดIF/ THEN/ELSE
  • LOOP– กำหนดจุดเริ่มต้นของลูปที่จะทำงานจนกว่าEXIT IFเงื่อนไขจะเป็นจริง
  • EXIT IF– เงื่อนไขเป็นจริง ดังนั้นจึงออกจากโครงสร้าง ปัจจุบัน LOOP/END LOOP
  • END LOOP– กำหนดจุดสิ้นสุดของลูปที่จะทำงานจนกว่าEXIT IFเงื่อนไขจะเป็นจริง
  • PROC– กำหนดจุดเริ่มต้นของซับรูทีนที่มีชื่อ
  • END PROC– กำหนดจุดสิ้นสุดของซับรูทีนที่มีชื่อ
  • CALL– กระโดดไปยังซับรูทีนที่มีชื่อซึ่งกำหนดด้วยPROC/ END PROCและอยู่ที่นั่นต่อไป
  • EXEC– เรียกใช้ซับรูทีนที่มีชื่อซึ่งกำหนดด้วยPROC/ END PROCจากนั้นส่งค่ากลับ
  • LOCAL– กำหนดนิยามใหม่ของตัวแปรเพื่อใช้ในโครงสร้าง
  • GLOBAL– ยกเลิกผลของLOCALคำสั่ง ก่อนหน้า

คำสำคัญเบ็ดเตล็ด

  • CGOTO– เทียบเท่ากับGOTOแต่ยอมรับนิพจน์ที่คำนวณได้
  • RESET– เลื่อนDATAตัวชี้ไปยังหมายเลขบรรทัดที่กำหนด
  • PAUSE– หยุดการทำงานของโปรแกรมชั่วคราวเป็นเวลาตามจำนวนวินาทีที่กำหนด

อื่น

  • $และ%ยังถือเป็นคำหลักอีกด้วย รวมทั้งหมด 114 คำ

เกร็ดความรู้

วงBarcelonaตั้งชื่ออัลบั้มเปิดตัวในปี 1999 ว่าSimon Basicเพื่อเป็นการระลึกถึง Simon Basic โดยอัลบั้มนี้มีเพลง "C-64" รวมอยู่ด้วย

แผนกต้อนรับ

Creative Computingระบุว่า Simons' BASIC "เกือบจะทำให้ 64 กลายเป็นคอมพิวเตอร์เครื่องใหม่ (และน่าจะเป็นเครื่องที่ควรจะเป็นตั้งแต่แรก)" นิตยสารยกย่อง "คู่มือที่ยอดเยี่ยม" ซึ่งแตกต่างจากเอกสารประกอบที่ไม่ดีของ Commodore และทำนายว่ามันจะกลายเป็น "ภาษามาตรฐานสำหรับการเขียนโปรแกรมเครื่อง … Commodore ควรวางแผนที่จะผลิตสำเนาจำนวนมากเพราะมันจะขายหมดเร็ว" [ 4 ] Ahoy!เขียนว่า "ถ้าคุณเขียนโปรแกรมด้วย BASIC และบังเอิญเห็นผลิตภัณฑ์นี้บนชั้นวางของตัวแทนจำหน่าย อย่าถามคำถามใดๆ อย่าลังเล ซื้อเลย!" นิตยสารยกย่องพลังของ Simons' BASIC และ "คู่มือที่ยอดเยี่ยม" และระบุว่า "ราคาของมันทำให้มันเป็นหนึ่งในข้อเสนอที่ดีที่สุดสำหรับ Commodore 64" [ 5 ] บทวิจารณ์ ของRUNไม่ค่อยดีนัก โดยระบุว่า "คำสั่งที่มีประสิทธิภาพและมีประโยชน์มากมาย... น่าเสียดายที่ถูกนำไปใช้ได้ไม่ดีนักสำหรับแพ็คเกจเชิงพาณิชย์ มีการตรวจสอบพารามิเตอร์คำสั่งน้อยมาก และหลายสิ่งหลายอย่างถูกมองข้ามหรือละเลย" [ 6 ]

ตลับโปรแกรม SIMONS' BASIC รุ่นดั้งเดิม (ที่ไม่มีส่วนขยาย) ไม่มีฟังก์ชันสำหรับการอ่านช่องข้อผิดพลาดบน ไดรฟ์ดิสก์ Commodore 1541และCommodore 1571และไม่สามารถแสดงรายการไฟล์ในไดเร็กทอรี หรือออกคำสั่ง DISK บนไดรฟ์ดิสก์อื่นใดนอกจากไดรฟ์หมายเลข 8 เมื่อมีการเชื่อมต่อไดรฟ์ดิสก์มากกว่าหนึ่งตัวกับ Commodore 64 และในขณะที่คำหลัก BASIC 2.0 "มาตรฐาน" ส่วนใหญ่สามารถย่อได้โดยการพิมพ์ตัวอักษรตัวแรกหรือตัวอักษรตัวแรกและตัวที่สอง แล้วกดปุ่ม SHIFT ค้างไว้ขณะพิมพ์ตัวอักษรตัวที่สอง (หรือตัวที่สาม) หลังจากนั้น คำหลัก SIMONS' BASIC ทั้งหมดจะต้องเขียนแบบเต็มอย่างถูกต้องตามที่แสดงในคู่มือผู้ใช้ที่แนบมาด้วย ซึ่งรวมถึงคำสั่ง COLOUR (ซึ่งเลือกสีพื้นหลังและสีขอบภายนอก) และ CENTRE (ซึ่งพิมพ์ข้อความที่ "อยู่ตรงกลาง" บนหน้าจอ) ซึ่งทั้งสองคำสั่งเขียนตามภาษาอังกฤษแบบบริติชและถูกรวมเข้าไว้ใน SIMONS' BASIC ในลักษณะนั้น

  • คู่มือผู้ใช้ฉบับพื้นฐานของ Simonsเกี่ยวกับ Internet Archive โดย David Simons, Commodore Computers, 1983 สามารถดาวน์โหลดได้ในรูปแบบ PDF
  • คู่มืออ้างอิงภาษาอิตาลีเบื้องต้นของไซมอนส์โดย เดวิด ไซมอนส์ บรรณาธิการคอมโมดอร์ ปี 1983
  • กระทู้ในฟอรัม Lemon64พร้อมข้อมูลที่ไม่เป็นทางการบางส่วนจาก David Simons เอง
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Simons%27_BASIC&oldid=1359339512 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไซมอนส์ เบสิก

Simons' BASIC เป็นส่วนขยายของBASIC 2.0สำหรับ คอมพิวเตอร์บ้าน Commodore 64เขียนโดย โปรแกรมเมอร์ ชาวอังกฤษ David Simons ในปี 1983 ซึ่งขณะนั้นเขามีอายุ 16 ปี...

คุณสมบัติ

Simons' BASIC ได้เพิ่มคุณสมบัติมากมายให้กับ Commodore BASIC 2.0: [ 2 ]

คีย์เวิร์ดการจัดการสไปรท์ (มอนสเตอร์)

MOB SET – เปิดใช้งานสไปรท์และกำหนดคุณลักษณะของสไปรท์นั้น MMOB – วางตำแหน่งสไปรท์บนหน้าจอ RLOCMOB – ทำให้ตัวละครเคลื่อนที่อย่างราบรื่นจากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่ง CMOB – ตั้งค่าสีหลักสองสีสำหรับสไปรท์หลายสี MOB OFF – ปิดใช้งานสไปรท์ DETECT –...

คำหลักสำหรับการจัดการกราฟิกความละเอียดสูง

HIRES – เริ่มต้นใช้งานโหมดกราฟิกความละเอียดสูง MULTI – เริ่มต้นโหมดกราฟิกหลายสี NRM – กลับสู่หน้าจอแสดงข้อความ LOW COL – เปลี่ยนสีของกราฟ HI COL – กลับไปใช้สีการวาดกราฟแบบเดิม PLOT – วาดพิกเซล LINE – ลากเส้น CIRCLE – วาดวงกลม ARC – วาดส่วนโค้ง ANGL –...