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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Загрузка вставка экрана заставки *.scr перед самой игрой

  1. #1
    Member Аватар для romancha
    Регистрация
    29.03.2017
    Адрес
    г. Чаплыгин
    Сообщений
    111
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Загрузка вставка экрана заставки *.scr перед самой игрой

    Всем доброго дня! Подскажите как реализовать загрузку экрана заставки перед самой игрой? (вроде бы ранее было все просто, эдак во времена загрузки с магнитофона). Формат файла экрана *.scr (6912 кб). Компилирую игру кросс-ассемблером SjAsmPlus в образ TRD. Спасибо!

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

  3. #2
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,198
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    130 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    load"filename"code16384?
    В правильно заданном вопросе содержится половина ответа

  4. #3
    Member Аватар для romancha
    Регистрация
    29.03.2017
    Адрес
    г. Чаплыгин
    Сообщений
    111
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    load"filename"code16384?
    ммм все правильно, но загружать не планирую с кассеты) надо как то скомпилить в образ дискеты TRD

  5. #4
    Veteran
    Регистрация
    03.07.2007
    Адрес
    Мариуполь-Киев
    Сообщений
    1,112
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    RANDOMIZE USER 15619 : REM : LOAD "filename" CODE 16384 , 6912 без пробелов и можно без 6912
    Последний раз редактировалось alvis; 16.01.2019 в 16:14.

    Скрытый текст


    Profi 6.2 Rev.B / 1024
    Profi v5.02 /1024/палитра/FDD3,5"/FDD5,25"/HDD130/XT-Keyb/Covox
    Profi v4.00 /1024
    АТМ Turbo /512/ - собран но еще не запускался
    ATM Turbo 2+ v7.10 - собран на 80%
    Pentagon 128 - в планах восстановить (раскуроченная плата)
    ZXMC20/NemoIDE/AT-Keyb (by Caro)
    Revers U8EP3C
    Speccy2010, r2
    [свернуть]

  6. #5
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,198
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    130 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так кодовый блок самой игры как-то получается загрузить? Здесь так-же.
    randomize usr 15619:rem:load"filename"code16384 (load"filename"screen$ в tr-dos не работает!).
    В правильно заданном вопросе содержится половина ответа

  7. #6
    Member Аватар для romancha
    Регистрация
    29.03.2017
    Адрес
    г. Чаплыгин
    Сообщений
    111
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Так кодовый блок самой игры как-то получается загрузить? Здесь так-же.
    randomize usr 15619:rem:load"filename"code16384 (load"filename"screen$ в tr-dos не работает!).
    Я так понимаю, в загрузчик добавить ниже выделено красным?

    ; этот модуль содержит бэйск-загрузчик
    ; поскольку SjAsm не умеет компилировать текст на бэйсике в файл, понятный ZX Spectrum,
    ; придется определять содержимое этого файла побайтно директивой defb (db)

    MODULE boot

    ; коды токенов бэйсика
    RANDOMIZE EQU #0f9
    USR EQU #0c0
    REM EQU #0ea
    LOAD EQU #0ef
    CODE EQU #0af
    CLEAR EQU #0fd
    NUMERIC EQU #0e ; символ, оределяющий 5-юайтное представление числа
    ENTER EQU #0d ; код символа конца строки
    TRD_ENTRY EQU #3d03 ; адрес точки входа в ПЗУ TR-DOS (15619)


    ; далее формируется такая бэйсик-программа (в квадратных скобках - реальные значения числовых констант, записываемых в
    ; 5-байтное представление
    ; 1 CLEAR 0 [CodeStart - 1]: RANDOMIZE USR 0 [15619]: REM : LOAD "<TRDosFileName>" CODE
    ; 2 load"filename"code16384
    ; 3 RANDOMIZE USR 0 [CodeStart]

    Basic:
    DB #00, #01 ; номер строки
    DW EndLine1 - Line1 ; длина строки
    Line1:
    DB CLEAR, "0", NUMERIC, #00, #00, low (CodeStart - 1), high (CodeStart - 1), #00, ":" ; текст строки 1
    DB RANDOMIZE, USR, "0", NUMERIC, #00, #00, low TRD_ENTRY, high TRD_ENTRY, #00, ":"
    DB REM, ":"
    DB LOAD, """
    DB TRDOSFileName
    DB """, CODE, ENTER
    EndLine1: ; номер строки
    DB #00, #02 ; длина строки
    DW EndLine2 - Line2
    Line2:
    DB RANDOMIZE, USR, "0" ; текст строки 2
    DB NUMERIC, #00, #00, low CodeStart, high CodeStart, #00, ENTER
    EndLine2:
    EndBasic:

    ENDMODULE

  8. #7
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,671
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    321
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    влоб, на ужасме у мну всегда так
    Код:
    ;================================    
                  org 16384		
    screens:     incbin  "podlodkafin.scr" 
    ;================================
    более интереснее , грузим упакованный экранный файл пофиг куда, и расжимаем в экранную область. Viola
    ну да, ето для случая, если не подгружать с диска.
    Последний раз редактировалось zebest; 16.01.2019 в 16:44.
    Profi v3.2 -=- Speccy2010,r2

  9. #8
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,198
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    130 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    romancha, только randomize usr 15619:rem: всё-таки надо поставить. И картинку лучше грузить до кодового блока. И уж для полного счастья полезно перез запуском кодового блока сделать ожидание нажатия любой клавиши, чтобы успеть насладиться заставкой:
    Код:
    1 CLEAR [CodeStart - 1]: RANDOMIZE USR [15619]: REM : LOAD "заставка" CODE 16384
    2 RANDOMIZE USR [15619]: REM : load "код" code
    3 pause 0: RANDOMIZE USR [CodeStart]
    Хорошим тоном считается компрессия заставки (и кодов!), соответственно:
    Код:
    1 CLEAR [CodeStart - 1]: RANDOMIZE USR [15619]: REM : LOAD "заставка" CODE
    2 RANDOMIZE USR [адрес запуска распаковки заставки] + USR [15619]: REM : load "код" code
    3 pause 0: RANDOMIZE USR 0 [CodeStart]
    В правильно заданном вопросе содержится половина ответа

  10. #9
    Member Аватар для romancha
    Регистрация
    29.03.2017
    Адрес
    г. Чаплыгин
    Сообщений
    111
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Red face

    Вроде бы все понятно, и все равно запутался. Прошу разжевать, попытки прописать LOAD "2.scr" CODE 16384 в бэйсик загрузчик безуспешны) Имеется главный файл проекта Sample.a80, Code1.a80 - сама игра, 2.scr - экран заставка (лежит в этой же директории), бэйсик загрузчик boot.a80

    Sample.a80

    Скрытый текст



    ; главный файл проекта - именно он отправл¤етс¤ на компил¤цию ассемблером

    DEVICE ZXSPECTRUM48 ; определ¤ет модель пам¤ти
    MODULE Sample ; главный модуль называетс¤ Sample
    ; несколько констант, подставл¤ющихс¤ вместо их имен прикомпил¤ции
    DEFINE DiskName "Sample.trd" ; им¤ образа диска, получающегос¤ прикомпил¤ции (этот файл будет запускатьс¤ bat-ником start.bat)
    DEFINE BasicFileName "boot.B" ; им¤ бейсик-файла программы на образе дискеты (boot.B, чтобы запускалс¤ автоматически)
    DEFINE CodeFileName "sample.C" ; им¤ кодового файла на образе дискеты
    DEFINE TRDOSFileName "sample" ; им¤ кодового файла без расширени¤ (дл¤ вставки в бэйсик-загрузчик)
    DEFINE CodeStart 24576 ; адрес компил¤ции (и запуска) кодового файла
    EMPTYTRD DiskName ; создание (или затирание существующего) пустого образа дискеты

    ORG #5d3b ; это адрес, с которого начинаетс¤ бэйсик-программа при подключенном TR_DOS
    INCLUDE "boot.a80" ; включаем сюда текст модул¤ boot.a80 - текста бейсик-программы
    SAVETRD DiskName, BasicFileName, boot.Basic, boot.EndBasic - boot.Basic ; запись бейсик-программы на образ дискеты

    ORG CodeStart ; компил¤ци¤ кодового файла
    INCLUDE "Code1.a80" ; включение текста модул¤ Code.a80 дл¤ его компил¤ции с адреса CodeStart (определ¤етс¤ директивой ORG)

    CodeEnd: ; конец кода

    SAVETRD DiskName, CodeFileName, CodeStart, CodeEnd - CodeStart ; запись на образ дискеты файла sample.C с откомпилированным кодом
    ENDMODULE
    [свернуть]


    boot.a80

    Скрытый текст


    ; этот модуль содержит бэйск-загрузчик
    ; поскольку SjAsm не умеет компилировать текст на бэйсике в файл, понятный ZX Spectrum,
    ; придется определять содержимое этого файла побайтно директивой defb (db)

    MODULE boot

    ; коды токенов бэйсика
    RANDOMIZE EQU #0f9
    USR EQU #0c0
    REM EQU #0ea
    LOAD EQU #0ef
    CODE EQU #0af
    CLEAR EQU #0fd
    NUMERIC EQU #0e ; символ, оределяющий 5-юайтное представление числа
    ENTER EQU #0d ; код символа конца строки
    PAUSE EQU #0f2
    TRD_ENTRY EQU #3d03 ; адрес точки входа в ПЗУ TR-DOS (15619)


    ; далее формируется такая бэйсик-программа (в квадратных скобках - реальные значения числовых констант, записываемых в
    ; 5-байтное представление
    ; 1 CLEAR 0 [CodeStart - 1]: RANDOMIZE USR 0 [15619]: REM : LOAD "<TRDosFileName>" CODE
    ; 2 RANDOMIZE USR 0 [CodeStart]

    Basic:
    DB #00, #01 ; номер строки
    DW EndLine1 - Line1 ; длина строки
    Line1:
    DB CLEAR, "0", NUMERIC, #00, #00, low (CodeStart - 1), high (CodeStart - 1), #00, ":" ; текст строки 1
    DB RANDOMIZE, USR, "0", NUMERIC, #00, #00, low TRD_ENTRY, high TRD_ENTRY, #00, ":"
    DB REM, ":"
    DB LOAD, """
    DB TRDOSFileName
    DB """, CODE, ENTER
    EndLine1: ; номер строки
    DB #00, #02 ; длина строки
    DW EndLine2 - Line2
    Line2:
    DB RANDOMIZE, USR, "0" ; текст строки 2
    DB NUMERIC, #00, #00, low CodeStart, high CodeStart, #00, ENTER
    EndLine2:
    EndBasic:

    ENDMODULE
    [свернуть]



    Заранее Благодарю!

  11. #10
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,671
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    321
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от romancha Посмотреть сообщение
    Прошу разжевать
    Как то у тебя сложно с басик-загрузчиком. По идее в него добавить одну строку с загрузкой картинки , и все.
    ну вот пример моего *вно-загрузчика


    смотрим 100 и 110 строку.
    100 - грузит картинку, 110 - сам код. Все.
    а, ну да, 120 - запускает его))
    дальше там по кругу, картинка-код. Куда проще.

    Цитата Сообщение от romancha Посмотреть сообщение
    попытки прописать LOAD "2.scr" CODE 16384 в бэйсик загрузчик безуспешны
    думаю на имени файла и спотыкаеЦЦа твоя безуспешная попытка )
    Последний раз редактировалось zebest; 17.01.2019 в 10:42.
    Profi v3.2 -=- Speccy2010,r2

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

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

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

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

Похожие темы

  1. Вставка AY музыки в программу
    от molodcov_alex в разделе Программирование
    Ответов: 65
    Последнее: 01.07.2021, 15:50
  2. Ответов: 10
    Последнее: 29.01.2016, 09:28
  3. Hyper Active с музыкой в самой игре?
    от tnt23 в разделе Софт
    Ответов: 0
    Последнее: 25.10.2006, 21:30
  4. Самой худшой музыкант на Спектруми?
    от C-jeff в разделе Музыка
    Ответов: 29
    Последнее: 15.03.2006, 07:55

Ваши права

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