יומן המסע
ב-1982 הייתי בן 13, וקיבלתי Dragon 32 מתנה ליום ההולדת. זה היה המחשב הראשון שלי. טענתי משחקים מקלטות, ולפעמים הסרט נקרע או נתקע בתוך הרשמקול, והכל מתחיל מההתחלה. מאוחר יותר קניתי כונן דיסקטים, וזה הרגיש כמו קסם.
באוקטובר 2026 התחלתי לבנות אותו מחדש בדפדפן. אני לא מתכנת, אני בונה עם AI. כאן אני כותב מה קרה, יום אחרי יום: מה בנינו, מה החלטתי, ומה למדתי.
החדש למעלה. מי שרוצה לנסות: האפליקציה · מכונת ה-Dragon · ומה קראו אז: מה קראו בעלי Dragon
בודקים הכול, ומחפשים Dragon אמיתי
תוכנות בשפת מכונה מ-1982 קראו לשגרות בכתובות קבועות בתוך ה-ROM. במכונה שלנו כ-60 כתובות כאלה עברו עכשיו למקום המקורי. אחר כך עשינו מעבר מלא על כל 286 בדיקות הקבלה, ולא נמצאה אף תקלה. נשארו 16 שאלות שרק מחשב אמיתי יכריע. תוכנית ששמרתם באפליקציה נפתחת עכשיו במכונה בלחיצה, ונוספו שני דפים: יומן המסע הזה וההיסטוריה של ה-Dragon.
בערב פרסמתי את פרק 2 של המסע. כדי לענות על 16 השאלות חיפשתי ב-eBay מחשב Dragon 32 אמיתי. בינתיים ויתרתי.
מה למדתי: הזול לא תמיד זול. למחשב הזול ביותר חסר ספק הכוח, וספק ל-Dragon הוא שנאי מיוחד, לא סתם כבל. עם הספק, המחיר כמעט כמו של מחשב שנבדק ועובד.
כל ה-BASIC בשבב אחד
ה-ROM שלנו גמור: כל ה-BASIC בשבב אחד של 16K, כמו במקור, וחריץ המחסנית נשאר ריק. נכנסו הקלטת בפורמט ובמהירות המקוריים, המדפסת, RESET ששומר את התוכנית, ו-25 נקודות ההרחבה שדרכן מחסניות התחברו ל-BASIC. 574 בדיקות עברו, וכתבתי "מזג". באותו ערב זה עלה לאתר.
מה למדתי: ה-AI הציע לתקן שני "באגים". לפני התיקון שלחנו את הקורא לבדוק במקור. אחד היה באג אמיתי, והשני התברר כהתנהגות זהה למקור. "תיקון" שלו היה מרחיק אותנו מהמקור. ה-AI בטוח בעצמו גם כשהוא מנחש.
שבב אחד, ו-Ciaran עונה
החלטתי שכל ה-BASIC חייב להיכנס בשבב אחד של 16K, כמו במקור, בלי שבב הרחבה. הניסוי הראה שזה אפשרי, אבל צפוף. היו 16 סבבים של חיסכון במקום, בית אחר בית.
כתבתי ל-Ciaran Anscomb, שבנה את האמולטור XRoar, והוא ענה באותו יום: המהירות המדויקת של הקלטת, ועוד פרטים שאין באף ספר. באותו יום גם חבר בקבוצת בעלי ה-Dragon סיפר ש-READA בלי רווח לא עובד אצלנו. במקור זה עבד, ותיקנו.
העיקרון
עצרתי וכתבתי את העיקרון של הפרויקט: המחשב האמיתי, כמה שיותר קרוב, בלי להעתיק את הקוד המקורי. בלי קיצורי דרך, כמה זמן שזה ייקח. כל החלטה נבחנת בשאלה אחת: האם זה מקרב אותנו למקור? מכאן גם השם החדש, "מכונת ה-Dragon", ותוכנית עבודה בשלבים, שמתחילה במחקר ולא בקוד.
המחשב האמיתי
יום ארוך. שיתפתי סרטון של המחשב בקבוצות של חובבי מחשבים ישנים, והאפליקציה קיבלה עיצוב חדש, גרסה באנגלית, דף נגישות והיכל תהילה עולמי. ובערב נולד "המחשב האמיתי": האמולטור XRoar מדמה את השבבים של ה-Dragon, ועליו רץ BASIC משלנו בשפת המכונה של המעבד 6809.
כשבדקתי, ראיתי שמבחוץ זה נראה כמו המקור, אבל מבפנים לא. התוכנית נשמרה בזיכרון אחרת, והשבב התמלא עד שהוספנו שבב שני בחריץ המחסנית. החלטתי לבנות מחדש: על בסיס ה-BASIC ש-Microsoft פרסמה כקוד פתוח, ו"זהה" כולל גם את הזיכרון.
מה למדתי: קל להתלהב ממשהו שנראה נכון. הבדיקה האמיתית היא מה קורה מבפנים.
בית משלו
ה-Dragon יצא מהאתר האישי שלי לבית משלו, dragon1982.com: אפליקציה שאפשר להתקין בטלפון, קוד פתוח, ושורת פתיחה משלנו במקום זו של Dragon Data.
מסך ירוק
זה התחיל כפינה קטנה בדף "התפתחות המכונה" באתר האישי שלי: מסך ירוק עם BASIC קטן שכתבנו ב-JavaScript. PRINT, GOTO, FOR, SOUND. עוד באותו יום היו קלטת עם רעש טעינה, "נחש את המספר", המחסנית הראשונה ותוכנית מעיתון.
מאחורי הקלעים
- שני חדרים: ה-ROM המקורי מוגן בזכויות יוצרים. לכן סוכן AI אחד קורא את המקור ומחזיר רק עובדות, במילים שלו. סוכן שני כותב את הקוד בלי לראות את המקור אף פעם.
- בדיקות: כל שינוי עובר מאות בדיקות אוטומטיות. אבל הבדיקות בודקות רק מה שידענו לכתוב, ולכן חשובים אנשים עם מחשב אמיתי.
- הכללים שלי: שום דבר לא עולה לאתר לפני שאני כותב "מזג". לא בונים לפני שחוקרים. ושום דבר של אחרים לא נכנס בלי רשות: לא קוד, לא משחקים ולא לוגואים. ה-ROM המקורי לא נכנס בכלל.
מה הלאה
משחקים בשפת מכונה קופצים לכתובות קבועות בתוך ה-ROM. השגרות שלנו יושבות עכשיו באותן כתובות, ו-13 משחקים מקוריים מאותה תקופה כבר רצים במכונה בלי שום שינוי בקוד שלהם: של Ken Kalish, של Scott Adams ושל Mike Hughey, ברשותם. השלב הבא: להשוות את המכונה מול Dragon אמיתי, שקניתי בדיוק בשביל זה. מה אנחנו בונים עכשיו · ההיסטוריה של ה-Dragon