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
|