User Tag List

Показано с 1 по 10 из 227

Тема: Монолоадер для чайников.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак.. Я сделал самый простейший монолоадер, который просто грузит 1 архив и просто распаковывает его. Сначала я долго не мог понять, с чего же мне начать. Нифига не понятно. Но потом понял, что надо открыть Sublime Text, написать код, который дается в примере WLODEK BLACK и всё это собрать в трд. Поначалу код не хотел собираться в трд, я пробовал и так и сяк, в конце концов плюнул и скопировал в Sublime простейший пример, который выкладывал Алекс Райдер, и в этом примере поменял "середину" на код Влодека. Ну и естествено подставил свои значения длины секторов и старта. Потом сделал бейсик, загрузил в него полученный код, а потом всё это дело склеил риалкоммандером. Всё работает! ))

    Это конечно микроскопический успех, но всё-таки успех. Однако не понятно вот что, в уроке Влодека говорится
    Поскольку файлы нашей игры расположены на диске подряд, удобно воспользоваться системными переменными TR-DОS (23796 и 23797). В этих переменных хранятся данные о секторе и треке, следующих непосредственно за только что загруженными.
    Однако в примере кодового лоадера есть упоминание только о 23796:
    C помощью какого-нибудь ассем-
    блера наберите программку:
    ОRG 30000
    DI
    LD ВС,#1В05 ;заставка (#1В=
    ;27 секторов)
    LD DE,(23796) ;трек, сектор
    LD HL,16384 ;куда
    СALL 15635 ;вызов ТR-DОS
    LD ВС,#8905 ;осн.блок (#89=
    ;137 секторов)
    LD DE,(23796)
    LD HL,25000
    СALL 15635
    EI
    JР 25000 ;старт игры
    А почему 23797 никак не задействовано? В каком случае нужно, а в каком не нужно юзать этот адрес?

    И еще вопрос, в том же уроке описано как полученный кодовый загрузчик "залить" в бейсик:
    В конце строки напишите: RANDОМIZE USR 23872.
    В строке 1 наберите REМ, после поставьте столько же пробелов, сколько получилось байт в загрузчике. 3агрузите коды загрузчика в строку 1 прямой командой RANDОМIZE USR 15619: REМ: LОAD <имя файла> CОDE (23872+257).
    - Откуда взялась цифра 23872? Откуда мы узнали, что кодовый загрузчик надо грузить именно по этому адресу?
    - Что значит "имя файла" CODE (23872+257)? Я бы понял просто CODE 23872, но зачем скобки и зачем приплюсовывание 257? И почему именно 257?
    - Можно ли в строку REM вставить более весомый код, чем лоадер? Как? Ведь замучаешься вбивать несколько сотен пробелов.
    ___________

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

  3. #2

    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    - Можно ли в строку REM вставить более весомый код, чем лоадер? Как? Ведь замучаешься вбивать несколько сотен пробелов.
    Можно. Хоть десятки Кб. Пользуйся сборщиком бейсик-лоадера типа Basic Loader Creator и будет тебе счастье. Набивать пробелы в ручную - то еще извращение
    Когда на твой вопрос отвечает философ, перестаешь понимать вопрос

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

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

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

Похожие темы

  1. Ответов: 206
    Последнее: 19.08.2020, 10:36
  2. TS Conf прошивка для Чайников
    от AAA в разделе Софт
    Ответов: 157
    Последнее: 10.01.2015, 04:46
  3. Ответов: 35
    Последнее: 01.12.2006, 10:06
  4. монолоадер.
    от Sinus в разделе Программирование
    Ответов: 17
    Последнее: 07.02.2006, 14:25

Ваши права

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