Вход

Просмотр полной версии : Best case для загрузки TAP в режиме 128к



Epsilon
26.01.2016, 23:03
Друзья, чёто я совсем запамятовал - можно ли как-то грузить программы, которые предназначены для запуска в режиме 128к с загрузчиком под TAP из бейсика не переходя в код?

Я помню, что basic 128 сам ставит свои страницы в C000 как хочет, поэтому просто сделать OUT 32765 с нужной мне страницей и загрузить туда LOAD "" CODE 49152 не получится. А как правильно? Или спрятать в бейсике код из которого грузить данные в нужные мне страницы - это единственный выход?

Пытаюсь сделать универсальный загрузчик на basic, который можно было бы генерить программно из IDE. Например, мне нужно загрузить 2000 байт в RAM 3, потом 3000 байт в RAM 4 и 6000 байт в RAM 7. Я задаю какой-нибудь конфиг и тулза сама мне делает BASIC-файл под заданные бинарники.

creator
26.01.2016, 23:23
Epsilon, конструкция "POKE 23388, X: OUT 32765, X" будет работать и в интерпретаторе BASIC128 и в интерпретаторе BASIC48 c открытыми портами.

Ещё рекомендуют между POKE и OUT ставить PAUSE 1, для надёжности.

Epsilon
26.01.2016, 23:43
Epsilon, конструкция "POKE 23388, X: OUT 32765, X" будет работать и в интерпретаторе BASIC128 и в интерпретаторе BASIC48 c открытыми портами.

Ещё рекомендуют между POKE и OUT ставить PAUSE 1, для надёжности.

Для седьмой страницы тоже?

Alex Rider
28.01.2016, 20:01
Ещё рекомендуют между POKE и OUT ставить PAUSE 1, для надёжности.
Да не обязательно ставить паузу. После PAUSE 1 можно не делать OUT - в PAUSE обязательно исполняется 1 halt. Страницы можно любые втыкать. Только надо сделать CLEAR n где n < 49152.

creator
28.01.2016, 21:01
Да не обязательно ставить паузу.
Я никогда не ставил.

После PAUSE 1 можно не делать OUT - в PAUSE обязательно исполняется 1 halt.
Ещё раз внимательно перечитай:

конструкция "POKE 23388, X: OUT 32765, X" будет работать и в интерпретаторе BASIC128 и в интерпретаторе BASIC48 c открытыми портами
OUT нужен для интерпретатора BASIC48 c открытыми портами.

Alex Rider
28.01.2016, 23:34
OUT нужен для интерпретатора BASIC48 c открытыми портами.
Ага, точно. Не додумал до этого.