- ДОЗУ СМК-512
- [+] Старые сообщения (16)
-
? S_V_B@ - 22.12.2017 11:00
Спасибо за исчерпывающий ответ. Я же только учусь и это только эксперименты. Записать-прочитать ячейку не интересно, а забить такой объем чем-нибудь осмысленным долго.
Поэтому и возникла мысль на такой тест. Абсолютно ради интереса.
Т.е. образы из эмулятора загрузить не получится? Тогда не подскажите где найти подходящий дамп?
(отключить регистры дисковода по чтению) -это "+4"?
-
? S_V_B@ - 22.12.2017 11:45
я правильно понимаю, что БК11м можно использовать только режимы (All,Std11,ОЗУ11,Hlt11)
Из них более-менее это режим All(20) но у него порядок сегментов 4,5,6,7,0,1,2,3.
т.е копировать блоки между 7 и 0 нужно по частям.
-
? S_V_B@ - 22.12.2017 12:07
сильно не пинайте, я вчера вечером впервые в жизни "скрижали" по СМК увидел.
-
? gid - 22.12.2017 12:42
Использовать можно все режимы, просто некоторые из них неэффективны, некоторые неудобны в плане использования.
Порядок сегментов имеет значение лишь тогда, когда нужен упорядоченный доступ к очень большому объёму данных.
-
? S_V_B@ - 22.12.2017 13:03
допустим в режиме 20 мне нужно записать блок в адреса 137770 по 140060 нужно будет сначала скопировать с 137770 по 137777 а потом еще хвостик с 140000 по 140060.
где преход между 7 и 0м сегментом, а в остальных все линейно?
-
? S_V_B@ - 22.12.2017 13:05
или страница закольцована?
-
? gid - 22.12.2017 13:42
[допустим в режиме 20 мне нужно записать блок в адреса 137770 по 140060]
Значит вы плохо продумали работу с доп.ОЗУ СМК и сами себе злой буратино, мучайтесь теперь.
Небольшое количество грамотных людей разрабатывают ПО с учётом аппаратных возможностей и особенностей железа. Остальные старательно пытаются натянуть сову на глобус.
¤
[или страница закольцована?]
С какой стати? обычное линейное ОЗУ, только разбито на страницы, которые разбиты на сегменты, чтобы на БК, с не очень удобной организацией памяти, можно было хоть как-то к ним доступ иметь.
-
? S_V_B@ - 22.12.2017 13:51
137770 по 140060 я для примера перехода между 7м и 0м сегментом.
не могу же я сразу записать со 100000 все 32к.
И вовсе я не хочу сову на глобус :)
-
? S_V_B@ - 22.12.2017 13:58
Это память в СМК похожа на клочки совы на глобусе :))))
-
? S_V_B@ - 22.12.2017 14:18
Скажите как нужно работать с памятью СМК, чтобы сов поберечь.
У меня есть две бумажки на одной табличка на другой в тексте тоже есть упоминание о "косоруких" и некорректных программистах.
Все должно быть не так уж и сложно со временем я методом тыка это пойму, но вы же прошли уже по этим граблям.
¤
Например я хочу записать блок спрайтов 32к.
¤
1. Устанавливаю режим (20)
2. Копирую блоками по 4к или как? или как выше спрашивал?
3. как читать? линейно или блоками?
¤
как только это у меня в башке оформится так можно уже думать как писать и как использовать.
а вы сразу обзываться сова, буратино. Я ж эти куклы первый раз вижу.
¤
Ладно бы это было на каждом углу написано и мне было лень прочитать...
-
? Дмитрий - 22.12.2017 14:35
>> не могу же я сразу записать со 100000 все 32к.
Как раз запросто, емнип, кроме 177000+(8). Данные пишутся в сегмент, подключенный к определенному окну в адресном пространстве. Что не так?
¤
>> 2. Копирую блоками по 4к или как? или как выше спрашивал?
>> 3. как читать? линейно или блоками?
Линейно, как и в любой другой области памяти.
-
? gid - 22.12.2017 14:44
Выравнивать данные по границам сегмента, оставляя неиспользуемые куски памяти в конце сегмента.
Линейно читать/писать можно, но в пределах сегмента или группы сегментов. Можно даже выполнять подпрограммы непосредственно из памяти СМК.
-
? S_V_B@ - 22.12.2017 15:07
т.е. в 20м режиме записать со 100000 32к можно только в два приема как я и говорил в начале.
а прочитать тоже в два приема?
весьма противоречивые ответы от Дмирия.
-
? S_V_B@ - 22.12.2017 16:13
Попробовал на эмуляторе режимы 20 и 120 - все вроде линейно пишется читается (20000 слов писал со 100000 потом для. наглядности в экран)
мозг наружу.
где мой глобус.. тащите сову.
-
? S_V_B@ - 22.12.2017 16:22
Ни у кого нет исходников тестов СМК?
При прочтении доки на память СМК меня насторожила ремарка о "некорректных программистах".
Хотелось бы хоть одним глазком взглянуть как правильные и продуманные пишут.
-
? Дмитрий - 22.12.2017 16:35
>> весьма противоречивые ответы от Дмирия.
Я на память СМК переделывал стандартный RAM-диск из комплекта МК-ДОС. Работало. Было удобнее, поскольку RAM-диск портился при запуске игр для 11(М), использующих доп. память. Память читал/писал линейно - точно также как и подключенную доп. 11М (то бишь подключив в окна 40000(8) и 100000(8) страницы памяти 11М мог обнулить всю память с 1000(8) до 137777(8) за один цикл) без каких-либо шаманств... Хотя нет, шаманства с СМК были в плане странно (я бы сказал идиотски) подключаемых сегментов памяти.
-
? S_V_B@ - 22.12.2017 17:00
В чем шаманство?
Как обходили.
Я уже целый день как гестаповец у красных комиссаров выпытываю страшную тайну советской страны.
-
? S_V_B@ - 22.12.2017 17:02
Сейчас с работы приду буду на железном СМК пробовать.
И еще вопрос как вернуть все обратно т.е. отключить СМК от адресного пространства?
-
? BD@ - 22.12.2017 20:36
------
Я на память СМК переделывал стандартный RAM-диск из комплекта МК-ДОС. Работало.
-------
повторишь? есть исходник VD.SYS дизассемлированный, но окультуренный.
-
? BD@ - 22.12.2017 22:20
собственно вот
https://yadi.sk/d/yuoAArbJ3QsG4E
там место для второго экрана нового MC на БК11м зарезервировано
https://yadi.sk/d/wHEVsXye3QsG62
-
? Дмитрий - 24.12.2017 21:30
>> Как обходили.
>> повторишь?
Хоть стреляй - не помню. Давно было. И довольно долго мучился, пока заработало. А вот как - не помню.
- << Форум