Тимоти из Санкт-
Петербурга предлагает несколько процедур для системных программистов.
1. Процедура для быстрой остановки дисковода (но без сброса ВГ):
STOP.D LD A,(#5D16) копия системного регистра PUSH AF XOR 3 меняем дисковод
CALL STOPD1 POP AF , восстанавливаем дисковод STOPD1 LD HL,#02B9 для TR-DOS 5.03
PUSH HL JP #3D2F
2. Информация для владельцев Scorpion 256. Отладчик можно отключить, оставив остальной сервис-монитор рабочим:
DI |
|
LD |
A,# 10 |
LD |
BC,#7FFD |
OUT |
C,(A) |
LD |
B,# 1F |
OUT |
(C),A |
|
, RAM #08 |
LD |
A,#FF |
LD |
(#C063),A |
; отключаем монитор. |
SUB |
A |
OUT |
(C),A |
; RAM #00 El
RET
Этот способ лучше, чем описанный А.Ларченко вариант отключения через системный рестарт, т.к. в последнем случае произойдет остановка по ошибке, если машина не Scorpion. К сожалению, я не смог проверить это на ранних версиях монитора.
ИФК: и нет гарантии, что будет работать на новых версиях. Данный способ является, мягко говоря, некорректным т.к. не обеспечивает совместимость с различными версиями (хотя наверняка данная переменная имеет фиксированное положение, но кто знает...). А.Ларченко не зря указал именно тот способ отключения монитора, от которого отказался Тимоти. Для обеспечения совместимости с не Scorpion'aMH можем порекомендовать следующий прием:
HL.ADR HL
(#5C3D),SP 8
#85
способ позволит Вашей программе корректно работать на любой машине. Кстати, рекомендуем использовать этот вариант и для остальных рестартов, используемых в Scorpione.
Но вернемся к письму...
3. Проверка версии TR-DOS: LD HL,#0368
LD С,#13 CALL #3D13 LD A,(#5CDD) CP #44 JR Z,TR-DOS 5.03 CP #31 JR Z,TR-DOS 5.01
4. По поводу TURBO-LOADER из ZX-РЕВЮ 95/5. He знаю, у кого как, а у меня для достижения "турбости" нужно в процедуре позиционирования команду "поиск и проверка" (LD А,#1С) заменить на просто "поиск" (LD А,#18).
ЭТЮДЫ
Существует подобный алго-рисования эллипса, но об
LD
PUSH LD RST DB ADR Данный