Subversion Repositories pentevo

Rev

Rev 964 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
627 savelij 1
 
1120 savelij 2
; LAST UPDATE: 18.10.2023 savelij
627 savelij 3
 
4
RCALL           MACRO ADDR
5
                LD SP,RADDR
6
                JP ADDR
1120 savelij 7
;       IF MOMPASS > 1
627 savelij 8
RADDR           DW $+2
1120 savelij 9
;       ELSE
10
;RADDR := $+2
11
;       ENDIF
627 savelij 12
                ENDM
13
 
14
ENT_DEF         MACRO V1,V2,V3,V4
1120 savelij 15
                DB V1 + V2 * 4 + V3 * 16 + V4 * 64
627 savelij 16
                ENDM
17
 
1120 savelij 18
 BITMASK KS_RUS,        7
19
 BITMASK KS_SCROLL,     6
20
 BITMASK KS_NUM,        5
21
 BITMASK KS_CAPS,       4
22
 BITMASK KS_SHFT2,      3
23
 BITMASK KS_ALT,        2
24
 BITMASK KS_CTRL,       1
25
 BITMASK KS_SHFT,       0
627 savelij 26
 
27
ED_PROC         EQU 0
28
ED_CHAR         EQU 1
29
ED_SCAN         EQU 2
30
 
31
ED_INI          EQU 0
32
_RU5            EQU 0
33
_INTOF          EQU 5
34
 
35
BIOS            EQU 0EA00H
36
CCP             EQU BIOS-1600H
37
 
38
_RESET          EQU 0
39
_SEEK           EQU 1
40
_FORMAT         EQU 2
41
_RECAL          EQU 3
42
_READ           EQU 4
43
_WSECT          EQU 5
44
_WRITE          EQU 6
45
_SETCH          EQU 7
46
_GETCH          EQU 8
47
 
48
;------------------------------
49
; ERRORS CODES FOR C_STAT
50
;
51
CS_UNKNO        EQU   0FFH    ; UNKNOWN FUNCTION
52
CS_ERSEC        EQU   80H     ; WRONG SEQUENCE
53
CS_UNPRN        EQU   81H     ; UNPRINTABLE CHAR IN SEQUENCE
54
CS_NODRV        EQU   82H     ; DRIVER NOT INSTALLED
55
CS_ERPAR        EQU   83H     ; WRONG PARAMETERS
56
CS_NOMOD        EQU   84H     ; SCREEN MODE DOES NOT EXIST
57
; TEXT MODE ERRORS
58
CST_OVER        EQU   1       ; CAN'T WRITE OVER
59
 
60
ADRD            EQU   7DFDH
61
 
62
_TF_CURATR      EQU 0        ; CURSOR IS FLEX ATTRIB
63
 
64
;----------------------------
65
; ŠŽ„› Ž˜ˆŽŠ, ‚Ž‡‚€™€…Œ›… „ˆ‘ŠŽ‚Ž‰ ‘ˆ‘’…ŒŽ‰
66
;
67
_ADRERR         EQU     08H     ;Ž˜ˆŠ€ €„…‘€–ˆˆ
68
_CHNFND         EQU     09H     ;Š€€‹ … ˆ‘Ž…„ˆ…
69
_HRDERR         EQU     40H     ;Ž˜ˆŠ€ €€€’“›
70
_INVALID        EQU     41H     ;…‘ŽŽ’‚…’‘’‚ˆ… „€‰‚…€ €€€’“…
71
_DTYPER         EQU     50H     ;…„Ž“‘’ˆŒ›‰ ŽŒ… „€‰‚…€ ‚ Š€€‹…
72
_DRNFND         EQU     51H     ;„€‰‚… Ž’‘“’‘’‚“…’
73
_COMERR         EQU     52H     ;‡€…™…€Ÿ ŠŽŒ€„€
74
_IOERR          EQU     53H     ;Ž˜ˆŠ€ ‚‚Ž„€/‚›‚Ž„€
75
_WR_PROT        EQU     54H     ;‡€™ˆ’€ Ž’ ‡€ˆ‘ˆ
76
_FATAL_ERROR    EQU     56H     ;… Ž€Ž’€€Ÿ ”€’€‹œ€Ÿ Ž˜ˆŠ€
77
_NRDY           EQU     59H     ;…’ ƒŽ’Ž‚Ž‘’ˆ €€€’“› (TIMEOUT)
78
 
