diff options
Diffstat (limited to 'v4.0/src/CMD/MODE/MODECPRO.INC')
| -rw-r--r-- | v4.0/src/CMD/MODE/MODECPRO.INC | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/v4.0/src/CMD/MODE/MODECPRO.INC b/v4.0/src/CMD/MODE/MODECPRO.INC new file mode 100644 index 0000000..3b87113 --- /dev/null +++ b/v4.0/src/CMD/MODE/MODECPRO.INC | |||
| @@ -0,0 +1,88 @@ | |||
| 1 | ; MODECPRO.INC - INCLUDED BY MODECP.SAL | ||
| 2 | ;****************** START OF SPECIFICATIONS ***************************** | ||
| 3 | ; MODULE NAME: MODECP | ||
| 4 | |||
| 5 | ; DESCRIPTIVE NAME: MODE, CODEPAGE HANDLER | ||
| 6 | |||
| 7 | ;FUNCTION: Manages the codepage file, sending it to the | ||
| 8 | ; device when a DESIGNATE is requested, telling | ||
| 9 | ; the device which FONT to select when ACTIVATE | ||
| 10 | ; is requested, and displaying the font status | ||
| 11 | ; of the device when QUERY is requested. | ||
| 12 | |||
| 13 | ; NOTES: | ||
| 14 | ; This module should be processed with the SALUT pre-processor | ||
| 15 | ; with re-allignment not requested, as: | ||
| 16 | |||
| 17 | ; SALUT MODECP,NUL,; | ||
| 18 | |||
| 19 | |||
| 20 | ; ENTRY POINT: MODECP | ||
| 21 | ; LINKAGE: CALL MODECP | ||
| 22 | |||
| 23 | ; INPUT: As defined by the "CODEPAGE_PARMS" STRUC. | ||
| 24 | ; All four segregs are expected to point to the one common | ||
| 25 | ; segment, called PRINTF_CODE. | ||
| 26 | |||
| 27 | ; EXIT-NORMAL: ERRORLEVEL 0 - Successful completion | ||
| 28 | |||
| 29 | ; EXIT-ERROR: ERRORLEVEL 1 - An error message is also displayed | ||
| 30 | |||
| 31 | ; EFFECTS: | ||
| 32 | |||
| 33 | ; INTERNAL REFERENCES: | ||
| 34 | ; ROUTINES: | ||
| 35 | ; MODECP - HANDLES ALL PROCESSING FOR THE CODEPAGE SUPPORT IN MODE | ||
| 36 | ; SET_DEV_TYPE - SCANS LIST OF DEVICES FOR SPECIFIED DEVICE | ||
| 37 | ; SET_GLOBAL_CODEPAGE - DEVICE IS "*", INVOKE OR QUERY GLOBAL CODEPAGE | ||
| 38 | ; FUNCTION_SELECT - DETERMINES FUNCTION TO BE PERFORMED, DESIGNATE,QUERY,INVOKE | ||
| 39 | ; DO_DESIGNATE - PERFORMS START DESIGNATE, DOWNLOAD FONT FILE, DESIGNATE END | ||
| 40 | ; DES_START - HANDLES DETAILS OF START DESIGNATE FUNCTION | ||
| 41 | ; DES_START_ERROR - DIAGNOSES ERRORS FROM DESIGNATE START | ||
| 42 | ; MOVE_FILE - HANDLES DETAILS OF DOWNLOADING THE FONT FILE TO DEVICE | ||
| 43 | ; DES_END - HANDLES DETAILS OF DESIGNATE END FUNCTION | ||
| 44 | ; DO_INVOKE - HANDLES DETAILS OF INVOKE FUNCTION | ||
| 45 | ; DO_STATUS - INTERROGATES DEVICE FOR CODEPAGE STATUS | ||
| 46 | ; QUERY_ERROR - DISGNOSES ERRORS FROM QUERY REQUEST | ||
| 47 | ; DISPLAY_CPID - DISPLAYS THE CODEPAGE ID AS PART OF STATUS REPORT | ||
| 48 | ; SEND_MSG - SET UP ALL ERROR MESSAGES TO BE DISPLAYED | ||
| 49 | ; QUEUE - HANDLES INTERFACE TO "PRINTF" FOR ALL MESSAGES | ||
| 50 | ; EX_ERR - DOSCALL RESULTED IN CARRY, SO GO FIND OUT THE EXTENDED ERROR | ||
| 51 | ; DO_GENERIC_IOCTL - PROCESS ALL GENERIC IOCTL CALLS TO THE DEVICE | ||
| 52 | ; | ||
| 53 | |||
| 54 | ; DATA AREAS: | ||
| 55 | ; WORKAREA - Temporary storage | ||
| 56 | |||
| 57 | ; EXTERNAL REFERENCES: | ||
| 58 | ; ROUTINES: | ||
| 59 | ; PRINTF - Uses the MSG parm lists to construct the messages | ||
| 60 | ; on STDOUT, on on STDERR. | ||
| 61 | |||
| 62 | ; DATA AREAS: A large buffer is allocated from free memory, if available. | ||
| 63 | |||
| 64 | ; COPYRIGHT: The copyright notice is found in the OBJ code generated from | ||
| 65 | ; the "MAIN.ASM" module of the MODE component of the DOS utility. | ||
| 66 | |||
| 67 | ;****************** END OF SPECIFICATIONS ***************************** | ||
| 68 | IF1 | ||
| 69 | %OUT INCLUDE MODECPRO.INC ;MODULE PROLOGUE | ||
| 70 | ENDIF | ||
| 71 | |||
| 72 | ;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ P R O L O G ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» | ||
| 73 | ;º º | ||
| 74 | |||
| 75 | ; AX001 - P3976: Need to have all pieces of messages in MODE.SKL so have to | ||
| 76 | ; implement the SYSGETMSG method of getting addressability to | ||
| 77 | ; the pieces. This means that the code does a SYSGETMSG call | ||
| 78 | ; which returns a pointer (DS:SI) to the message piece. The | ||
| 79 | ; address is then put in the sublist block for the message | ||
| 80 | ; being issued. | ||
| 81 | |||
| 82 | ; AX002 - P4576 Segments were being trashed before calling message services | ||
| 83 | ; because device type was wrong on IOCTL call because ES was | ||
| 84 | ; zero when using CMPSB in SET_DEV_TYPE and no match was made. | ||
| 85 | |||
| 86 | ;º º | ||
| 87 | ;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ P R O L O G ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | ||
| 88 | |||