PDA

Просмотр полной версии : Загрузчик 48К и заставка



yazhivoy
02.03.2021, 19:24
Привет, друзья.
Подскажите, пожалуйста. При загрузке программы на basic48 с экранной заставкой появляется черная полоса поверх картинки. Можно ли её убрать? Если да, то как?
Образ собираю в ZX-Blockeditor. Заставка будет другая (если решите посоветовать сменить ink 0 на ink 7 в загрузчике)

Black Cat / Era CG
02.03.2021, 19:34
Это там у вас имя загружаемого файла просто пишется, но черными чернилами и на черном фоне.

yazhivoy
02.03.2021, 19:46
Black Cat / Era CG, а можно ли убрать как-то как в профессиональных играх? А то после загрузки надпись так и остаётся.

ZX_NOVOSIB
02.03.2021, 20:04
yazhivoy, можно. Добавь перед загрузкой POKE 23739, 111

goodboy
02.03.2021, 20:08
Добавь перед загрузкой POKE 23739, 111
это (если не ошибаюсь) перенаправление печати вместо экрана на принтер,
после (для корректного отображения информации) его надо возвращать назад

Black Cat / Era CG
03.03.2021, 00:06
Проще всего конечно нужные строчки замаскировать атрибутами на заставочной картинке. А можно еще в Бейсик загрузчик затолкать за REM загрузчик на асме, который будет грузить блоки, и ничего выводить не будет, и вызывать его.

Gutten
03.03.2021, 00:10
что-то мне вспоминается, что на скорпе такой фокус с перенаправлением на принтер не работал - комп ждал ответа от принтера, а его не было. Но на Ленине, где порта принтера не было, такой фокус работал.

morozov
03.03.2021, 00:11
это (если не ошибаюсь) перенаправление печати вместо экрана на принтер,

Вроде как да. Всегда интересовало, что будет, если принтер-таки подключен? Вроде ж повсеместно используется, неужели никто в своё время не жаловался, что у них принтер пишет Bytes: Blah-Blah при загрузке.

А вот сверху уже ответили.

jerri
03.03.2021, 09:53
Вроде как да. Всегда интересовало, что будет, если принтер-таки подключен? Вроде ж повсеместно используется, неужели никто в своё время не жаловался, что у них принтер пишет Bytes: Blah-Blah при загрузке.

А вот сверху уже ответили.

23739,111 это не принтер. это подмена процедуры печати на ret.
такой вариант прекрасно работал на скорпионах

другой вариант намертво вешал скорпион. не помню конкретных поков.

goodboy
03.03.2021, 11:06
вспомнилось про poke 23570,16 (подробностей не помню)

jerri
03.03.2021, 11:52
вспомнилось про poke 23570,16 (подробностей не помню)

ага это оно и есть - перенаправление на принтер. На дельте подвисало на секунду, скорпион вешался намертво.

Гаррий
03.03.2021, 12:00
ага это оно и есть - перенаправление на принтер. На дельте подвисало на секунду, скорпион вешался намертво.

а как оригинал реагировал, интересно?..

jerri
03.03.2021, 12:24
а как оригинал реагировал, интересно?..

как и дельта нормально
это в Скорпионовском пзу пофиксили чтото

Gutten
03.03.2021, 12:35
я думаю, скорп честно ждал сигнала /BUSY, чтобы вывести тект на принтер.

yazhivoy
03.03.2021, 13:37
его надо возвращать назад
получилось убрать bytes, вернул назад POKE. Но теперь не могу из запускаемой программы поместить поверх заставки какой-либо текст.
Текст загрузчика:

10 BORDER 0: PAPER 0: INK 0: CLS
15 LET x=PEEK 23739: POKE 23739,111
20 LOAD "screen"SCREEN$ : INK 7: PAPER 7: LOAD "myprog"
30 INK 0: POKE 23739,x

- - - Добавлено - - -

загрузка программы (print "hello")

1 - без poke
2 - с poke

jerri
03.03.2021, 14:36
получилось убрать bytes, вернул назад POKE. Но теперь не могу из запускаемой программы поместить поверх заставки какой-либо текст.
Текст загрузчика:

10 BORDER 0: PAPER 0: INK 0: CLS
15 LET x=PEEK 23739: POKE 23739,111
20 LOAD "screen"SCREEN$ : INK 7: PAPER 7: LOAD "myprog"
30 INK 0: POKE 23739,x

- - - Добавлено - - -

загрузка программы (print "hello")

1 - без poke
2 - с poke

у тебя загрузилась старая программа
и подчеркнутое не выполняется

yazhivoy
03.03.2021, 15:01
jerri, поместил в блок программы, теперь работает.

Destr
04.03.2021, 08:09
Лайфак для печати через принтерные приблуды буквами двойной высоты тоже не работало на скорпе (на композите и пентагоне - работало)...