PDA

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



alexfreed
17.11.2005, 13:05
Не бейте за глупые вопросы: я со Спеком мало знаком.

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

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

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

spensor
17.11.2005, 13:21
Если есть реал, тогда сохраняется файл на 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) может не пойти.

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

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

alexfreed
18.11.2005, 08:02
"Кроме магнитофонного порта ничего нет." И другого реала тоже нет.

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

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

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

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

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

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

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

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

alexfreed
18.11.2005, 12:26
Два варианта преобразования тестовой
программы test4_30.$B в TAP-формат:


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

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

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

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

alexfreed
18.11.2005, 12:51
бейсик-загрузчик имеет вид


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

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

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

SMT
18.11.2005, 13:51
вроде Basic фаил содержит все кодынет, только код загручика. обычно бейсик занимает 1-2 сектора

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

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

spensor
21.11.2005, 13:35
"Кроме магнитофонного порта ничего нет." И другого реала тоже нет.
Sorry, за невнимательность:(

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

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

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

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


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

goodboy
10.12.2005, 18:50
удалось убрать обращения к пзу trdos из теста

alexfreed
11.12.2005, 08:30
удалось убрать обращения к пзу trdos из теста

Другое дело! Спасибо. То что надо. Теперь все грузится. Осталось
только интерпретировать результаты. Видимо я что то перепутал с расширением памяти: тест говорит 16К неисправны. Это первый короткий тест. А настоящий тест памяти заполняет экран разноцветными квадратиками и подыхает.

------------ через час--------------

OK, разобрался. Один провод не туда припаял когда память расширял.
Слишком много ног у ПЛМа :)

Теперь тест 4.30 проходит полностью и говорит что у меня Пентагон 128.
Ну Пентагон так Пентагон.

fan
03.05.2009, 02:29
Аттачам капут... :\

Если у кого осталась ленточная версия теста , закинте плиз .

goodboy
03.05.2009, 11:26
тест переделывал я, но найти его проблематично. :(

fan
05.05.2009, 12:37
alexfreed прислал !
10X !!!

fan
05.05.2009, 12:59
Теперь возник вопрос по какому адресу этот блок грузить и с какого запускать .

BYTEMAN
08.04.2013, 02:24
отыскал в своих старых архивах оригинал от goodboy'а.

ps. пытался приаттачить архив, оказывается я его уже выкладывал тут: http://zx.pk.ru/showpost.php?p=248725&postcount=22