תוכן עניינים:
וִידֵאוֹ: 6502 & 6522 מחשב מינימלי (עם Arduino MEGA) חלק 2: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
בהמשך להוראה הקודמת שלי, שמתי כעת את 6502 על לוח חשמל והוספתי מתאם ממשק צדדי 6522 (VIA). שוב, אני משתמש בגרסת WDC של 6522, מכיוון שהיא התאמה מושלמת ל- 6502 שלהם. לא רק שהשבבים החדשים האלה משתמשים בהרבה פחות כוח מגרסאות ה- MOS המקוריות, אלא שניתן להפעיל אותם במהירויות איטיות יותר או אפילו לעבור אותם תוכנית ללא בעיות.
התוכנית Arduino נכתבה במקור על ידי בן איטר (שיש לו הרבה סרטונים ביוטיוב) ושונתה על ידי כדי להשיג תוצאה זו.
אספקה
1 x מעבד WDC W65C02
1 x מתאם ממשק צדדי WDC W65C22
1 x 74HC00N IC (שער NAND מרובע 2 כניסות) או דומה
1 x 10 ס מ רוחב (35 קו) לוח רצועות
2 x 40 פינים DIL שקעים
שקע DIL 1 x 14 פינים
סיכות כותרת PCB 2.54 מ מ
שקעי כותרת PCB 2.54 מ מ
1 x 12 מ מ מתג לחצן מישוש רגעי לחיצה על לוח PCB רכוב SPST או דומה
נגד 1K 1K
1 x 3K3 נגד
2 x 0.1 קבלים קרמיקה uF
1 x 8 Way Water Light Marquee 5 מ מ LED אדום
חוט בצבעים שונים לחיבורים
8 חוטי קישור זכר - זכר
שלב 1: לוח המעגלים
לוח המעגלים די קומפקטי והחלק התחתון מתחבר ישירות ל- Arduino MEGA. כדי להשיג זאת, הסיכות נדחפות כמה שיותר רחוק לתוך מחזיקי הפלסטיק לפני ההלחמה אל החלק התחתון של הלוח. ניתן היה להשתמש בסיכות ארוכות יותר לשם כך, אך הפינים הסטנדרטיים אומרים כי הלוח מונח בחוזקה על גבי ה- MEGA.
סידרתי את ה- ICs 6502 ו- 6522 כך שישתמשו בפסי הלוח כדי להתחבר ל- MEGA. ישנם גם כמה חיבורים ל- 6502 החבויים מתחת ל- IC. בעת הכנת הלוח, הדבר הראשון שצריך לעשות היה לחתוך את 16 הרצועות שיתחברו לשורת השקעים הכפולה של הארדואינו. אין צורך לחתוך את 2 החיצוניים מכיוון ש- 5v ו- Gnd נמצאים משני הצדדים. הלחמה הבאה בשתי השורות של 18 סיכות בצד התחתון, ו -2 השורות של 18 השקעים בצד העליון.
לאחר מכן שקעי DIL מולחמו במקומם והפסים נחתכו ביניהם. יכולתי להציל חיבור על ידי הנחת סיכה 14 של 74HC00 באותו מסלול כמו 5v. חתכתי את המסלולים רק כשהייתי בטוח שהם צריכים להיות בזמן הלחמת החוטים המחברים. עם זאת, לא תמיד הדברים הולכים לפי התכנון, במקור עיצבתי את לוח הרצועות מלוח הלחם הקודם באמצעות סיכות 2, 3 ו -7 של הארדואינו, אך אלה אינם תואמים את החורים בלוח הרצועות, כך שהייתי צריך להשתמש סיכות 18, 31 ו -37. מכאן שהקישורים בלוח שלי ב- 31 ו -37. אתה עשוי לתהות מדוע לא השתמשתי באחד הפינים שאינם בשימוש (23, 24 וכו ') לשעון, זאת מכיוון שהם אינם תומכים מפריע, ולכן היה צריך להשתמש בסיכה 18, 19, 20 או 21, שכן. למרבה המזל ארבעת הסיכות הללו תואמות את החורים בלוח הרצועות ושומרים על הכל קומפקטי. סיכה 18 היא גם הרחוקה ביותר מכל שאר החוטים.
ייתכן שתבחין גם כי הלוח שהושלם שלי אינו זהה בדיוק לתרשים שלי. הסיבה לכך היא שעקבתי אחר התרשים של מישהו אחר. מכאן החיבורים ל- 74HC00. הוספתי גם נורית כוח ושתי שורות נוספות של שקעים עבור Gnd ו- 5v וכן עוד כמה קבלים.
יכולתי לחבר את 2 שקעי הנתונים, אבל זה אומר שהרבה יותר חוטים חוצים את הלוח. בחרתי ב -8 חוטי קישור שיעשו זאת כאמצעי זמני.
ביציאה A ו- B של 6522 היו שקעים מולחמים על עקבותיהם כך שניתן להכניס בקלות סימני LED.
יש הרבה פחות חוטים עכשיו מאשר היו בגרסת לוח הלחם.
שלב 2: תורת התכנות
ל- 6522 שתי יציאות קלט/פלט וכן תכונות רבות אחרות, אך נגישות A ו- B נגישות בקלות. כדי להוציא נתונים על היציאה, יש להגדיר את רשם כיוון הנתונים (DDR) בהתאם ולשלוח את הנתונים ליציאה עצמה.
עם ההתקנה לעיל, 6522 ממוקם ב E000 $.
כדי להוציא נתונים על יציאה B, ה- DDR ב $ E002 מוגדר ל- $ FF (255 - כל היציאות) והנתונים נשלחים ל- $ E000.
כדי להוציא נתונים ביציאה A, ה- DDR ב $ E003 מוגדר ל- $ FF (255 - כל היציאות) והנתונים נשלחים ל- $ E001.
הקוד למטה טוען $ FF לרשומת 6502 A וכותב אותו ל- DDR B במחיר E002 $. לאחר מכן הוא טוען 55 $ וכותב אותו ל- ORB. הקוד מסובב (נותן $ AA) ונכתב ל- ORB. התוכנית מקפיצה לאחור $ 1005 וחוזרת על עצמה בלי סוף. הערה: צריך לאתחל את ה- DDR רק פעם אחת.
כתובת פירוק Hexdump
$ 1000 a9 ff LDA #$ ff $ 1002 8d 02 e0 STA $ e002 $ 1005 a9 55 LDA #$ 55 $ 1007 8d 00 e0 STA $ e000 $ 100a 6a ROR A $ 100b 8d 00 e0 STA $ e000 $ 100e 4c 05 10 JMP $ 1005
55 $ בינארי הוא 010101010 ו- $ AA הוא 10101010 מה שגורם לנורות לסירוגין 4 דולקים, 4 כבויים.
תיקון מהיר ומלוכלך:
החלף את 74HC00 (NAND Gate כניסת Quad 2) ב- 74HC08 (Quad 2 input AND Gate) וה- 6522 ממוקם כעת ב 6000 $ במקום ב- E000 $. זה מעביר אותו מה- 32K העליון ל -32 K התחתון של הזיכרון הניתן להתייחסות של 6502.
שלב 3: התוכנית והפלט של Arduino
מכיוון של- 6502 אין זיכרון RAM לקרוא ממנו, ה- Arduino מספק את התוכנית כדי לקרוא אותו. כאשר מזהה דופק שעון על פין 18, הארדואינו מעביר את נתוני התוכנית לאוטובוס הנתונים (סיכות ארדואינו 39, 41, 43, 45, 47, 49, 51 ו -53). ה- 6502 יוצר כתובות משלו המנוטרות רק על ידי הארדואינו על הסיכות הזוגיות 22 עד 52. הארדואינו מספק גם את דופק השעון על סיכה 37. קו ה- R/W של 6502 מנוטר על סיכה 31.
מכיוון שהארדואינו מספק את הנתונים, עד כה לא ניתן היה להביא את ה- 6502 לקלט נתונים מה- VIA (אלא אם כן אתה יודע טוב יותר).
תוכנית Arduino נמצאת למטה ופלט מדגם מהצג הסידורי נמצא למעלה.
שלב 4: מסקנה
שוב ניסיתי להראות כיצד להגדיר "מחשב 6502" מינימלי.
בשלב זה ה- 6502 עדיין סומך על הארדואינו שיספק לו תוכנית ודופק שעון על מנת שהוא יפעל.
זה צעד קדימה יותר מאשר כאשר הנחתי אותו על קרש לחם.
לא השתמשתי הפעם ב- 74HC373 אלא ב- 6522 המורכב יותר כדי לנעול את פלט הנתונים. כמו כן, ל- 6522 יש שתי יציאות קלט/פלט.
אני מתכוון לקחת את הפרויקט הזה הלאה על ידי התקנת SRAM או EEPROM.
מוּמלָץ:
6502 מחשב מינימלי (עם Arduino MEGA) חלק 3: 7 שלבים
6502 מחשב מינימלי (עם Arduino MEGA) חלק 3: כדי להמשיך הלאה, הוספתי כעת תפס אוקטל, 8 נוריות מלבניות ומערך נגדים של 220 אוהם ללוח הראשי. יש גם מגשר בין הסיכה המשותפת למערך, כך שניתן לכבות את הלדים. שער 74HC00 NAND h
6502 מחשב מינימלי (עם Arduino MEGA) חלק 1: 7 שלבים
6502 מחשב מינימלי (עם Arduino MEGA) חלק 1: המעבד 6502 הופיע לראשונה בשנת 1975 ותוכנן על ידי צוות קטן בראשות צ'אק פדל לטכנולוגיית MOS. אז הוא שימש בקונסולות וידאו ובמחשבים ביתיים כולל Atari, Apple II, Nintendo Entertainment System, BBC Micr
בקר מחשב Groove Coaster [חלק 1: חומרת הגברה]: 9 שלבים
בקר מחשב Groove Coaster [חלק 1: חומרת בוסטר]: עבודה על בקר מחשב עבור המהדורה הקרובה של מחשב Groove Coaster ב- Steam להלן הדרכה קטנה כיצד להרכיב את החומרה עבור מגבר מבוסס מקל ארקייד
מאוורר כוח USB מקורר, רכזת USB מובנית, תיק מחשב נייד חלק 1: 6 שלבים
מאוורר כוח USB מקורר, רכזת USB מובנית, תיק מחשב נייד חלק 1: תיקי מחשב נייד יקרים. הזולים הם שטויות מוחלטות. אלה הגונים בקושי מתחילים ב -69.99 $ ואני מתקשה להוציא את הכסף הזה כשזה לא בדיוק מה שאני רוצה מלכתחילה, אז החלטתי לעשות את זה בעצמי ולראות מה אני
כיצד לחרוט חלון מחשב (חלק 1): 6 שלבים
כיצד לחרוט חלון מחשב (חלק 1): ראיתי מקרים רבים עם החלונות הצלולים החקוקים. החלטתי לחרוט את האכסדרות שלי כדי לתת להן מראה חדש. זה לא קשה כמו שזה נראה פשוט קח את הזמן ותקבל תוצאות טובות. ניתן למצוא הוראות חלון אחרות למקרה ב- Instru