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

User Tag List

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

Тема: монолоадер.

  1. #11
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus
    как там чё надо в бейсике крутить и по каким адресам туда код запихивать, чтоб монолоадер склепать?
    Адрес определяется самим бейсиком и зависит от наличия TR-DOS, interface-1 и других фич.

    10 CLEAR VAL "xxxx": RAND USR VAL "fz_kakoj_adres": REM yyyy_probelov_chtob_zapihat_code
    вот вы мне этот "фз какой адрес" и скажите
    МОЧИТЬ В СОРТИРЕ, таких кодеров. Догадайся за что.

    Монолоадер обязан:

    * являться ОДНИМ бейсик файлом. Не "склеенном" в коммандере.
    Полноценным бейсиком. Чтоб одним LOAD "" загружаться в
    память.

    * загружаться на любой спектрум-совместимой платформе.
    а не исключительно пентагон-скорпион-трдос.

    Иначе смысла в его монолитности -- нуль.

    Как примерно устроен грамотный монолоадер можешь почитать
    по ссылке: http://groups.google.com/group/fido7...19060deec4a106

    НИ ОДНОГО АБСОЛЮТНОГО АДРЕСА. НИКАКИХ СКЛЕИВАНИЙ.
    И ДОЗАГРУЗОК ЧЕРЕЗ ТР-ДОС. Программа прячется в REM строке
    программы ЦЕЛИКОМ. После загрузки программа распаковывается
    или перемещается куда нужно и устанавливается CLEAR.

  2. #12
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    20 clear val "25656":border not piaper not pi:ink val "7":randomize usr val "23810"
    МОЧИТЬ В СОРТИРЕ!

  3. #13
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus
    а всякие бордеры и паперы во вторичном загрузчике роставлять.
    За вторичный загрузчик -- МОЧИТЬ В СОРТИРЕ!

  4. #14
    Guru
    Регистрация
    15.01.2005
    Адрес
    USSR
    Сообщений
    2,038
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Единственное, в чём есть капля смысла в предложении fk0, это проверять наличие других интерфейсов и не стартовать вторичный загрузчик с абсолютного адреса 23872, так как при наличии дополнительных интерфейсов этот адрес может сместиться выше. Но покажите мне хоть один такой комп на просторах xUSSR. А для "зарубежных друзей" давно уже делаются tap-версии.
    А смысла запихивать всё в один REM нет вообще, мы не выигрываем ни в чём, а проигрываем в том, что не можем поставить CLEAR ниже, чем это позволит вся бейсик-программа, грузящаяся сразу, в то время как при наличии вторичного загрузчика вполне можно поставить CLEAR хоть 24499 и грузить потом ещё 40 килобайт выше области стека.

  5. #15
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    * являться ОДНИМ бейсик файлом. Не "склеенном" в коммандере.
    Полноценным бейсиком. Чтоб одним LOAD "" загружаться в
    память.
    МОЧИТЬ! ибо в REM ты не запихнёшь 200кб кода!

    * загружаться на любой спектрум-совместимой платформе.
    а не исключительно пентагон-скорпион-трдос.
    МОЧИТЬ! ибо на моём байт-48 по любому не загрузиться!!!

    Иначе смысла в его монолитности -- нуль.
    Как примерно устроен грамотный монолоадер можешь почитать
    по ссылке: http://groups.google.com/group/fido7...19060deec4a106
    МОЧИТЬ!! ибо

    Цитата Сообщение от fk0
    * загружаться на любой спектрум-совместимой платформе.
    а не исключительно пентагон-скорпион-трдос
    не загрузиться на +D и на моём байт-48 с кассеты!

    НИ ОДНОГО АБСОЛЮТНОГО АДРЕСА. НИКАКИХ СКЛЕИВАНИЙ.
    И ДОЗАГРУЗОК ЧЕРЕЗ ТР-ДОС. Программа прячется в REM строке
    программы ЦЕЛИКОМ. После загрузки программа распаковывается
    или перемещается куда нужно и устанавливается CLEAR.
    ну что ж... после таких громких высказываний могу только пожелать удачи.

    ибо это наводит на мысь что никаких серьёзных программ тебе писать не доводилось.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  6. #16
    Member Аватар для Strunov
    Регистрация
    19.08.2005
    Адрес
    Харьков
    Сообщений
    111
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А все таки, есть ли способ, если программа не очень большая (кил 10),
    засунуть ее в REM строку всю и передать ей управление так, чтобы работало на любом Spectrum совместимом компе, с любыми подключеными девайсами?????

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

  8. #17
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да.
    когда загружается бейсик, вычисляешь адрес начала бейсика (PROG вроде или ещё что там, помнил бы сам- не спрашивал бы )
    прибавляешь туда смещение от начала бейсика до твоих кодов
    и далее:

    Код:
            di
            ld a,201    ; ret
            ld (#9000),a
            call #9000
    lbs     dec sp
            dec sp
            pop hl
            ld de,lbe-lbs
            add hl,de
            ld de,#9000
            ld bc,pre-prs
            ldir
            jp #9000
    lbe
            disp #9000
    prs     ld sp,#9000
            ....
            .. your programm ..
            ....
    pre
    не зависин ни от ПЗУ ни от подключённых девайсов... вааще ^_~
    только может надо будет не в #9000 а повыше пихать прогу.

    да, после старта проги прерывания желательно переопределить и ПЗУ вааще не пользоваться.

    тогда 100% везде будет работать.

    зы. а оно надо? в нашем TR-DOS-ном мире ?
    Последний раз редактировалось Sinus; 07.02.2006 в 14:19.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  9. #18
    Guru
    Регистрация
    15.01.2005
    Адрес
    USSR
    Сообщений
    2,038
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Strunov
    А все таки, есть ли способ, если программа не очень большая (кил 10),
    засунуть ее в REM строку всю и передать ей управление так, чтобы работало на любом Spectrum совместимом компе, с любыми подключеными девайсами?????
    (23635) PROG

    Соответственно, считываешь слово с этого адреса (PEEK 23635 + 256*PEEK 23636). В компе с TR DOS будет 23867, а первый байт после REM - по адресу 23872. Если есть ещё интерфейсы, PROG будет указывать на более высокий адрес.

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

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

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

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

Ваши права

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