Важная информация

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 12 из 12

Тема: Estex DSS и shell

  1. #11
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    812
    Спасибо Благодарностей отдано 
    107
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    69 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    > Как видно из листинга, я использую пакет M80/L80 (классические от CP/M).

    На спринтере есть портированные M80/L80 - можно прям там юзать

    > Насколько я понял, станицы F0..FF - это кэш.

    Нет - это не так

    Кэш подключается особым образом и только в нулевое окно

    - - - Добавлено - - -

    > type чёто поломался. толи исходник битый, толи не понятно. не работает. надо чинить.

    type (точнее sptype) вообще левая фигня написанная какими-то западно-европейцами (как и spmore)

    > установка текстовых режимов в начале каждого консольного приложения

    да вроде нету такого - если утилита консольная, то она режим не меняет - см. сюда:

    https://gitlab.com/sprinter-computer...e/master/utils

    ни одна из DSS-овских утилит от Петерсов не вызывает SETVMOD

    режим надо менять если приложение графическое (и в конце соответственно надо режим вернуть)
    Последний раз редактировалось Shaos; 07.02.2022 в 07:48.
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

  2. Этот пользователь поблагодарил Shaos за это полезное сообщение:

    Error404 (07.02.2022)

  3. #12
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404
    поправил шелл по части cr lf.

    И тут же наступил на еще одну мину: часть текста (одиночные символы) я выводил через BIOS (т.к. поначалу была мысль все сделать через BIOS), и оказалось, что BIOS код 0Ah как перевод строки не воспринимает, а выводит "рожицу".
    да. биос на спринтере это прям совсем низкий уровень. никакого управления кареткой/курсором тут нет. всё, что ему не дашь, он всё будет воспринимать как символ для вывода. для управления курсором нужно управлять координатами вывода (если через биос печатать). т.е. через биос получить координату, изменить координату и/или печать в координатах.

    системы выдает страницы от больших номеров к меньшим.
    это обусловлено тем, что у нас есть типа режима всяких там спектрумов, а там память вся крутится снизу. чтобы не было разных затираний, когда то давно сделали распределение памяти в DSS сверху вниз.

    Насколько я понял, станицы F0..FF - это кэш.
    на самом деле страницы резервируются через БИОС. не подлежат выдачи страницы 0xFF, 0xFE, 0xFD и кажется 0xFC. всё остальное могло бы выдаваться, но - дос тоже занимает 4 страницы (1 страница сама дос и 3 страницы под разные таблицы, кэши и прочая петрушка), 1 страница - шелл. если более ничего не загружено, то остальное выдаётся. Опять же - НО... не выдаются страницы 0x50 - 0x5f (экранная область), страницы 0x00 - 0x1f, 0x41 - 0x47 - резерв под режим Спектрума. Страница 0x40 - вообще смерти подобно выдавать её - страница дешифратора!!!
    Однако, страницы резервированные под спектрум можно снять с резерва через утилиту memhack. она снимает с них резерв в биосе. остальное нельзя трогать физически. Страницы 0xFF и 0xFE - принадлежат БИОСу (переменные, кэши и прочая петрушка).


    "быструю память" получит тот процесс, который резервирует первым.
    системно, быстрая память не резервируется и не выдаётся вообще. просто потому, что её сложнее контролировать. порт быстрой памяти не доступен на чтение и любая программа легко может сама взять любую из 4х страниц этой быстрой памяти. примерно так же обстоит ситуация и с памятью ISA. её в общем-то нет, до тех пор, пока не вставишь ISA-RAM карточку. но это отдельная тема.


    Т.к. требовать у системы конкретные страницы - нельзя, можно только просить (как тут уже кто-то схохмил).
    ну политика забирания у системы тех страниц, какие хочется в целом не допустима. может быть ситуация при которой 2 процесса попросят одну и туже страницу. и что тогда делать? поэтому страницы выдаются вот так. в БИОСЕ есть так называемая RAT (Ram Allocation Table), по аналогии с FAT. Разница в том, что FAT даёт кластера снизу вверх (образно говоря, или слева на право), а наш RAT наоборот, сверху вниз (справа на лево).
    Потому, какая там будет у тебя страница на момент запроса - а фиг его знает...


    зеленым по черному, "окрашиваясь в те цвета, в которые оно себя окрасило"(с)
    похоже у тебя какая-то старая сборка шелла. этот баг был пофикшен.


    Почему так же не сделано для BDOS (rst 10h)? Это архиудобно, КМК.
    надо над этим подумать. быть может вкарячу в следующей глобальной версии.

    А что здесь такое "Level" ?
    Process ID проще говоря.

    А "File handle for preloader" означает ли что большой (очень) EXE-файл шеллом будет загружен не до конца (а насколько не до конца?) и некий встроенный в файл загрузчик его должен сам дозагрузить?
    строго говоря - шелл вообще ничего не загружает, если только это не BAT файл. ЕХЕшники передаются в DSS, в функцию 40h. вот она уже грузит. ПО факту - 48кб это предел линейной загрузки. Если ЕХЕшник большой, то да - внутри должен быть самозагрузчик. примером такой программы является инсталяха игры TITD (файл под мегабайт размером) или Flex Navigator, который без перепаковки Дмитрием имеет размер 85кб.

    - - - Добавлено - - -

    проверил щас more и type. нет, работают.
    прикину сюда.
    Вложения Вложения
    Последний раз редактировалось Sayman; 07.02.2022 в 07:59.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  4. Эти 2 пользователя(ей) поблагодарили Sayman за это полезное сообщение:

    Error404 (07.02.2022), Romych (07.02.2022)

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Estex API
    от Smalovsky в разделе Sprinter
    Ответов: 11
    Последнее: 26.07.2021, 00:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •