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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Estex API

  1. #1
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    859
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    101
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Estex API

    Есть ли описание функций естекса? Надо бы знать на будущее для написания игрушки.
    ¡Un momento, señor fiscal!


  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

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

    По умолчанию

    Я вот тут давал кое-какие линки: https://zx-pk.ru/threads/33340-rabot...lo-world).html

    В частности вот:
    Функции DSS v1.60 и выше: https://web.archive.org/web/20030820...sslist1_60.htm

    Функции BIOS v3.00 и выше: https://web.archive.org/web/20030820...r/bioslist.htm

    Работа с Акселератором: https://web.archive.org/web/20030815...nter/accel.htm
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

  4. #3
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    859
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    101
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shaos, ух... на английском. Долго ковыряться...
    ¡Un momento, señor fiscal!


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

    По умолчанию

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

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

    Smalovsky (19.07.2021)

  7. #5
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    859
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    101
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shaos, возник вопрос по Memory Management Functions.
    Что такое memory block handle? Индекс блока?
    В блоке номера страниц свои абстрактные от 0 до n? А как узнать из системы номера свободных физических страниц?
    ¡Un momento, señor fiscal!


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

    По умолчанию

    > А как узнать из системы номера свободных физических страниц?

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

    > Что такое memory block handle? Индекс блока?

    Это идентификатор памяти, запрошенной у системы - он используется для обращения к отдельным страницам этой памяти по индексу через DSS.

    P.S. Список страниц через биос забирается (см. 0C5h - EMM_FN5), а так можно всё через DSS API делать не заморачиваясь с физическими номерами страниц - типа:
    Код:
    	ld	bc,033Dh ; allocate 3 pages
    	rst	10h
            jr      c,error
            ld      (handle),a
    	ld	bc,003Bh ; page #0 to window 3
    	rst	10h
            jr      c,error
    Последний раз редактировалось Shaos; 20.07.2021 в 01: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 (всё ещё собираю)

  9. #7
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    859
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    101
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shaos, получается, блок выделяем через ОС, а физические номера страниц блока узнаём через БИОС?
    Для хорошей игры надо бы иметь все 4 окна в памяти, и это значит, что к обращение к ОС будет затруднительно, поэтому лучше работать с физическими страницами, а не с логическими через ОС.
    Как использовать все 4 окна в памяти не мешая ОС? То есть как используя все 4 окна для своей программы вызвать функцию ОС? Что там надо - вернуть системную страницу в нулевое окно и восстановить системный стек?
    ¡Un momento, señor fiscal!


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

    По умолчанию

    можешь исходники поглядеть DSS - все эти вызовы затем перевызывают BIOS - можно и только через биос с аллокациями работать:
    https://gitlab.com/sprinter-computer/dos/-/tree/v1.60R
    для обращения к биос надо в своём нулевом окне поставить небольшую программку в определённых адресах - она будет переключать ОЗУ на ПЗУ при передаче управления и возвращать всё обратно при возвращении
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

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

    По умолчанию

    Цитата Сообщение от Smalovsky Посмотреть сообщение
    Shaos, получается, блок выделяем через ОС, а физические номера страниц блока узнаём через БИОС?
    Для хорошей игры надо бы иметь все 4 окна в памяти, и это значит, что к обращение к ОС будет затруднительно, поэтому лучше работать с физическими страницами, а не с логическими через ОС.
    Как использовать все 4 окна в памяти не мешая ОС? То есть как используя все 4 окна для своей программы вызвать функцию ОС? Что там надо - вернуть системную страницу в нулевое окно и восстановить системный стек?
    а в чём сложность?
    вызвать ОС для запроса нужного кол-ва страниц.
    вызвать БИОС для декодирования (получения) полученного ИД в номера страниц.
    запомнить страницу окна0 в переменную.
    включить туда нужную страницу.
    при необходимости повторного обращения к ОС, обменять текущее значение окна0 на значение из переменной. отработав, вернуть туда свою страницу.
    при выходе из программы, восстановить страницу Ос из переменной в окно0, сделать ld bc,0x0041:rst 0x10:jp $ (глюкоуловитель).
    ничего сложного.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  12. #10
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    859
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    101
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shaos Посмотреть сообщение
    для обращения к биос надо в своём нулевом окне поставить небольшую программку в определённых адресах - она будет переключать ОЗУ на ПЗУ при передаче управления и возвращать всё обратно при возвращении
    Можешь привести пример в кодах?

    Sayman, а со стеком что? ОС использует стек программы?
    ¡Un momento, señor fiscal!


Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. pdp11 графика, адаптеры, api, протоколы
    от bigral в разделе ДВК, УКНЦ
    Ответов: 21
    Последнее: 07.09.2016, 20:09
  2. API для сайтов типа zx.maros.pri.ee
    от shadwork в разделе Графика
    Ответов: 20
    Последнее: 04.06.2014, 21:06
  3. WoS API
    от moroz1999 в разделе Новости
    Ответов: 2
    Последнее: 11.09.2010, 16:12

Ваши права

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