ZXNet эхоконференция «code.zx»
тема: ГЛЮК ВГ_93
от: Konstantin Verbov
кому: ALL
дата: 18 Jan 1998
├┤i,ALL!
Как-то раз я экспериментировал с
LOADER'ом и наткнился на странную вещь;
ORG #6000
LD A,8:CALL SEEK1
CALL RS
LD A,40
CALL SEEK
CALL RS
LD A,8:CALL SEEK1
RET
RS CALL L9; ПРЕРЫВАHИЕ #D0
LD A,#D8
CALL SEEK1; ПРЕРЫВАHИЕ #D8
RET
L9 LD A,#D0;ПРЕРЫВАHИЕ
L10 LD C,#1F
L11 LD IX,#2A53
L12 DB #DD
L13 PUSH HL
JP #3D2F
SEEK SRL A
LD C,#7F:CALL L11
LD A,(#5D16)
RES 4,A
JR C,L15
SET 4,A
L15 AND #13:OR #2C
LD C,#FF:CALL L11
LD A,#18; ПОЗИЦИОHИРОВАHИЕ
SEEK1 CALL L10
LD HL,#3FE5
JR L13
После её запуска, голова должна
сначала переехать на TR_00, затем
на TR_40, затем обратно на TR_00.
Hо на самом деле она едет только на
TR_00, (не знаю на сколько она едет
в конце программы на TR_00), но на
TR_40, она явна недоезжает!!!
Если теперь изменить подпрограмму
"RS":
RS CALL L9
LD A,#D4; ПОСЛЕ IP
CALL SEEK1
RET
Эта п/п сначала сбрасывает, а затем
устанавливает INTRQ, но тепрь уста-
-навливатся он будет после прихода
индексного импульса.
Следующая прога работает со старой
п/п "RS":
ORG #6000
LD A,8:CALL SEEK1
CALL RS
LD A,40
CALL SEEK
LD A,8:CALL SEEK1
RET
После её запуска головка снаёала поедет
на TR_00, а затем всё-таки поедет на
TR_40.
Объяснит сею анамалию я не в силах !!!
А может это только у меня? на этот
случий даю название моей микросхемы:
WD
FD 1793A-02
With best wishes,Konstantin Verbov.
|