Из журнала 3bit#1, Украина, Харьковская область, 04.01.2005 Обработка дисковых ошибок TR-DOS (C) Max ------------------------------------------ Если в вашей программе не требуется де- лать подробную обработку ошибок с вывали- вающимся меню, с возможностью выбора Retry Abort/Ignore, но вы хотите избежать очистки экрана и появления подлой надписи TR-DOS "disk error", то в этом вам поможет разра- ботанная мною короткая процедурка, которая блокирует все попытки TR-DOS напечатать сообщение об ошибке, она, в этом случае, без всяких последствий вернет управление программе с кодом ошибки в регистре A (ко- пия системной переменной #5D0F(23823 ). Если же вам нужно обрабатывать RIA , то на данную процедурку без особых проблем вы можете навесить драйвер обработки ошибок, например, такой, как опубликован в газете ECHO 3 (автор VfNG) . На случай, если у вас не найдется этой газетки, я привожу этот драйвер, сразу подключенный к моей програ- ммке, мной в него было внесено только определение типа ошибки DISK ERROR или READ ONLY. Вместо #3D13 вызываете TR-DOS, oбработка ошибок без меню RIA TRDOS: ... PUSH HL LD HL,(23613) ;Сохр. ERR_SP LD (ERR+1),HL LD HL,ERR EX (SP),HL LD (23613),SP EX AF,AF' XOR A LD (23823),A LD (23824),A LD (23570),A EX AF,AF' JP 15635 ERR LD HL,0 LD (23613),HL ;восст. ERR_SP LD A,6 LD (23570),A LD A,(23823) AND A TRD1 RET Z PUSH AF LD IX,W1 ;окно ERROR ! CALL OPWIN ;открыть окно POP AF RET Примечание: если вы используете бейсико- вские каналы для печати символов или для каких-либо других целей, то вставьте в процедуру обработки ошибок перед открытием окна с сообщением об ошибке инициализацию нужного канала. Например: LD A,2 CALL 5633 Кстати, один из способов быстрого взлома программ - это открывание защелки диско- вода во время загрузки, и сохранение по MAGIC 'у или вход в монитор, а дальше про- сто нужно найти LOADER. Так что, если вы хотите нормально защитить программу, то подвешивайте ту или иную процедуру обрабо- тки ошибок.