;  --- PATCH TO CP/M 2.X TO LIST USER # IN DRIVE PROMPT ---
;           ( VALID FOR CP/M 2.0, 2.1, AND 2.2)
;               BY BRUCE KENDALL (TKI)
;                     7/12/80
;               TIGHTENED UP BY BRUCE RATOFF
;                    11/17/80
;
;       IF YOU HAVE TRIED PLAYING WITH THE  'USER' COMMAND
;       IN CP/M 2.X, YOU MAY HAVE BECOME ANNOYED THAT THERE
;       WAS NO WAY OF TELLING WHAT USER AREA YOU WERE IN.  THIS
;       PATCH SOLVES THIS PROBLEM BY DISPLAYING THE USER NUMBER
;       IN HEX ( A SINGLE CHARACTER SINCE USER # : 0-15 ARE VALID)
;       BETWEEN THE DRIVE NAME LETTER AND THE '>'. THAT IS, A USER
;       LOGGED INTO USER AREA #4 WOULD SEE THE STANDARD CP/M
;       PROMPT (MODIFIED BY THIS PATCH) AS:
;               A4>       ( INSTEAD OF JUST A>)
;
;
MSIZE   EQU     64      ; CP/M SYSTEM SIZE IN KB
;
DELTA   EQU     000H    ; OFFSET FROM STD CP/M SIZE
                       ; THIS WOULD BE SET TO 400H IF
                       ; THE 20K CP/M WAS ACTUALLY A 19K
                       ; CP/M (WHEN COMPARED TO THE STD
                       ; 20K CP/M DESCRIBED IN THE CP/M
                       ; MANUALS FROM DIGITAL RESEARCH).
;
BIAS    EQU     (MSIZE-20)*1024-DELTA ; OFFSET FROM 20K CP/M
CCP     EQU     3400H+BIAS
;
OFFSET  EQU     980H-CCP ; OFFSET USED WITH  DDT IN
                       ; SYSTEM CONFIGURATION (ASSUMES
                       ; THAT 'CCP' OCCURES AT 980H IN THE
                       ; SYSGEN MEMORY IMAGE).
;
COUT    EQU     CCP+8CH ; CCP CONSOLE OUTPUT ROUTINE
GTUSR   EQU     CCP+113H ; CCP GET USER # ROUTINE
;
;
       ORG     CCP+38DH
;
       CALL    PATCH   ; THIS WAS A   CALL  COUT
;
;
; -----------------------------------------------
; NOTE THE CODE IN THE NEIGHBORHOOD OF THIS PATCH WAS
; USED TO PRINT OUT THE 'A>' PROMPT:
;
; CCP+382H:
;       LXI SP,----
;       CALL    FLUSH   ; RESET BUFFERS
;       CALL    GTDRV   ; GET DRIVE #
;       ADI     'A'     ; ADD IN ASCII BIAS
;       CALL    COUT    ; <--- MAKE PATCH HERE
;       MVI     A,'>'   ; GET '>'
;       CALL    COUT    ; PRINT IT OUT
;       CALL    GTCOMD  ; GET CONSOLE COMMAND
;         .
;         .
;         .
; -------------------------------------------------
;
;
       ORG     CCP+15F0H       ; PATCH AREA AT END OF BDOS
;
PATCH:  CALL    COUT    ; OUTPUT CHAR. IN ACC TO CONSOLE
       CALL    GTUSR   ; GET USER #
       ADI     90H     ; USE INTEL HEX/ASCII TRICK
       DAA
       ACI     40H
       DAA
       JMP     COUT    ; PRINT OUT AND RETURN
;
; ------------------------------------------------------
; NOTE: THE 'GTUSR' COMMAND IS JUST A SHORT ROUTINE:
;
;GTUSR: MVI     E,0FFH
;       MVI     C,32
;       JMP     05
; ------------------------------------------------------
;
       END