Цитата Сообщение от Wlodek Посмотреть сообщение
Ну, я под TR DOS пишу с 1993 года (как появился Pentagon 128), и всё, абсолютно всё работает . Так что я типо знаю, чтО советую .
Wlodek, я совершенно не собирался (и не собираюсь) преуменьшать Ваши знания и навыки работы с TR-DOS. Просто столкнулся с проблемой, что функция #0A возвращает значение не только в регистре C, но и, почему-то, в переменной #5D0F.

Вот, если потрассировать данную программку в отладчике, то перед RET будет C=A=(#5D0F).
Код:
	ORG  	25000
	
	LD	HL,FILE
	LD	C,#13
	CALL	#3D13

	LD	A,9
	LD	(#5D06),A
	LD	HL,0
	LD	(#5D0F),HL
	LD	C,#0A
	CALL	#3D13
	
	LD	A,(#5D0F)
	RET

FILE	DB	"FILENAMET"
Из-за этого получается непонятная ситуация. Например, при значении C=(#5D0F)=6 непонятно - или на дискете присутствует файл (имя.тип которого заданы в дескрипторе) и его номер 6, или в дисководе нет дискеты. Вопрос - как это можно обойти? Пока придумал только считывать всю область каталога в память и уже там искать нужный файл своей процедурой.