79
_NO_DATA        EQU     81H     ;‘…Š’Ž … €‰„…
80
_NO_ADDR_MARK   EQU     82H     ;€„…‘›‰ Œ€Š… … €‰„…
81
_OVERRUN        EQU     83H     ;OVERRUN
82
_CRC_ERR        EQU     84H     ;Ž˜ˆŠ€ ‚ CRC
83
 
84
MAXDRVN         EQU     7       ;Œ€Š‘ˆŒ€‹œ›‰ ŽŒ… „€‰‚…€
85
 
86
IOBYTE          EQU     3
87
 
88
SYS_SP          EQU 0X8000
89
 
90
ED_BUF          EQU 0X7F40                      ;DS  128
91
MAXQUI          EQU 10H                         ; KEYBUFFER SIZE
92
BEGQUI          EQU ED_BUF+0X80                 ;DS  MAXQUI
93
 
94
IX_BAS          EQU 0X5F40
95
IX_SHIFT        EQU 0X7F
96
IX_BASE         EQU IX_BAS+IX_SHIFT
97
 
98
; VARIABLES IX RELATIVE
1120 savelij 99
 INIT_VAR IX_BAS
100
 SETVAR FLAG,           BYTE            ;EQU IX_BAS     ;DB 0           ;       DM     FLAG   1      <DEFB 0         >
101
 SETVAR FLAG1,          BYTE            ;EQU FLAG+1     ;DB 0           ;       DM     FLAG1  1      <DEFB 0         >
627 savelij 102
 
1120 savelij 103
 SETVAR CUR_X,          BYTE            ;EQU FLAG1+1    ;DB 0           ;       DM     CUR_X  1      <DEFB 0         >
104
 SETVAR CUR_Y,          BYTE            ;EQU CUR_X+1    ;DB 0           ;       DM     CUR_Y  1      <DEFB 0         >
105
 SETVAR W_X1,           BYTE            ;EQU CUR_Y+1    ;DB 0           ;       DM     W_X1   1      <DEFB 0         >
106
 SETVAR W_Y1,           BYTE            ;EQU W_X1+1     ;DB 0           ;       DM     W_Y1   1      <DEFB 0         >
107
 SETVAR W_X2,           BYTE            ;EQU W_Y1+1     ;DB 50          ;       DM     W_X2   1      <DEFB 50        >
108
 SETVAR W_Y2,           BYTE            ;EQU W_X2+1     ;DB 24          ;       DM     W_Y2   1      <DEFB 24        >
109
 SETVAR COLOR_P,        BYTE            ;EQU W_Y2+1     ;DB 0           ;       DM     COLOR_P 1     <DEFB 0         >
110
 SETVAR COLOR_I,        BYTE            ;EQU COLOR_P+1  ;DB 7           ;       DM     COLOR_I 1     <DEFB 7         >
111
 SETVAR C_STAT,         BYTE            ;EQU COLOR_I+1  ;DB 0           ;       DM     C_STAT 1      <DEFB 0         >
112
 SETVAR T_FLAG,         BYTE            ;EQU C_STAT+1   ;DB 0           ;       DM     T_FLAG 1      <DEFB 0         >
113
 SETVAR CUR_VAL,        BYTE            ;EQU T_FLAG+1   ;DB 0           ;       DM     CUR_VAL 1     <DEFB 0         >
114
 SETVAR SCR_ADR,        WORD            ;EQU CUR_VAL+1  ;DW 0           ;       DM     SCR_ADR 2     <DEFW 0         >
