Dragon 1982מכונת ה-Dragon · בבנייה קוד פתוח ב-GitHub English ← חזרה לאפליקציה

שני מחשבים: כאן, במכונה, הכי קרוב למחשב המקורי. ללמוד ולכתוב BASIC בנוחות, עם משחקים ועוזר: באפליקציה.
זו מכונת ה-Dragon: השבבים של ה-Dragon 32 (המעבד 6809, הזיכרון והמסך), עם BASIC שכתבנו בעצמנו, בלי ה-ROM המקורי. היא עוד בבנייה: ה-BASIC מתנהג כמו המקורי בכל מה שבדקנו, והשגרות שתוכנות בשפת מכונה מ-1982 קראו להן יושבות עכשיו באותן כתובות כמו במקור. משחקים מקוריים מאותה תקופה, של Ken Kalish, ‏Scott Adams, ‏Mike Hughey, ‏Tim Love, ‏Harry Whitehouse, ‏Ian Murray-Watson, ‏Rolf Michelsen, ‏Douglas J. Morgan, ‏Gary Ritchie ו-Owen Stenseth, כבר רצים עליה בלי שום שינוי בתוכנה שלהם. עוד לא השווינו אותה מול Dragon אמיתי. מה אנחנו בונים עכשיו. לוחצים על המסך ומקלידים, או משתמשים במקלדת שלמטה.

מדף הקלטות

לוחצים על קלטת, והיא נכנסת לרשמקול. מקלידים CLOAD, ואחרי ה-OK מקלידים RUN. ביצי הדרקון כתוב בשפת מכונה: מקלידים CLOADM, ואחרי ה-OK מקלידים EXEC. המשחקים בשפת מכונה של מחברים אחרים מתחילים לבד אחרי CLOADM, ומופיעים כאן באישור המחברים.

איך טענו משחק ב-1982?

משחקים נמכרו על קלטות שמע. מכניסים קלטת לרשמקול שמחובר למחשב, ומקלידים CLOAD ("טען מהקלטת"). המחשב מקשיב לקלטת כמה שניות ומעתיק את המשחק לזיכרון. אחר כך מקלידים RUN ("הפעל"), והמשחק מתחיל.

כאן לוחצים על קלטת כדי להכניס אותה לרשמקול, ומקלידים בדיוק כמו אז.

הקלטות שלי 0
ℹ️ איך זה עובד

🎮 שפת מכונה, בדרך כלל משחק: מקלידים CLOADM ואחר כך EXEC. 📝 תוכנית BASIC: מקלידים CLOAD ואחר כך RUN. 🕹 הג'ויסטיק מהמקלדת: במשחק שזז בג'ויסטיק, החיצים מזיזים ו-Alt או רווח הם הכפתור.

כותבים תוכנית ומקלידים CSAVE "NAME" (שם באנגלית, עד 8 אותיות). היא מוקלטת לקלטת ונשמרת כאן. כדי לטעון: לוחצים על הקלטת ומקלידים CLOAD, או מקלידים CLOAD "NAME".

הקלטות נשמרות רק בדפדפן הזה, ונמחקות אם מנקים אותו (בספארי גם אחרי שבוע בלי ביקור). כדי לשמור לתמיד או להעביר למכשיר אחר: ⬇ מוריד את הקלטת כקובץ.

ל-Dragon אמיתי: 🔊 מוריד את הקלטת כצליל (wav), כמו קלטת של אז. מחברים את כבל הקלטת של ה-Dragon (התקע EAR) לשקע האוזניות, מקלידים ב-Dragon CLOAD, ומנגנים את הקובץ בעוצמה של בערך 75%. אם מופיע ?IO ERROR, משנים את העוצמה ומנסים שוב.

ניסיון ראשון: מקלידים בעצמנו

בלי קלטת, המכונה מחכה לכם. מקלידים PRINT 2+3 ו-ENTER, והיא עונה 5. או תוכנית קטנה: 10 FOR I=1 TO 10:PRINT I*I:NEXT, ואחריה RUN. עצירה: BREAK.

מה כבר עובד, ומה עוד חסר

עובד: כל ה-BASIC בשבב אחד של 16K, כמו במקור: מספרים ומחרוזות, משתנים ומערכים, IF/THEN/ELSE, AND/OR/NOT, FOR, GOTO, GOSUB, ON, DATA/READ, INPUT, DEF FN, הפונקציות (INT, RND, SIN, LEFT$, MID$...), גרפיקה (PMODE, LINE, CIRCLE, PAINT, DRAW, GET/PUT), צליל (SOUND, AUDIO, PLAY), קלטת בפורמט המקורי (CSAVE/CLOAD, CSAVEM/CLOADM, OPEN/PRINT #/INPUT #), PRINT USING, TAB, EDIT, RENUM, DEL, STOP/CONT, TRON. ‏RESET שומר את התוכנית, כמו ב-Dragon אמיתי.

עוד חסר: ‏DLOAD. עוד לא בדקנו מול Dragon אמיתי. המחסניות והעוזר של האפליקציה לא עובדים כאן.

מצאתם הבדל מה-Dragon שהכרתם? זה בדיוק מה שאנחנו מחפשים. אפשר לפתוח דיווח ב-GitHub (טופס מוכן עם שלוש שאלות; צריך חשבון GitHub), או לכתוב לנו דרך יצירת קשר: מה הקלדתם, מה קיבלתם, ומה היה קורה במקור.

איך עורכים שורה (EDIT)

מקלידים EDIT 20, ומספר השורה מופיע. עכשיו כל מקש הוא פקודה. מספר לפני פקודה אומר כמה פעמים, למשל 3 D.

רווח: תו קדימה · ←: תו אחורה · D: מחיקה · C: החלפה · I: הוספה · X: הוספה בסוף · H: מחיקת הסוף והוספה · S ותו: קפיצה אל התו · K ותו: מחיקה עד התו · L: הצגת השורה · A: ביטול השינויים.

יציאה ממצב הוספה: SHIFT+↑ (במקלדת של מחשב: _). ENTER שומר את השורה, BREAK יוצא בלי לשמור.

🎙️ קלטת אמיתית מהבית

יש לכם קלטת Dragon ישנה? המכונה יכולה לשמוע אותה דרך המיקרופון.

איך זה עובד?
  1. לוחצים על הכפתור, וההקלטה מתחילה.
  2. מנגנים את הקלטת ליד המחשב, ובסוף לוחצים שוב.
  3. המכונה תגיד מה להקליד (בדרך כלל CLOAD ואז RUN). חלק לא נקלט? מנגנים שוב, ומה שכבר נקרא נשמר.

אין קלטת? נגנו מהטלפון את קלטת הבדיקה (8 שניות), בעוצמה בינונית ובחדר שקט.

האמולטור הוא XRoar של Ciaran Anscomb, ברישיון GPL v3. קוד המקור והרישיון. ה-BASIC שלנו: github.com/gonenya-create/dragon32.