Разработка и ромхакинг > Ромхакинг и программирование
[ZX Spectrum] Автозапуск программы на бэйсике
(1/1)
Mad:
Полный нуб в программировании, ради интереса ковыряю и пытаюсь разобраться в простеньких примерах программ на бэйсике для спектрума. Возник вопрос - как, собственно, сделать автоматическую загрузку программы с кассеты? То есть, например, в 128кб Спектруме нажал на Tape Loader и программа загрузилась (Сейчас просто грузится текст с программой в бэйсик Спектрума, нужно туда заходить и набирать RUN). Я так понял, что нужно сделать загрузчик? Есть какой-нибудь самый простой универсальный вариант, без всяких картинок в загрузке и прочих плюшек?
blackoff:
в 128 вроде run это для trdos ,load ""  это для ленты ,ну или tape loader проще нет
Mad:

--- Цитата: blackoff от 29 Апрель 2020, 15:46:54 ---в 128 вроде run это для trdos ,load ""  это для ленты ,ну или tape loader проще нет

--- Конец цитаты ---
У меня программа, написана в бэйсике на Спеке, сохранена на кассете. Если я сделаю load или нажму Tape Loader, то программа загрузится в бэйсик в виде текста, нужно будет зайти в бэйсик и выполнить RUN. А мне нужно, чтобы программа автоматически стартовала стартовала, когда делаешь LOAD или нажимаешь Tape loader.
blackoff:

--- Цитата: Mad от 29 Апрель 2020, 16:00:15 ---написана в бэйсике на Спеке
--- Конец цитаты ---
скинь посмотреть ,вспомнить молодость =)  ,там же по идее и идет выполнение по строкам автоматом ,я как то и в коде делал загрузчик  ,без заголовка грузить
Rumata:
Вот тоже ничего не помню :) По load"" программа просто грузится, так и должно быть.
Что-то первое, что вспомнилось, randomize usr :-\

Надо мануал брать :)
blackoff:

--- Цитата: Rumata от 29 Апрель 2020, 16:20:12 ---randomize usr
--- Конец цитаты ---
и адрес xxxxx ,это уже код в адресе памяти запустить ,обычно шли в конце после загрузки кодового блока
Rumata:
Ну да, так первое, что вспоминается - это загрузчик игры с ленты. С ними в основном и приходилось дело иметь. А вот что бы чисто BASIC... нет, что-то писал, но не помню
blackoff:
не совсем понятно что тс хочет ,ибо строки бейсика выполнялись автоматом ,по порядку ,сразу после загрузки ,чего у него не работает ,хз
Rumata:
Сохранять игру на ленту нужно через SAVE LINE

Добавлено позже:
blackoff, он хочет автозапуск, без нажатия RUN
Rumata:
Возможно нужно в явном виде указать номер строки, типа SAVE LINE 10
blackoff:

--- Цитата: Rumata от 29 Апрель 2020, 16:35:58 ---он хочет автозапуск, без нажатия RUN
--- Конец цитаты ---
run или run XX можно вписать последней строкой или go to XX,где хх номер строки  ,глянуть бы, если код в бейсике он и так должен выполниться после загрузки ,вот насколько помню
Rumata:
А вот не уверен. Просто загрузка просто загрузит, это вполне логично, и исполнять ничего не будет. Ведь никто не знает, зачем ты грузишь программу, может просто для редактирования
То есть после загрузки получаешь просто ОК. А дальше - хочешь - RUN, не хочешь - LIST
blackoff:
Rumata, точно ,флаг таки есть
--- Цитата: Rumata от 29 Апрель 2020, 16:35:58 ---Сохранять игру на ленту нужно через SAVE LINE
--- Конец цитаты ---
Можно записать программу на магнитофон таким образом, что-
бы после загрузки для ее запуска не требовалось выполнения
оператора RUN. А в этом действительно есть необходимость. Ведь
наша программа должна быть рассчитана на непросвещенного
пользователя, от которого грех требовать выполнения даже такого
элементарного действия, как запуск программы.

Для обеспечения автоматического старта при загрузке програм-
мы (автостарта) к оператору SAVE нужно добавить ключевое
слово LINE с указанием строки старта:

SAVE "DOLLAR" LINE 1
Mad:

--- Цитата: blackoff от 29 Апрель 2020, 16:08:02 ---скинь посмотреть ,вспомнить молодость =)  ,там же по идее и идет выполнение по строкам автоматом ,я как то и в коде делал загрузчик  ,без заголовка грузить

--- Конец цитаты ---
Да просто программа из книжки например, нужно, чтоб она автоматически запускалась при загрузке с кассеты
MetalliC:
Mad, выше уже дали правильный ответ
SAVE "имя" LINE строка

где строка - номер строки с которой запускать программу
Mad:

--- Цитата: blackoff от 29 Апрель 2020, 17:01:21 ---Rumata, точно ,флаг таки есть Можно записать программу на магнитофон таким образом, что-
бы после загрузки для ее запуска не требовалось выполнения
оператора RUN. А в этом действительно есть необходимость. Ведь
наша программа должна быть рассчитана на непросвещенного
пользователя, от которого грех требовать выполнения даже такого
элементарного действия, как запуск программы.

Для обеспечения автоматического старта при загрузке програм-
мы (автостарта) к оператору SAVE нужно добавить ключевое
слово LINE с указанием строки старта:

SAVE "DOLLAR" LINE 1
--- Конец цитаты ---
Спасибо, получилось. А откуда инфа, я б почитал.
blackoff:

--- Цитата: Mad от 29 Апрель 2020, 18:22:49 ---А откуда инфа
--- Конец цитаты ---
отсюда
MetalliC:
кстати хорошая книжка, от издательства "Питер" сплошная годнота была. в отличие от "Солон" и прочих с тупо переводами английской литературы, и не всегда лучшего качества.
Rumata:

--- Цитата: MetalliC от 29 Апрель 2020, 18:44:46 ---кстати хорошая книжка,
--- Конец цитаты ---
Дык. Под редакцией Родионова и Ларченко. Хотя оригинальный мануал (Викерс, кажется) тоже неплох и примеры интересные. Жаль в самиздатовском варианте опечаток много
Московский Инфорком кроме ZX-ревю интересные книжки издавал, правда, тоже самиздатом.
Навигация
Главная страница сообщений

Перейти к полной версии