115
 SETVAR COLOR_M,        BYTE            ;EQU SCR_ADR+2  ;DB 7           ;       DM     COLOR_M 1     <DEFB 7         >
116
 SETVAR SAV_CUR,        BYTE            ;EQU COLOR_M+1  ;DB 0           ;       DM     SAV_CUR 1     <DEFB 0         >
627 savelij 117
 
1120 savelij 118
 SETVAR MEMDSP,         BYTE            ;EQU SAV_CUR+1  ;DB 0X11        ;       DM     MEMDSP 1      <DEFB 11H       >
119
 SETVAR C_CNT,          BYTE            ;EQU MEMDSP+1   ;DB 1           ;       DM     C_CNT  1      <DEFB 1         >
120
 SETVAR C_MAX,          BYTE            ;EQU C_CNT+1    ;DB 10          ;       DM     C_MAX  1      <DEFB 10        >
121
 SETVAR C_BEG,          BYTE            ;EQU C_MAX+1    ;DB 7           ;       DM     C_BEG  1      <DEFB 7         >
122
 SETVAR C_END,          BYTE            ;EQU C_BEG+1    ;DB 8           ;       DM     C_END  1      <DEFB 8         >
123
 SETVAR TMP_W,          WORD            ;EQU C_END+1    ;DW 0           ;       DM     TMP_W  2      <DEFS 2         >
124
 SETVAR C_ACT,          BYTE            ;EQU TMP_W+2    ;DB 1           ;       DM     C_ACT  1      <DEFB 1         >
125
 SETVAR BEEP_D,         WORD            ;EQU C_ACT+1    ;DW 0X3F10      ;       DM     BEEP_D 2      <DEFW 3F10H     >
126
 SETVAR FE_IMG,         BYTE            ;EQU BEEP_D+2   ;DB 0XBE        ;       DM     FE_IMG 1      <DEFB 0BEH      >
127
 SETVAR BORDER,         BYTE            ;EQU FE_IMG+1   ;DB 0           ;       DM     BORDER 1      <DEFB 0         >
128
 SETVAR SYS_P,          BYTE            ;EQU BORDER+1   ;DB 0           ;       DM     SYS_P  1      <DEFB 0         >
129
 SETVAR FUNC,           BYTE            ;EQU SYS_P+1    ;DB 0           ;       DM     FUNC   1      <DEFS 1         >
130
 SETVAR FCNT,           BYTE            ;EQU FUNC+1     ;DB 0           ;       DM     FCNT   1      <DEFS 1         >
131
 SETVAR PAR_PT,         WORD            ;EQU FCNT+1     ;DW 0           ;       DM     PAR_PT 2      <DEFS 2         >
132
 SETVAR BCOL,           BYTE            ;EQU PAR_PT+2   ;DB 0           ;       DM     BCOL   1      <DEFB 0         >
133
 SETVAR TIME_C,         DWORD           ;EQU BCOL+1     ;DUPL 4,0       ;       DM     TIME_C 4      <DEFB 0,0,0,0   >
627 savelij 134
;  FOR KEYBOARD
1120 savelij 135
 SETVAR K_5CNT,         BYTE            ;EQU TIME_C+4   ;DB 0           ;       DM     K_5CNT 1      <DB 0           >
136
 SETVAR K_LAST,         BYTE            ;EQU K_5CNT+1   ;DB 0           ;       DM     K_LAST 1      <DB 0           >
137
 SETVAR K_CNT,          BYTE            ;EQU K_LAST+1   ;DB 0           ;       DM     K_CNT  1      <DB 0           >
138
 SETVAR K_BUF,          BYTE            ;EQU K_CNT+1    ;DB -1          ;       DM     K_BUF  1      <DB -1          >
139
 SETVAR KEY_DEL,        BYTE            ;EQU K_BUF+1    ;DB 15          ;       DM     KEY_DEL 1     <DB 15          >
140
 SETVAR KEY_REP,        BYTE            ;EQU KEY_DEL+1  ;DB 5           ;       DM     KEY_REP 1     <DB 5           >
