מסך המוות ב־Pac-Man אינו סיום. זו גלישה של בייט אחד
בשלב 256 מתפרק חצי המסך הימני לזבל. האשמים הם מונה שלבים בגודל בייט והשגרה שמציירת את הפירות. ב־Donkey Kong נשבר אחרת בשלב 22: שם גולש הטיימר.
ל־Pac-Man, שיצא מבית Namco ב־1980, אין סיום. השלבים חוזרים לנצח; רק מהירויות הרוחות והתנהגותן משתנות. אבל בשלב 256 המשחק נשבר באופן מסוים מאוד: חצי המסך השמאלי תקין, חצי המסך הימני הוא זבל אחיד של סימנים, בלתי עביר, ואי אפשר לאסוף עליו את הנקודות הנותרות. את השלב אי אפשר להשלים והמשחק נגמר.
מה בעצם קורה
מונה השלבים ב־Pac-Man תופס בייט אחד, כלומר סופר מאפס עד 255. בתחילת כל שלב רצה שגרה המציירת בפינה הימנית התחתונה את סמלי הפירות, אלה שמראים עד כמה התקדמתם. היא לוקחת את מספר השלב, מוסיפה אחד, ומציירת כמות פירות כזו, כשעל המסך מוצגים לא יותר משבעה.
בשלב 256 מכיל המונה 255. מוסיפים אחד ומקבלים אפס. לולאה שנצטוותה לצייר אפס פריטים, ובודקת את תנאי היציאה אחרי הציור ולא לפניו, סופרת בצייתנות מטה מאפס ועוברת את כל 256 הערכים. היא כותבת 256 אריחים לזיכרון המסך, חורגת מהאזור המיועד ומציפה את חצי המסך הימני במה שנמצא שם במקרה.
זו ההגדרה של kill screen: לא קריסה, לא תקיעה ולא סיום מתוכנן, אלא מצב שהמכונה יכולה להיכנס אליו ואינה יכולה לצאת ממנו. הניקוד המרבי האפשרי ב־Pac-Man הוא 3,333,360: כל 255 השלבים ועוד החלק הנגיש של 256. את המשחק המושלם הראשון שתועד בפומבי מתארכים ל־1999, אף שאמינות השיאים מאותה תקופה נשללה לא פעם מאז.
Donkey Kong נשבר אחרת
ב־Donkey Kong של 1981 מונה השלבים מוגן, ואין זבל על המסך. משהו אחר גולש.
טיימר הבונוס מחושב כמאה כפול עשר כפול סכום מספר השלב וארבע. בשלב עשרים ושתיים זה מאה כפול מאתיים ושישים. אך התוצאה הביניימית נשמרת בבייט, ומאתיים ושישים אינם נכנסים לתוכו: נותרים ארבע. הטיימר מקבל ארבע מאות יחידות במקום שמונת אלפים — כשבע שניות משחק. Mario אינו מספיק לטפס ומת מהשעון, כמה פעמים שלא תתחילו.
אותו סוג תקלה בשני המקרים: מספר שלם שהמעצב מעולם לא ציפה לראות בגודל כזה, משום שלא ציפה ששחקן יגיע לשם.
מדוע זה חשוב יותר מכפי שנדמה
שני המקרים אינם על חומרה חלשה. תקרת שמונת הסיביות לא הייתה מגבלה שהמשחק נתקל בה: היא הייתה אופק שהעיצוב פשוט לא הביט מעברו. איש ב־1980 לא עיצב את שלב מאתיים חמישים ושש, משום שאיש לא האמין שאדם יגיע לשם בחיים.
סוג התקלה לא נעלם, האופק פשוט זז. מונים של שלושים ושתיים ושישים וארבע סיביות דוחפים את הגבול מעבר לתוחלת חיי אדם, אבל גלישות וקריאה מעבר לסוף מערך חיות ובועטות. אותו מנגנון — קריאת נתונים של אחר כאילו היו שלך — מייצר את Missingno. ב־Pokémon Red ו־Blue ב־1996: המשחק מפרש מקטע מפה כתיאור יצור ומרכיב מפלצת מזבל.
וכאן תיקון לפולקלור. הסיפור המפורסם על Gandhi ב־Civilization, שרמת התוקפנות שלו כביכול גלשה והפכה אותו למטורף גרעיני, אינו באג אלא מיתוס: סיד מאייר הכחיש זאת מפורשות בספר זיכרונותיו מ־2020. הסבר מסודר שכולל גלישה היה משכנע כל כך עד שקיבל חיים משלו, וזה כשלעצמו לקח לא רע על האופן שבו אנו מספרים על הנדסה.
ה־kill screen יקר משום שזו הנקודה שבה המשחק חדל להיות בדיה ושב להיות מכונה. כל מה שעד שלב 255 הוא Pac-Man. שלב 256 הוא מעבד Z80 שכותב בייטים לזיכרון המסך. השאלה הטובה יותר אינה מדוע הוא נשבר, אלא מדוע החזיק מעמד מאתיים חמישים וחמש פעמים לפני כן.
מקור: tcrf.net