diff options
Diffstat (limited to 'v4.0/src/CMD/RECOVER/RECDATA.INC')
| -rw-r--r-- | v4.0/src/CMD/RECOVER/RECDATA.INC | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/v4.0/src/CMD/RECOVER/RECDATA.INC b/v4.0/src/CMD/RECOVER/RECDATA.INC new file mode 100644 index 0000000..4685790 --- /dev/null +++ b/v4.0/src/CMD/RECOVER/RECDATA.INC | |||
| @@ -0,0 +1,168 @@ | |||
| 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 | \ No newline at end of file | ||