141
 SETVAR TAIL,           BYTE            ;EQU KEY_REP+1  ;DB 0           ;       DM     TAIL   1      <DEFB 0         >
142
 SETVAR BEEP_T,         WORD            ;EQU TAIL+1     ;DW 0X6008      ;       DM     BEEP_T 2      <DEFW 6008H     >
143
 SETVAR BEEP_K,         WORD            ;EQU BEEP_T+2   ;DW 0X3F04      ;       DM     BEEP_K 2      <DEFW 3F04H     >
627 savelij 144
; KB SWITCH
1120 savelij 145
 SETVAR KEYBOARD,       3               ;EQU BEEP_K+2   ;DB 0XC9,0,0    ;       DM     KEYBOARD  3    <DB 0C9H,0,0    >
146
 SETVAR READ_K,         3               ;EQU KEYBOARD+3 ;DUPL 3,0       ;       DM     READ_K    3
147
 SETVAR STAT_K,         3               ;EQU READ_K+3   ;DUPL 3,0       ;       DM     STAT_K    3
148
 SETVAR READA_KNW,      3               ;EQU STAT_K+3   ;DUPL 3,0       ;       DM     READA_KNW 3
149
 SETVAR KB_TYP,         3               ;EQU READA_KNW+3        ;DUPL 3,0       ;       DM     KB_TYP    3
150
 SETVAR K_INIT,         3               ;EQU KB_TYP+3   ;DUPL 3,0       ;       DM     K_INIT    3
627 savelij 151
 
1120 savelij 152
 SETVAR KS_ASH,         BYTE            ;EQU K_INIT+3   ;DB 0           ;       DM     KS_ASH    1
153
 SETVAR KS_SHIFTS,      BYTE            ;EQU KS_ASH+1   ;DB 0           ;       DM     KS_SHIFTS 1
154
 SETVAR KS_UND,         WORD            ;EQU KS_SHIFTS+1        ;DW 0           ;       DM     KS_UND    2
155
 SETVAR KS_UNDS,        BYTE            ;EQU KS_UND+2   ;DB 0           ;       DM     KS_UNDS   1
156
 SETVAR KS_UNDS1,       BYTE            ;EQU KS_UNDS+1  ;DB 0           ;       DM     KS_UNDS1  1
157
 SETVAR I_MAX,          BYTE            ;EQU KS_UNDS1+1 ;DB 0           ;       DM     I_MAX  1
158
 SETVAR I_MIN,          BYTE            ;EQU I_MAX+1    ;DB 0           ;       DM     I_MIN  1
159
 SETVAR I_AVR,          BYTE            ;EQU I_MIN+1    ;DB 0           ;       DM     I_AVR  1
627 savelij 160
;  EDISK WORK VALUE
1120 savelij 161
 SETVAR ED_CYL,         BYTE            ;EQU I_AVR+1    ;DB 0           ;       DM     ED_CYL 1
627 savelij 162
;  FDISK WORK VALUE
1120 savelij 163
 SETVAR SV_SP,          WORD            ;EQU ED_CYL+1   ;DW 0           ;       DM     SV_SP  2
627 savelij 164
;  PROTECT VALUE
1120 savelij 165
 SETVAR RTIME,          WORD            ;EQU SV_SP+2    ;DW 0           ;       DM     RTIME  2
627 savelij 166
;  INTERPAGE LDIR'S PARAMETERS
167
R8_FR           EQU RTIME;+2    ;DB 0           ;       DM     R8_FR  1
168
R8_TO           EQU RTIME+1;2   ;DB 0           ;       DM     R8_TO  1
169
;  ESC SEQUENCE PARAMS
1120 savelij 170
 SETVAR PAR1,           BYTE            ;EQU RTIME+2    ;DB 0           ;       DM     PAR1   1
171
 SETVAR PAR2,           BYTE            ;EQU PAR1+1     ;DB 0           ;       DM     PAR2   1
172
 SETVAR PAR3,           BYTE            ;EQU PAR2+1     ;DB 0           ;       DM     PAR3   1
