LD.COM для отладки программ, работает с ACP/M SP-Computer Club, - Орион-128
LD.COM, Программа заменяет также стандартную утилиту LOAD.COM, так как может работать как с данными в "чистом" виде, так и с файлами формата "HEX", формируемыми ассемблером
. .
Продаю платы и наборы микросхем, куплю микросхемы
Авторский контроллер НГМД. Мы собираем именно такой и на нем работаем. Читайте про пакет Атлас. Также дискеты можно отформатировать из под ORDOS пакетом программ Атлас.
Руководство системного программиста OS DOS ORION-SOFT
LD.COM для отладки игровых программ
ДОКУМЕНТАЦИЯ К ПРОГРАММЕ LD.COM
Load/Run/Save CP/M Utility (tm) LD.COM release 2.30/09.02.92 (C) Sp-Computer Club 1991, 1992
Программа LD.COM - системная утилита ОС CP/M для ПРК "Орион-128", распространяется в составе дистрибутива Advanced CP/M SP-Computer Club-а. Программа предназначена для использования программистами при разработке программ на ПРК "Орион-128", но может применяться и пользователями для загрузки и запуска многоблочных программ, работающих в основной странице ОЗУ компьютера. Программа рассчитана на работу в CP/M использующей 1-вую дополнительную страницу ОЗУ компьютера, т.е будет работать на "Орионе-128" с любой CP/M, кроме версии авторов (В. Сугоняко, "Orion-Soft"). Программа была написана А. Новгородовым в 1991 г. для отладки игры "Silent-Service" на языке (макро)ассемблера. LD.COM позволяет загружать блоки данных из файлов на диске, в память основной страницы (по указанным адресам), передавать управление программам в основной странице ОЗУ, а также записывать участки памяти из основной страницы в виде файлов на дискету. Программа заменяет также стандартную утилиту LOAD.COM, так как может работать как с данными в "чистом" виде, так и с файлами формата "HEX", формируемыми ассемблером. Программа существенно облегчает отладку больших программ состоящих из модулей расположенных в разных участках ОЗУ (напр: игр адаптируемых от "Синклера"). Кроме этой программы в серию утилит для "Ориона-128" входит программа LDC.COM (LD Compiler), которая применяется для формирования готового модуля игры: т.е формируется файл, содержащий загрузчик всех модулей, причем полученная программа может стартовать с любого адреса в любой странице ОЗУ (программа сама определяет где находится, после чего загружается по рабочим адресам).
Вызов программы: LD <имя TBL-файла>
Имя TBL-файла указывается без расширения. Файл должен иметь расширение ".TBL". Если имя файла не указано: по умолчанию файл - MAP.TBL.
(Не путать с версиями 1.XX (1991) программы LD.COM, где всегда используется имя файла MAP.TBL).
Файл "-.TBL" должен содержать имена файлов, адреса их загрузки, запуска или считывания. Этот файл можно создать любым редактором (или даже просто PIP-ом т.е: PIP PRG.TBL=CON: <ВК> ТЕКСТ ^Z).
Файл содержит имена файлов и шестнадцатеричные адреса их размещения, отделенные пробелом (или TAB-ом). Каждый файл с адресом располагается с новой строки. Файл "-.TBL" может содержать строки 3 типов:
NAME.EXT пробел HEX-адрес *адрес =NAME.EXT пробел начальный. адрес, конечный. адрес (между Н.А и К.А - запятая)
Для указания адреса запуска применяется символ "*". Стоящее сразу за символом "*" HEX-число считается адресом, куда будет передано управление. Запускаемая программа может не нарушая стек вернуть управление назад, программе LD.COM. В этом случае продолжится "интерпретация" TBL-файла и загрузка файлов, указанных в последующих строках.
Если для "-.HEX" файла не указан адрес загрузки, то он грузится по адресам, определенным директивой ORG при его трансляции ассемблером! (Таким образом LD.COM заменяет LOAD.COM для работы в 0-странице) Если первым символом стоит "=", то осуществляется запись в файл с указанным именем блока данных расположенных по указанным шестнадцатеричным адресам (!!! - разделитель: ","). Если файл с указанным именем на диске уже существует, то запись не будет производиться (будет сообщение, что такой файл уже существует).
ПРИМЕР 1: (Загрузка игры ORC-ATTACK от ZX Spectrum)
Файл ORC.TBL:
ZXFONT.DAT 3D00
KBD-RK.MAP 5000
KBD-MS.MAP 6000 Запуск: LD ORC.
ORC.HEX 8000
PROTEC.DAT F200
*F200
ПРИМЕР 2: (Загрузка ORDOS-программы)
Этот пример - конечно, чисто условный (это извращение - так использовать программу LD.COM), но он позволяет понять применение программы LD.COM при отладке программ.
К сожалению до сих пор находятся "уроды", которые в своих играх, которым для работы совершенно не требуется ORDOS делают обращения к функциям ORDOS (см.Радио 07.91). При этом совершенно не учитывается то, что самой ORDOS может и не оказаться в ОЗУ (пользователям с НГМД ORDOS не нужна, игры удобнее грузятся с дискеты). Обычно эти обращения делаются по примеру авторского бэйсика: с целью узнать не достигла ли вершина RAM-диска "области атрибутов цвета/второй плоскости экрана", т.е можно ли использовать цвет, не опасаясь погубить файлы ORDOS.
При отсутствии ORDOS такая программа "улетает" (Грамотная программа должна была бы сначала проверить наличие ORDOS). С помощью программы LD.COM можно загрузить такую программу вместе с самой ORDOS, а с помощью программы LDC.COM получить обычный COM-файл.
Файл BAS-OR.TBL:
BASIC$.DAT ; по умолчанию адрес = 0
ORDOS.DAT B800 ; грузим все 2 К ORDOS
F-RAM.DAT F340 ; запись FF в 1:0000
*F340 ; отформатируем RAM
*0
Запуск - LD BAS-OR
Файл F-RAM.DAT - коды программы: MVI A,1 : MVI C,FF
LXI H,0 : JMP F839
(или CALL F839 : JMP 0)
Version History: LD.COM Release 1.05/12.1991 (и ниже) Note: Все эти ранние версии портят знакогенератор F000 и "забывают" его восстановить! Нет команды чтения "=" и возврата в LD после исполнения "*".
Copyright: All right reserved Distributing: Only with Advanced CP/M and this text Программа LDC.COM написана на языке "C" и стоит всего 1,5$ (USA).
Кроме этой программы продается еще ряд программ, облегчающих адаптацию игр для Z80 от "Синклера" (например: читалка дискет TR-DOS, всего 2$).
С предложениями и замечаниями обращаться по адресу: 192238 Санкт-Петербург а/я 175 Чистяков Владимир если очень надо, можно звонить: (812)-106-35-24
Sp-Computer Club, август 1992
На предыдущую страницу На главную страницу На следующую страницу