Кошик

Ваш кошик порожній

Solder Demon
Зміст документації/Адресні джампери

Адресні джампери й карта пам’яті

Дві речі вирішують, чи працює RAM expansion і де з’являється її пам’ять: JP4 на основній платі і три адресні джампери JP1–JP3 на самій карті. Ця сторінка пояснює обидві, а також як працювати з кількома картами в одній системі.

Адреси на цій сторінці — для основної плати rosco_m68k r2.


JP4 на основній платі: має бути замкнений

ВАЖЛИВО

Коли ця карта встановлена, JP4 на основній платі має бути замкнений. Без нього карту ніколи не видно, а банер старту показує лише 1 МБ основної плати.

Кожен цикл шини 68010 закінчується, коли хтось відповідає сигналом DTACK. RAM expansion не має власного DTACK: вона лише читає адресу й виставляє дані. Замкнений JP4 каже основній платі самій відповідати DTACK на кожне звернення до простору розширення, від $100000 до $DFFFFF.

Коли JP4 розімкнений, ніхто не відповідає. Тоді сторожовий таймер основної плати завершує цикл помилкою шини, і прошивка вирішує, що пам’яті там немає.

Про інші джампери основної плати — у розділі Налаштування джамперів.

JP1–JP3 на карті: базова адреса

Карта вміщує 4 МБ. JP1–JP3 обирають, з якого місця адресного простору вона починається, — непарними мегабайтами від 1 МБ до 13 МБ. JP1 — верхній ряд гребінки 2×3, JP3 — нижній, як надруковано поруч.

Джампер поперек ряду встановлює цей біт в одиницю. Без джампера резистор на карті тримає біт у нулі.

JP1JP2JP3БазаАдресиДоступно на r2
знятийзнятийзнятий1 МБ$100000–$4FFFFF4 МБ
знятийзнятийстоїть3 МБ$300000–$6FFFFF4 МБ
знятийстоїтьзнятий5 МБ$500000–$8FFFFF4 МБ
знятийстоїтьстоїть7 МБ$700000–$AFFFFF4 МБ
стоїтьзнятийзнятий9 МБ$900000–$CFFFFF4 МБ
стоїтьзнятийстоїть11 МБ$B00000–$DFFFFF3 МБ
стоїтьстоїтьзнятий13 МБ$D00000–$DFFFFF1 МБ
стоїтьстоїтьстоїть——карта вимкнена

На основній платі r2 простір розширення закінчується на $DFFFFF: від $E00000 і вище — ROM і ввід-вивід. Карта, налаштована на 11 МБ чи 13 МБ, просто не відповідає вище цієї межі, тож частина її лишається невикористаною. Коли стоять усі три джампери, карта не відповідає ніде.

Для однієї карти залиш усі три джампери знятими. Тоді карта починається з 1 МБ, одразу після пам’яті основної плати, і система має 5 МБ одним шматком.


Як прошивка рахує пам’ять

Під час старту прошивка кожні 512 КБ записує й читає назад тестове значення, знизу пам’яті вгору, і зупиняється на першій адресі, яка не пройшла перевірку, або в кінці простору розширення. Банер показує, як далеко вона дійшла:

MC68010 CPU @ 10.0MHz with 5242880 bytes RAM

Тож банер рахує лише пам’ять, яка продовжує пам’ять основної плати без прогалини. Карта на 5 МБ сама по собі лишає дірку від 1 до 5 МБ: банер показує 1048576, хоча карта працює. Програми, які знають про карту, все одно можуть її використовувати.

Кілька карт

Карти не повинні перекриватися: кожна займає 4 МБ від своєї бази. Щоб уся пам’ять була одним шматком, став кожну карту туди, де закінчується попередня.

КартБазиБанер показує
11 МБ5242880 (5 МБ)
21 МБ, 5 МБ9437184 (9 МБ)
31 МБ, 5 МБ, 9 МБ13631488 (13 МБ)
41 МБ, 5 МБ, 9 МБ, 13 МБ14680064 (14 МБ, увесь простір розширення; з четвертої карти використовується лише 1 МБ)

Бази між ними — 3, 7 і 11 МБ — для неповних карт. Карта лише з 2 МБ мікросхем на базі 1 МБ закінчується на 3 МБ, тож наступна карта стає на 3 МБ.

Для кількох карт потрібна bus board: на основній платі місце лише для однієї. JP4 на основній платі лишається замкненим для всіх.

Дві карти на одній базі

Обидві відповідають на кожне читання й виставляють дані на шину одна проти одної. Перевір джампери кожної карти перед увімкненням.

Інші карти в просторі розширення

Коли JP4 замкнений, основна плата відповідає на кожне звернення до $100000–$DFFFFF без очікування. Інша карта, яка використовує цей простір і потребує більше часу на звернення, його не отримає. Карт у просторі вводу-виводу це не стосується.