ZXNet эхоконференция «zxnet.soft»


тема: как запустить $В в реале?



от: Alex Freed
кому: All
дата: 17 Nov 2005
Hello, All

Hе бейте за глупые вопросы: я со Спеком мало знаком.

Имеется фаил TEST4-30.$B. Замечательно пускается в эмуляторе. А мне
надо на железе. Кроме магнитофонного порта ничего нет.
Запускать TAP я научился. Вопрос как перекодировать?

Я так понимаю что $B это "хобетный" файл. Видимо basic-запускалка.

Попробовал в emuzwin сделать сохранение в виде TAP но он не грузится.
Причем файл меньше исходного $B - подозрительно.

от: SMT
кому: All
дата: 17 Nov 2005
Hello, alexfreed

скорее всего, моноблок. то есть маленький бейсик-загрузчик + приклеенные
сектора программы. чтобы перевести в ленту, без небольшой ручной работы не
обойтись

от: Vlad Semchenko
кому: All
дата: 17 Nov 2005
Hello, alexfreed

Если есть реал, тогда сохраняется файл на MS-DOS диск, запускается на спеке
утилитка TRMSHOB (есть на trd.speccy.cz), и просто выполняется копирование
файла с MS-DOS диска на TR-DOS. Есть и другие проги, в частности можно файл
сначала в SCL загнать и вытянуть на Спеке соответствующей утилитой. В крайнем
случае можно любым способом перегнать файл в TR-DOS, и обрезать первые (кажется
13 байт), а то, что останется записать как файл.B.
Можно еще на PC под MS-DOS (или в режиме эмуляции DOS под Win) запустить
Spectrum Navigator и открыв файл с PC диска (винта) скопировать его на TR-DOS
дискету. Под NT (Win2000, WinXP) может не пойти.

от: Владимир Кладов
кому: All
дата: 17 Nov 2005
Hello, spensor

а как вы его в .TAP сохранили? Есть File | Save as... выбираем .TAP - через
EmuZWin Loader. Это аналог кнопки magic - для сброса в формат .TAP, а не на
диск. Если он после этого грузится в эмулятор, то размер значения не имеет :) И
тогда можно попробовать его сбросить на ленту, чтобы загрузить в реал.

от: Alex Freed
кому: All
дата: 18 Nov 2005
Hello, Vladimir Kladov

Vla> Есть File | Save as... выбираем .TAP - через EmuZWin Loader. Если он
Vla> после этого грузится в эмулятор, то размер значения не имеет :)

Так и делал. Только в эмулятор не грузился. И видимо размер значение имеет: ТАР
это все байты програмы плюс заголовок. По идее моноблок должен быть того же
порядка...

А кто просветит: как делаются моноблоки? С ленты все понятно:
LOAD "ABCD" CODE ... а дальше данные. А как $В файл устроен?

А не против ручками пересобрать, но надо знать формат исходного файла.

от: Alex Freed
кому: All
дата: 18 Nov 2005
Hello, caro

car> Два варианта преобразования тестовой
car> программы test4_30.$B в TAP-формат:
car>

Спасибо, Камиль, но к сожалению похоже ни один метод не проходит.
Пытаюсь для начала загрузить в эмулятор. EmuZWin v2.7

Если эмулируется пентагон с TRDOS, то все хорошо. А если просто
128, то оба варианта вешают комп, но по разному. Hаверное либо в самом тесте
что то завязано на TRDOS, либо при сохранении остаются какие то
обращения. Если будет время, попробую проследить в эмуляторе.

Раз эмулятор виснет, не удивительно что железка тоже. А жаль - хотел
проверить свое расширение памяти.

Может еще кто тесты знает?

от: SMT
кому: All
дата: 18 Nov 2005
Hello, alexfreed

ale> кто просветит: как делаются моноблоки

бейсик-загрузчик имеет вид
1 REM ... (коды)
2 run usr 23xxx
в кодах читается NN секторов, начиная от текущего сектора, на котором
закончился этот бейсик (есть такая переменная TR-DOS), после чего JP start
после бейсика сразу пишется кодовый файл. а потом эти 2 файла склеиваются в
один. поле "длина в секторах" - сумма длин 2х файлов, а "длина в байтах"
остаётся как у первого файла-загрузчика, чтобы в память грузилось начало, имя
файла - от первого файла

так что нужно ставить break перед запуском кодового блока и сохранить блок в
отдельный файл

от: Камиль Каримов
кому: All
дата: 18 Nov 2005
Hello, alexfreed

ale> "Кроме магнитофонного порта ничего нет." И другого реала тоже нет.