173
 SETVAR PAR4,           BYTE            ;EQU PAR3+1     ;DB 0           ;       DM     PAR4   1
174
 SETVAR PARR,           13              ;EQU PAR4+1     ;DUPL 13,0      ;       DM     PARR   13
627 savelij 175
BUF             EQU PAR1
176
;  POWER ON DETECTOR
1120 savelij 177
 SETVAR TST_1RUN,       WORD            ;EQU PARR+13    ;DW 0           ;       DM     TST_1RUN 2
178
 SETVAR TST_IS1,        BYTE            ;EQU TST_1RUN+2 ;DB 0           ;       DM     TST_IS1  1
627 savelij 179
 
180
;          IN VALUE
1120 savelij 181
 SETVAR RQCHAN,         BYTE            ;EQU TST_IS1+1  ;DB 0           ;       DM      RQCHAN   1       ;ŽŒ… Š€€‹€
182
 SETVAR RQCOM,          BYTE            ;EQU RQCHAN+1   ;DB 0           ;       DM      RQCOM    1       ;ŠŽŒ€„€
183
 SETVAR RQBLN,          BYTE            ;EQU RQCOM+1    ;DB 0           ;       DM      RQBLN    1       ;—ˆ‘‹Ž ‹ŽŠŽ‚
184
 SETVAR RQTRACK,        WORD            ;EQU RQBLN+1    ;DW 0           ;       DM      RQTRACK  2       ;ŽŒ… „ŽŽ†Šˆ
185
 SETVAR RQBLOCK,        WORD            ;EQU RQTRACK+2  ;DW 0X4F00      ;       DM      RQBLOCK  2       ;ŽŒ… ‹ŽŠ€
186
 SETVAR RQBADR,         WORD            ;EQU RQBLOCK+2  ;DW 0X18        ;       DM      RQBADR   2       ;“”… Ž‹œ‡Ž‚€’…‹Ÿ
627 savelij 187
 
188
;          WORK VALUE
1120 savelij 189
 SETVAR RQHEAD,         BYTE            ;EQU RQBADR+2   ;DB 7           ;       DM      RQHEAD   1       ;ŽŒ… ƒŽ‹Ž‚Šˆ
190
 SETVAR RQCYL,          WORD            ;EQU RQHEAD+1   ;DW 0           ;       DM      RQCYL    2       ;ŽŒ… –ˆ‹ˆ„€
191
 SETVAR LOCBUF,         WORD            ;EQU RQCYL+2    ;DW 0           ;       DM      LOCBUF   2       ;€„…‘ ‹ŽŠ€ ‚ “”……
192
 SETVAR RQSECT,         BYTE            ;EQU LOCBUF+2   ;DB 7           ;       DM      RQSECT   1       ;ŽŒ… ‘…Š’Ž€
193
 SETVAR DCBUF,          WORD            ;EQU RQSECT+1   ;DW 0X300       ;       DM      DCBUF    2       ;€„…‘ “”…€
194
 SETVAR REP,            BYTE            ;EQU DCBUF+2    ;DB 1           ;       DM      REP      1       ;‘—…’—ˆŠ —ˆ‘‹€ Ž‚’ŽŽ‚
627 savelij 195
 
196
;……Œ…›… ŠŽ’Ž‹…€ ”‹ŽŽ‚
1120 savelij 197
 SETVAR FD_TRKS,        WORD            ;EQU REP+1      ;DB 0X0A,7;,8,0 ;       DM      FD_TRKS  4       ;ŽŒ…€ ’…Š“™ˆ• „ŽŽ†…Š
627 savelij 198
 
199
;‹ŽŠ ‘Ž‘’ŽŸˆŸ “”…€
1120 savelij 200
 SETVAR BUFT,           BYTE            ;EQU FD_TRKS+2  ;DB 0           ;       DM      BUFT     1               ;ŽŒ… Š€€‹€
