Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Splinter, ссылки нет. Если где и есть, так это на моих старых кассетах. Написал его один мой друг в начале 90-х.
Если удастся найти, выложу. Он вообще занимает мало места.
Можно и самому написать, принцип ведь я описал.
Понятие псевдозагрузчика применимо только к дисковым лоадерам. это имитация загрузки с ленты на высокой скорости.
В случае когда экран строится произвольным образом - ето не псевдозагрузчик. Тама экранный файл записан в формате типа (адрес знакоместа на экране),(8байт данных),(1байт атрибутов) и все это в процессе загрузки выводится на экран.
Примеры тому - chronos, mikie, transformers, future games1&2, battle of planets и куча других.
Когда я впервые увидел IBM-PC, то очень понравилась полоска копирования (progress bar) в Dos Navigator. Сразу захотелось повторить на спеке (см.прицеп).
Смешной типа код. Сделано в Генсе. Сразу вставил в загрузчик самого Gens3m21, а потом и в артстудию.
Spectrum Basic
1. У Вас подписано "Scorpion ZS 256 Turbo+", значит и реальник имееется. Потому что в эмуляторах я не тестил.
2. !linload.$c и !load-iy.$c, это текстовые файлы так что дизасмить ничего не нада. ((
Открываю текст !LINLOAD и попробую что-то вспомнить (все-таки 10 лет назад печатал
У меня реальник ремонтируется, что что откомментить абсолютно точно не смогу.
Подпрограмма "LOAD" повтряет некторую часть кода из ПЗУ с адреса 1366 (dec), т.о. я смог что-то поменять в стандартной загрузке.
Итак:ORG 30000
* готовим экран
* выводим текст " LOADING FILE "
* далее "DRAW ", похоже что рисую логотип
METKA LD IX,55000; куда грузить
LD DE,30960: объем байт
LD A,255; код загрузки а не SAVE
SCF
CALL LOAD; вызываем нашу загрузку
меточка "M11", сразу хочу предупредить, работал один и код мой никому не нужен был, так что названия меток безобразные.
Объем файла математикой делится на 32 что ли, по числу знакомест по горизонту (или 30?) и кодом "PRINT" зарисовывается очередное знакоместо.... а, ну правильно - SUB 4, как раз вычитаем и прописываем.
Программуля "!LINLOAD" (восклицательный знак в Спеке давал асмовым исходам, чтобы не путать проги и тексты) создавалась как универсальное средство загрузки (только объемы подставляй и адреса загрузки), а "!load+IY" стал использовать из-за того, что на индексных регистрах это было удобнее:
METKA LD IX,40000;16384 - грузим скрин или картинку-самораспаковку по адресу 40к(dec)
LD DE,6912 - объемом 6к
LD IY,23233 - начало координат для прорисовки прогрессбара.
"DANGER" - юзер давит "бряк" и мы отключаем строчку EDIT (т.е. подвисаем, типа защита от взлома
На самом деле все очень просто, а если не понятно, отмылю письмом, откомментив каждую строчку (правда не обещаю, что сделаю это в ближайшее время)
Добавлено через 8 часов 22 минуты
Вообще-то я был не прав, что разместил исходники в раздел "Для начинающих" без каких-либо комментов. Исправлюсь.
Последний раз редактировалось Vovoi; 07.08.2007 в 01:11. Причина: Добавлено сообщение
Spectrum Basic
Помню, мы с братом написали самый крутой загрузчик в мире:
- внизу экрана шла полоска шириной 4 пикселя
- справа налево летели звезды (точки), за счет того, что у разных точек была своя скорость (8, 16, 24 или 32 пикселя) создавался эффект трехмерности
- два знакоместа переливались желтым и красным (там я думал нарисовать ракету как в Academy Tau Ceti, как будто она летит через звезды)
- и все это выполнялось по времени ровно столько (такт в такт), сколько пустой цикл в стандартном загрузчике.
А еще я сделал загрузчик, который воспроизводил двухголосую музыку. Движок взял из игры trans am и немного переделал (убрал ударники и сделал синхронизацию с учетом длинной единицы и короткого нуля). Все это опять таки уложилось в заданное количество тактов.
Последний раз редактировалось Shwartz; 01.09.2007 в 23:03.
Исходники в студию ! Пажалуйста !
а я на 128м спеке пробовал так:
1) грузил 2 экрана, один ч.б., другой в цвете
2) вместа переключения цвета бордера менял в загрузчике код на переключение
экрана, 4 NOP и обратно. Довольно мило получалось 8))))
Добавлено через 1 минуту
кстати, дико хотел сделать лодер с анимацией, что б в уголке внизу крутилась кассетка 2*3 знакомест... так и не дошли ручки....
Последний раз редактировалось Splinter; 09.10.2007 в 10:39. Причина: Добавлено сообщение
Без UnReal пришлось бы долго биться об стену.[/QUOTE]
Нда раньше ручками-ручками СТС 3 и 5 для кассет вот так вот
А сир фред даже и ломать то не надо там все очень просто
Загрузчик
сначала картинка:
1,2 байт - адрес на екране
8 байт - рисунок
9,10- адрес атрибутов
11,-атрибут
так весь рисунок
а потом моноблоком и сама игра и запуск !!! Во тебе и 48 килобайт !!!!!! ГЫ!!!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)