Два варианта преобразования тестовой
программы test4_30.$B в TAP-формат:
1) Файл test4_30.tap получен сохранением
области памяти с адреса 6000h до 9400h
после загрузки и запуска теста в эмуляторе
Unreal.
Запускается так:
LOAD "" CODE : RANDOMIZE USR 24576

2) Файл test430.tap получен по рекомендации
Владимира Кладова загрузкой теста в эмуляторе
EmuzWin и сохранением программы в TAP формате.
Запускается так:
LOAD ""

Файл: test430.zip http://zx.pk.ru/attachment.php?attachmentid=1960

от: Alex Freed
кому: All
дата: 18 Nov 2005
Hello, SMT

SMT> бейсик-загрузчик имеет вид
SMT>

Боюсь не понял.

1 REM ... (коды)
2 run usr 23xxx

вроде Basic фаил содержит все коды? Тогда почему говорим о двух склеяных
фаилах? Может документ где есть? Собственно я хочу понять как
извлечь чистые коды из .$B файла. Чтобы с ленты грузить. Диска у меня
пока не предвидится :(

от: SMT
кому: All
дата: 18 Nov 2005
Hello, alexfreed

> вроде Basic фаил содержит все коды

нет, только код загручика. обычно бейсик занимает 1-2 сектора

> Может документ где есть?

слишком стандартное и очевидное решение, применяемое практически во всех
дисковых программах, чего уж тут документировать

> Собственно я хочу понять как извлечь чистые коды из .$B файла

отрезать hobeta-заголовок. посмотреть длину бейсика. если менее 256 байт, то
откусить от файла 1 сектор с начала, менее 512 - 2 сектора и т.д. всё
оставшееся - кодовый блок. адрес загрузки и запуска смотрим под эмулятором
внутри загрузчика

от: Vlad Semchenko
кому: All
дата: 21 Nov 2005
Hello, alexfreed

ale> "Кроме магнитофонного порта ничего нет." И другого реала тоже нет.

Sorry, за невнимательность:(

ale> Hаверное либо в самом тесте что то завязано на TRDOS, либо при
ale> сохранении остаются какие то
ale> обращения.

Это вряд-ли. Hасколько помню, прога достаточно умная и незамороченная. Чтоб ее
запустить достаточно было загнать кодовый блок в память и сделать USR на первый
адрес загрузки. Критичной завязки на что бы то не было там нет. У меня на ленте
(если она еще "живая") находится этот тест (может быть v4.20, что в данном
случае не принципиально). Если кто нибудь подскажет как загнать файл с ленты в
PC, то попробую предоставить. То что она работала на 48-ом с лентой это факт.

от: Камиль Каримов
кому: All
дата: 21 Nov 2005
Hello, spensor

spe> Hасколько помню, прога достаточно умная и незамороченная. Чтоб ее
spe> запустить достаточно было загнать кодовый блок в память и сделать USR
spe> на первый адрес загрузки.

У меня все версии этой программы (4.18 --- 4.30) в коде имеют такую запись:
'IMP PROTECTION SYSTEM '95"
Похоже просто так вытащить код и запустить не получиться.

от: Alex Freed
кому: All
дата: 10 Dec 2005
Hello, spensor

spe> Sorry, за невнимательность:(
spe>
spe> Это вряд-ли. Hасколько помню, прога достаточно умная и
spe> незамороченная. Чтоб ее запустить достаточно было загнать кодовый
spe> блок в память и сделать USR на первый адрес загрузки. Критичной
spe> завязки на что бы то не было там нет. У меня на ленте (если она еще
spe> "живая") находится этот тест (может быть v4.20, что в данном случае
spe> не принципиально). Если кто нибудь подскажет как загнать файл с ленты
spe> в PC, то попробую предоставить. То что она работала на 48-ом с лентой
spe> это факт.

Я проследил в симуляторе: прога быстро пытается сходить в ПЗУ трдоса,
а его нет. Так что надо другой тест искать. Или писать. А может старая
версия и не требовала трдоса?

от: goodboy
кому: All
дата: 10 Dec 2005
Hello, alexfreed

удалось убрать обращения к пзу trdos из теста

Файл: TEST.ZIP http://zx.pk.ru/attachment.php?attachmentid=2079




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Таланты - О школьная пора.
Четыре килобайта - Модернизация оболочки.
Вступление - Вот и вышел первый номер газеты "RED PRESS".
Программирование - ассемблер Z80 от Russos.
Послесловие - история создания этого номера газеты.

В этот день...   19 апреля