201
 SETVAR BUFTRK,         WORD            ;EQU BUFT+1     ;DW 0X1001      ;       DM      BUFTRK   2               ;ŽŒ… „ŽŽ†Šˆ
202
 SETVAR BUFSEC,         BYTE            ;EQU BUFTRK+2   ;DB 0X3F        ;       DM      BUFSEC   1               ;ŽŒ… ‘…Š’Ž€
627 savelij 203
 
204
;-----------------------
1120 savelij 205
 INIT_VAR
206
 SETVAR DVALID,         BYTE            ;EQU 0          ;:      DS      1       ;+ ˆ‡€Š „…‰‘’‚ˆ’…‹œŽ‘’ˆ
207
 SETVAR _DTYP,          BYTE            ;EQU DVALID+1   ;:      DS      1       ;+ ŠŽ„ “‘’Ž‰‘’‚€
208
 SETVAR _DUS,           BYTE            ;EQU _DTYP+1    ;:      DS      1       ;+ ŽŒ… ˆ‚Ž„€
209
 SETVAR _DDTYP,         BYTE            ;EQU _DUS+1     ;:      DS      1       ;- ŠŽ„ ˆ‚Ž„€  (Hi bit - unbuferized)
210
 SETVAR _DHEADF,        BYTE            ;EQU _DDTYP+1   ;:      DS      1       ;+ —ˆ‘‹Ž ”ˆŠ‘ˆŽ‚€›• ƒŽ‹Ž‚ŽŠ
211
 SETVAR _DHEADR,        BYTE            ;EQU _DHEADF+1  ;:      DS      1       ;+ —ˆ‘‹Ž ‘Œ…›• ƒŽ‹Ž‚ŽŠ
212
 SETVAR _DCYLN,         WORD            ;EQU _DHEADR+1  ;:      DS      2       ;+ —ˆ‘‹Ž –ˆ‹ˆ„Ž‚ € „ˆ‘Š…
213
 SETVAR _DSECTT,        BYTE            ;EQU _DCYLN+2   ;:      DS      1       ;+ —ˆ‘‹Ž ‘…Š’ŽŽ‚ € „ŽŽ†Š…
214
 SETVAR _DBYTES,        WORD            ;EQU _DSECTT+1  ;:      DS      2       ;+ —ˆ‘‹Ž €‰’Ž‚ ‚ ‘…Š’Ž…
215
 SETVAR _DALTCYL,       BYTE            ;EQU _DBYTES+2  ;:      DS      1       ;+ —ˆ‘‹Ž ‘ˆ‘’…Œ›• „ŽŽ†…Š
216
 SETVAR _DBEGCYL,       WORD            ;EQU _DALTCYL+1 ;:      DS      2       ;+ ŽŒ… €—€‹œŽƒŽ –ˆ‹ˆ„€
217
 SETVAR _DBLDR,         WORD            ;EQU _DBEGCYL+2 ;:      DS      2       ;+ —ˆ‘‹Ž ‹ŽŠŽ‚ € „ˆ‘Š…
218
 SETVAR _DBLTR,         WORD            ;EQU _DBLDR+2   ;:      DS      2       ;+ —ˆ‘‹Ž ‹ŽŠŽ‚ € „ŽŽ†Š…
219
 SETVAR _DTRACK,        WORD            ;EQU _DBLTR+2   ;:      DS      2       ;+ —ˆ‘‹Ž „ŽŽ†…Š € „ˆ‘Š…
220
 SETVAR _DSEKTL,        BYTE            ;EQU _DTRACK+2  ;:      DS      1       ;+ „‹ˆ€ ŽŒ…€ ‹ŽŠ€ ‚ ‘…Š’Ž…
221
 SETVAR _DDIRENT,       WORD            ;EQU _DSEKTL+1  ;:      DS      2       ;+ —ˆ‘‹Ž ‡€ˆ‘…‰ ‚ „ˆ…Š’Žˆˆ
222
 SETVAR _DIF0,          BYTE            ;EQU _DDIRENT+2 ;:      DS      1       ;+ €‡Œ…’Š€ …‚Ž‰ „ŽŽ†Šˆ
223
 SETVAR _DIF1,          BYTE            ;EQU _DIF0+1    ;:      DS      1       ;+ €‡Œ…’Š€ ‚’ŽŽ‰ „ŽŽ†Šˆ
224
 SETVAR _DIF2,          BYTE            ;EQU _DIF1+1    ;:      DS      1       ;+ €‡Œ…’Š€ ‚‘…• Ž‘’€‚˜ˆ•‘Ÿ „ŽŽ†…Š
225
 SETVAR _DTIF,          BYTE            ;EQU _DIF2+1    ;:      DS      1       ;? ‘Œ…™…ˆ… …‚ŽƒŽ ‘…Š’Ž€
226
 SETVAR _DF8,           BYTE            ;EQU _DTIF+1    ;       DS      1       ;+ ˆ‡€Š 8-„ž‰ŒŽ‚ŽƒŽ „ˆ‘Š€
627 savelij 227
;  ˆ‹ˆ ŽŒ… €—€‹œŽ‰ ƒŽ‹Ž‚Šˆ
1120 savelij 228
 SETVAR _DFMFM,         BYTE            ;EQU _DF8+1     ;:      DS      1       ;+ ‹Ž’Ž‘’œ ‡€ˆ‘ˆ
229
 SETVAR _DFN,           BYTE            ;EQU _DFMFM+1   ;:      DS      1       ;+ €‡Œ… ‘…Š’Ž€
230
 SETVAR _DFGPL,         BYTE            ;EQU _DFN+1     ;:      DS      1       ;+ GAP3 „‹Ÿ —’…ˆŸ/‡€ˆ‘ˆ
231
 SETVAR _DFGPF,         BYTE            ;EQU _DFGPL+1   ;:      DS      1       ;+ GAP3 „‹Ÿ ”ŽŒ€’€
232
 SETVAR _DFSRHUT,       BYTE            ;EQU _DFGPF+1   ;:      DS      1       ;+ ‚…ŒŸ ˜€ƒ€
627 savelij 233
;  ˆ‹ˆ ‚…ŒŸ ˜€ƒ€ ˆ SEEK
1120 savelij 234
 SETVAR _DFHLT,         BYTE            ;EQU _DFSRHUT+1 ;       DS      1:                      ;+ ‚…ŒŸ Ž“‘Š€ˆŸ ƒŽ‹Ž‚Šˆ
627 savelij 235
;  ˆ‹ˆ ‚…ŒŸ ˜€ƒ€ ˆ RECALIBRATE
1120 savelij 236
 SETVAR _DFMOTOR,       BYTE            ;EQU _DFHLT+1   ;:      DS      1       ;+ ˆ‡€Š ‚Š‹ž—…ˆŸ ŒŽ’Ž€
237
 
