MEMORY MAPPER компьютера «CHELYABINSK»
Новая версия там.
MEMORY MAPPER компьютера «CHELYABINSK»
Новая версия там.
Последний раз редактировалось zx-kit; 15.01.2018 в 06:14.
"L-256"
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ну вот, уже очень близко, скоро будет, ATM, TS и }{имера, только со своими портами и кучей логики.
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
В MSX2 4 слота. 0 для ПЗУ BIOS+BASIC, на 1 и 2 описания нет. Наверно там картриджи. В третьем слоте еще делится на 4. Слот второго уровня. Там тоже может быть два ПЗУ, один один слот ОЗУ, еще один для сетевой карты. Для управления используются 2 порта и ячейка памяти с адресом FFFF. Намудрили сильно. Зачем это ? У меня только ОЗУ, ПЗУ и видеокарта. Пока не представляю что еще можно подключать. Принцип MSX2 не очень понятен и удобен.
В окне 0 будет видеокарта только на запись. Если запретить запись в ОЗУ в окне 0, то в это окно можно подключать разные страницы ОЗУ со спрайтами. И копировать их из ОЗУ в видеокарту. При этом адреса могут быть одинаковые. В окнах 2-4 отключать запись пока нет необходимости. Может для символьного экрана пригодится.А это для чего?
В MSX2 слот - это скорее всего комбинация типов памяти в окнах. А у меня только два типа памяти и ПЗУ внешнее.
Последний раз редактировалось zx-kit; 13.01.2018 в 16:25.
"L-256"
В MSX любой слот может расширятся на 4 субслота, не только 3-й. То, что для этого использовали не порт, а ячейку памяти, действительно, намудрили. Но может на то были причины.
Слоты и субслоты там в принципе равнозначны (кроме 0-го откуда комп стартует, ROM-BIOS должен быть в нем).
Куда втыкать все остальное, в принципе, по барабану, как правило. Есть нюансы, но то от несоблюдения стандарта.
Т.е. можно, например, "переставить" сетевую карту в "картриджный" слот 1, а ее место воткнуть "картридж" с игрой - и с вероятностью 99% все будет работать, юзер даже не заметит.
Вы так же начинаете плодить лишние разнородные сущности, ограничивая однородные. При этом "сваливаете" все в одно окно.
Смотрите, вы можете маппером поставить в любое окно любую 16к банку из 256-и возможных. Итого 4 метра адресного пространства.
Это в одном "слоте". У вас их 2 (но легко 4) итого 8 (но легко 16) метров! Не нужно относится к "слотам" как к чему-то физическо-механическому - это всего лишь области адресного пространства.
Что, и где в них размещать - зависит от фантазии.
Я же в своей конструкции делаю еще проще, у меня один большой маппер и никаких слотов. Выделено 16 портов (или 8 регистров по 16 бит), 8 окон по 8кБ, в любое окно ставится любая 8к банка из 65536-и
Что я там распихаю по этим 64к банок...
electronox necromancer
Запись в ОЗУ можно отключать только в окне 0.
- - - Добавлено - - -
Давайте далего в будущее заглядывать не будем. Жить нам осталось недолго. Распределим память окнами по 16 К между ОЗУ, ПЗУ и видеокартой. Для начала достаточно.
"L-256"
MEMORY MAPPER компьютера «CHELYABINSK»
Память делится на блоки по 4 Мбайт. Блоки делятся на страницы по 16 Кбайт. Адресное пространство Z80 делится на окна по 16 Кбайт. В каждом окне можно подключить любую страницу любого блока.
Номера и адреса окон:
Окно номер 0 (00) - адреса 0000-3FFF
Окно номер 1 (01) - адреса 4000-7FFF
Окно номер 2 (10) - адреса 8000-BFFF
Окно номер 3 (11) - адреса C000-FFFF
Номера страниц по 16 Кбайт записываются в порты:
E0 - номер страницы памяти в окне 0
E1 - номер страницы памяти в окне 1
E2 - номер страницы памяти в окне 2
E3 - номер страницы памяти в окне 3
Номера блоков по 4 Мбайт записываются в порты:
E4 - номер блока памяти в окне 0
E5 - номер блока памяти в окне 1
E6 - номер блока памяти в окне 2
E7 - номер блока памяти в окне 3
00 = SRAM0
...
80 = SDRAM0
...
FF = START ROM
Модуль памяти может занимать несколько блоков. Например, если модуль сделан на базе микросхемы SDRAM 32 Мбайта, то он займет 8 блоков.
После включения или сброса компьютера запускается на выполнение программа в постоянной памяти (ROM). Для увеличения возможностей компьютера ROM располагается на сменных картриджах. Это позволит перенастраивать компьютер для простого и быстрого использования сразу после включения. Размер картриджа может быть до 4 Мбайт. Для удобной работы можно иметь несколько картриджей на микросхемах FLASH. Во FLASH можно записывать нужные в данный отрезок времени или часто используемые игры, системные программы и загрузчики операционных систем.
Оперативная память (RAM) используется для хранения стека Z80, команд, данных и переменных программ, запускаемых с ROM или внешних носителей. ОЗУ располагается на модулях компьютера.
Окно 0 используется для записи графических данных в видеокарту "METEOR". В этом окне совместно с видеокартой можно использовать ROM или RAM в режиме чтения.
170815: Добавлена возможность в каждом окне выбора блоков ROM и RAM размером по 4 Мбайта. Может когда-нибудь понадобятся такие объемы. В окне 0 только чтение из памяти.
180121: MEMORY MAPPER преобразован в DEVICES MAPPER
Последний раз редактировалось zx-kit; 21.01.2018 в 12:10.
"L-256"
Попробуйте всё это в виде научно фантастического рассказа. Пройдет время, и возможно, кому-то перечитывая не один-сот-раз ваши рассказы "След метеороида" или "Падающая звезда," наконец-то удастся разгадать их загадку?
О! Похоже. немного обмозговать нужно... По крайней мере в одну сторону думать начали.
- - - Добавлено - - -
Логично. железячно удобно.
- - - Добавлено - - -
Маппер один, читаемый. Наличие памяти от состояния маппера не зависит. Даже если вообще ОЗУ нет, маппер должен быть весь целиком. Ну кто знает о чем я
- - - Добавлено - - -
Упс... Для Z80 да.
electronox necromancer
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)