]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/RECOVER/RECDATA.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / RECOVER / RECDATA.INC
1
2 data segment PUBLIC para 'DATA' ;AC000;bgb
3 ;*****************************************************************************
4 ; Data Area
5 ;*****************************************************************************
6 ;
7 lastchar dw 0 ;an024;bgb
8 lastbs dw 0 ;an024;bgb
9 fndback dw 0 ;point to where backslash found
10 old_subdir db 64 dup(0) ;current sub directory
11 new_subdir db 64 dup(0) ;new sub directory
12 paras_per_64k dw 0
13 paras_per_fat dw 0
14 secs_per_64k dw 0
15 sec_count dw 0
16 sixteen dw 16 ; mul ax for 32 bytes / fat entry
17 exit_sw dw ? ; loop exit switch ;AN000;bgb
18 exit_sw2 dw ? ; loop exit switch ;AN000;bgb
19 old_drive db 0 ;original drive to restore to ;an008;bgb
20 drvlet db 'A: ',13,10,13,10,0 ; ;AN000;
21 rec_num dw ? ; ;AN000;
22 x_value_lo dw ? ; ;AN000;
23 x_value_hi dw ? ; ;AN000;
24 y_value_lo dw ? ; ;AN000;
25 y_value_hi dw ? ; ;AN000;
26 DRVLET1 db "A",0
27 ;
28 HEADER DB "Vers 2.00"
29 ;-----------------------------------------------------------------------;
30 Prompted db 0 ; TRUE => prompt has already been done
31 hardch dd ? ; saved int 24 vector
32 the_root db 0 ; root directory flag
33 fudge db 0 ; directory changed flag
34 user_drive db 0
35 drive db 0
36 dirchar db "/",0
37 userdir db "/",0
38 db (dirstrlen) dup(0)
39 fname_buffer db 128 dup(0)
40
41 found db no
42 done db no
43 PSP_Segment dw 0
44 ExitStatus db 0 ;Errorlevel code ;AN000;
45
46 ;
47 BPB_Buffer A_DeviceParameters <> ; ;AN000;
48
49 TranSrc db "A:\",0 ; ;AN000;
50
51 Data_Start_Low dw ? ; ;AN000;
52 Data_Start_High dw ? ; ;AN000;
53
54 INT_23_Old_Off dw ? ; ;AN000;
55 INT_23_Old_Seg dw ? ; ;AN000;
56 INT_24_Old_Off dw ? ; ;AN000;
57 INT_24_Old_Seg dw ? ; ;AN000;
58
59
60 Command_Line_Buffer db 128 dup(0) ; ;AN000;
61 Fatal_Error db 0 ; ;AN000;
62
63 Command_Line db NO ; ;AN000;
64
65 ;These should stay together ; ;an022;bgb
66 ; --------------------------------------- ; ; ;an022;bgb
67 ifdef fsexec ;an022;bgb
68 FS_String_Buffer db 13 dup(" ") ; ;AN000; ;an022;bgb
69 FS_String_End db "REC.EXE",0 ; ;AN000; ;an022;bgb
70 ;---------------------------------------- ; ;an022;bgb
71 FS_Not_Fat db 0 ; ;AN000;;an022;bgb
72 FAT12_String db "FAT12 " ;
73 FAT16_String db "FAT16 " ;
74
75 Media_ID_Buffer Media_ID <> ; ;AN000;
76 endif ;an022;bgb
77
78 Append db 0 ;
79
80
81 dirent db 'FILE0000REC'
82 db 21 dup (00)
83
84 fcb_copy db 32 dup (?)
85
86 filcnt dw 0000
87 fatcnt db 00
88 fatnum db 00
89 fatsiz dw 0000
90 firfat dw 0000
91 fatptr dw 0000
92 secall dw 0000 ; sectors per cluster
93 target dw 0000
94 maxent dw 0000
95 firrec dw 0000
96 firdir dw 0000
97 bytes_per_sector dw 0000
98 secsiz dw 0000
99 siztmp dw 0000
100 dw 0000
101 filsiz dw 0000
102 dw 0000 ;carry noted here - 2 bytes after filsiz
103 MaxClus DW 0
104 lastfat dw 0000
105 ;
106 dbcs_sw db 0 ;zero if not dbcs - one if dbcs found ;an024;bgb
107 DBCS_Vector db 0
108 DBCS_Vector_Off dw 0
109 DBCS_Vector_Seg dw 0
110 Read_Write_Relative Relative_Sector_Buffer <>
111 Drive_Letter_Msg db "A:",0 ;Drive for exec fail message
112
113 ifdef fsexec ;an022;bgb
114 ;Exec_Block Exec_Block_Parms <> ;an022;bgb
115 ;EXEC_Path db 66 dup(0) ;an022;bgb
116 ;These next two should stay together
117 ; ---------------------------------------
118 ;Path_String db "PATH=" ; ;an022;bgb
119 ;Len_Path_String equ 5 ; length of path= string ;AN000;bgb ;an022;bgb
120 endif ;an022;bgb
121 ;
122 ;----------------------------------------
123 driveLetter db "X",":",0
124
125
126 ; ; ;
127 ;----------------------------------------
128
129 ;Path_SI dw 0
130 ;Env_DS dw 0
131 table dw offset dg:fattbl ;AC000;bgb
132 data ends
133
134
135 ;*****************************************************************************
136 ; LAST DATA AREA
137 ; this data area writes over ram, so leave it at the very end of the pgm.
138 ;*****************************************************************************
139 lastseg segment PUBLIC para 'last' ;AC000;bgb
140 assume ds:dg
141 fattbl db 0 ;AC000;bgb
142 lastseg ends ;AN000;bgb
143
144 ;
145 data segment public para 'DATA' ;AC000;bgb
146 ;******************************************************************************
147 ; Public Data
148 ;******************************************************************************
149 public header, prompted, hardch, the_root, fudge, user_drive, drive, dirchar ;AN000;bgb
150 public userdir, fname_buffer, found, done, driveletter, psp_segment, exitstatus ;AN000;bgb
151 public drvlet, bpb_buffer, transrc, data_start_low, data_start_high, ;AN000;bgb
152 public int_23_old_off, int_23_old_seg, int_24_old_off, int_24_old_seg, append ;AN000;bgb
153 public command_line_buffer, command_line_length, fatal_error, command_line, ;AN000;bgb
154 ifdef fsexec ;an022;bgb
155 public fs_string_buffer, fs_string_end, len_fs_string_end, fs_not_fat, ;an022;bgb;AN000;bgb
156 public fat12_string, fat16_string, len_fs_id_string, media_id_buffer, ;an022;bgb;AN000;bgb
157 public exec_block, exec_path, path_string ;AN000;bgb ;an022;bgb
158 public len_path_string ;an022;bgb;AN011;bgb
159 endif ;an022;bgb
160 public dirent, fcb_copy, filcnt, fatcnt, fatnum, fatsiz, firfat, fatptr ;AN000;bgb
161 public secall, target, maxent, firrec, firdir, secsiz, siztmp, filsiz, maxclus ;AN000;bgb
162 public lastfat, table, fattbl, dbcs_vector, dbcs_vector_off, dbcs_vector_seg ;AN000;bgb
163 public read_write_relative, drive_letter_msg ;AN000;bgb ;an022;bgb
164 public drvlet1, rec_num, x_value_lo, x_value_hi, y_value_lo, y_value_hi
165 public bytes_per_sector, exit_sw, exit_sw2, paras_per_fat, secs_per_64k
166 public sec_count, paras_per_64k
167 data ends ;put this 1st so that the recmsg works
168 \1a