238
;‘Œ…™…ˆŸ Ž’ IX
239
_FLAG           EQU LOW (IX_BASE - FLAG)
240
_FLAG1          EQU LOW (IX_BASE - FLAG1)
241
_W_X1           EQU LOW (IX_BASE - W_X1)
242
_W_X2           EQU LOW (IX_BASE - W_X2)
243
_W_Y1           EQU LOW (IX_BASE - W_Y1)
244
_W_Y2           EQU LOW (IX_BASE - W_Y2)
245
_CUR_X          EQU LOW (IX_BASE - CUR_X)
246
_CUR_Y          EQU LOW (IX_BASE - CUR_Y)
247
_C_STAT         EQU LOW (IX_BASE - C_STAT)
248
_CUR_VAL        EQU LOW (IX_BASE - CUR_VAL)
249
_T_FLAG         EQU LOW (IX_BASE - T_FLAG)
250
_MEMDSP         EQU LOW (IX_BASE - MEMDSP)
251
_C_CNT          EQU LOW (IX_BASE - C_CNT)
252
_TMP_W          EQU LOW (IX_BASE - TMP_W)
253
_C_ACT          EQU LOW (IX_BASE - C_ACT)
254
_FE_IMG         EQU LOW (IX_BASE - FE_IMG)
255
_BORDER         EQU LOW (IX_BASE - BORDER)
256
_SYS_P          EQU LOW (IX_BASE - SYS_P)
257
_FUNC           EQU LOW (IX_BASE - FUNC)
258
_FCNT           EQU LOW (IX_BASE - FCNT)
259
_TIME_C         EQU LOW (IX_BASE - TIME_C)
260
_K_5CNT         EQU LOW (IX_BASE - K_5CNT)
261
_K_LAST         EQU LOW (IX_BASE - K_LAST)
262
_K_CNT          EQU LOW (IX_BASE - K_CNT)
263
_K_BUF          EQU LOW (IX_BASE - K_BUF)
264
_TAIL           EQU LOW (IX_BASE - TAIL)
265
_KS_ASH         EQU LOW (IX_BASE - KS_ASH)
266
_KS_SHIFTS      EQU LOW (IX_BASE - KS_SHIFTS)
267
_KS_UND         EQU LOW (IX_BASE - KS_UND)
268
_KS_UNDS        EQU LOW (IX_BASE - KS_UNDS)
269
_I_MAX          EQU LOW (IX_BASE - I_MAX)
270
_I_MIN          EQU LOW (IX_BASE - I_MIN)
271
_ED_CYL         EQU LOW (IX_BASE - ED_CYL)
272
_PAR1           EQU LOW (IX_BASE - PAR1)
273
_PAR2           EQU LOW (IX_BASE - PAR2)
274
_PAR4           EQU LOW (IX_BASE - PAR4)
275
_TST_IS1        EQU LOW (IX_BASE - TST_IS1)
276
_RQCHAN         EQU LOW (IX_BASE - RQCHAN)
277
_RQCOM          EQU LOW (IX_BASE - RQCOM)
278
_RQBLN          EQU LOW (IX_BASE - RQBLN)
279
_RQTRACK        EQU LOW (IX_BASE - RQTRACK)
280
_RQBLOCK        EQU LOW (IX_BASE - RQBLOCK)
281
_RQBADR         EQU LOW (IX_BASE - RQBADR)
282
_RQHEAD         EQU LOW (IX_BASE - RQHEAD)
283
_REP            EQU LOW (IX_BASE - REP)
284
_BUFT           EQU LOW (IX_BASE - BUFT)
285
_BUFSEC         EQU LOW (IX_BASE - BUFSEC)
286
 
287
; REST OF SWITCH AREA
288
 INIT_VAR 0xDF40
289
 SETVAR CL_SW,          3               ;EQU 0XDF40
290
 SETVAR SW_DO,          0               ;EQU CL_SW+3
291
 SETVAR OUT_SW,         0               ;EQU CL_SW+3
292
 SETVAR SW_CLR,         0               ;EQU OUT_SW
293
 
294
; SOME DATA AREAS
295
 SETVAR SV_ARE,         WORD            ;EQU SW_CLR
296
 SETVAR ARR_CO,         16 + 3          ;EQU SV_ARE+2
297
 SETVAR SG_ENC,         DWORD           ;EQU ARR_CO+16+3
298
 SETVAR ENC_SI,         DWORD           ;EQU SG_ENC+4
299
 SETVAR ENC_SO,         DWORD           ;EQU ENC_SI+4
300
 SETVAR PAL_BUF,        0               ;EQU ENC_SO+4
301
 
302
; FILLED SWITCH AREA
303
 INIT_VAR CL_SW
304
 SETVAR SW_C,           0               ;EQU CL_SW
305
 SETVAR SW_PUT,         0               ;EQU CL_SW
306
 SETVAR SW_CLL,         0               ;EQU CL_SW
307
 SETVAR SW_SCO,         0               ;EQU CL_SW
308
 SETVAR SW_RRL,         0               ;EQU CL_SW
309
 SETVAR SW_SIZ,         0               ;EQU CL_SW
310
 
627 savelij 311
;-----------------------