Просмотр полной версии : как запустить $В в реале?
alexfreed
17.11.2005, 13:05
Не бейте за глупые вопросы: я со Спеком мало знаком.
Имеется фаил TEST4-30.$B. Замечательно пускается в эмуляторе. А мне
надо на железе. Кроме магнитофонного порта ничего нет.
Запускать TAP я научился. Вопрос как перекодировать?
Я так понимаю что $B это "хобетный" файл. Видимо basic-запускалка.
Попробовал в emuzwin сделать сохранение в виде TAP но он не грузится.
Причем файл меньше исходного $B - подозрительно.
Если есть реал, тогда сохраняется файл на 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) может не пойти.
скорее всего, моноблок. то есть маленький бейсик-загрузчик + приклеенные сектора программы. чтобы перевести в ленту, без небольшой ручной работы не обойтись
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 ... а дальше данные. А как $В файл устроен?
А не против ручками пересобрать, но надо знать формат исходного файла.
кто просветит: как делаются моноблокибейсик-загрузчик имеет вид
1 REM ... (коды)
2 run usr 23xxx
в кодах читается NN секторов, начиная от текущего сектора, на котором закончился этот бейсик (есть такая переменная TR-DOS), после чего JP start
после бейсика сразу пишется кодовый файл. а потом эти 2 файла склеиваются в один. поле "длина в секторах" - сумма длин 2х файлов, а "длина в байтах" остаётся как у первого файла-загрузчика, чтобы в память грузилось начало, имя файла - от первого файла
так что нужно ставить break перед запуском кодового блока и сохранить блок в отдельный файл
"Кроме магнитофонного порта ничего нет." И другого реала тоже нет.Два варианта преобразования тестовой
программы 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 файла. Чтобы с ленты грузить. Диска у меня
пока не предвидится :(
вроде Basic фаил содержит все кодынет, только код загручика. обычно бейсик занимает 1-2 сектора
Может документ где есть?слишком стандартное и очевидное решение, применяемое практически во всех дисковых программах, чего уж тут документировать
Собственно я хочу понять как извлечь чистые коды из .$B файлаотрезать hobeta-заголовок. посмотреть длину бейсика. если менее 256 байт, то откусить от файла 1 сектор с начала, менее 512 - 2 сектора и т.д. всё оставшееся - кодовый блок. адрес загрузки и запуска смотрим под эмулятором внутри загрузчика
"Кроме магнитофонного порта ничего нет." И другого реала тоже нет.
Sorry, за невнимательность:(
Наверное либо в самом тесте что то завязано на TRDOS, либо при сохранении остаются какие то
обращения.
Это вряд-ли. Насколько помню, прога достаточно умная и незамороченная. Чтоб ее запустить достаточно было загнать кодовый блок в память и сделать USR на первый адрес загрузки. Критичной завязки на что бы то не было там нет. У меня на ленте (если она еще "живая") находится этот тест (может быть v4.20, что в данном случае не принципиально). Если кто нибудь подскажет как загнать файл с ленты в PC, то попробую предоставить. То что она работала на 48-ом с лентой это факт.
Насколько помню, прога достаточно умная и незамороченная. Чтоб ее запустить достаточно было загнать кодовый блок в память и сделать USR на первый адрес загрузки.У меня все версии этой программы (4.18 --- 4.30) в коде имеют такую запись:
'IMP PROTECTION SYSTEM '95"
Похоже просто так вытащить код и запустить не получиться.
alexfreed
10.12.2005, 02:15
Sorry, за невнимательность:(
Это вряд-ли. Насколько помню, прога достаточно умная и незамороченная. Чтоб ее запустить достаточно было загнать кодовый блок в память и сделать USR на первый адрес загрузки. Критичной завязки на что бы то не было там нет. У меня на ленте (если она еще "живая") находится этот тест (может быть v4.20, что в данном случае не принципиально). Если кто нибудь подскажет как загнать файл с ленты в PC, то попробую предоставить. То что она работала на 48-ом с лентой это факт.
Я проследил в симуляторе: прога быстро пытается сходить в ПЗУ трдоса,
а его нет. Так что надо другой тест искать. Или писать. А может старая
версия и не требовала трдоса?
удалось убрать обращения к пзу trdos из теста
alexfreed
11.12.2005, 08:30
удалось убрать обращения к пзу trdos из теста
Другое дело! Спасибо. То что надо. Теперь все грузится. Осталось
только интерпретировать результаты. Видимо я что то перепутал с расширением памяти: тест говорит 16К неисправны. Это первый короткий тест. А настоящий тест памяти заполняет экран разноцветными квадратиками и подыхает.
------------ через час--------------
OK, разобрался. Один провод не туда припаял когда память расширял.
Слишком много ног у ПЛМа :)
Теперь тест 4.30 проходит полностью и говорит что у меня Пентагон 128.
Ну Пентагон так Пентагон.
Аттачам капут... :\
Если у кого осталась ленточная версия теста , закинте плиз .
тест переделывал я, но найти его проблематично. :(
alexfreed прислал !
10X !!!
Теперь возник вопрос по какому адресу этот блок грузить и с какого запускать .
отыскал в своих старых архивах оригинал от goodboy'а.
ps. пытался приаттачить архив, оказывается я его уже выкладывал тут: http://zx.pk.ru/showpost.php?p=248725&postcount=22
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot