ASMB,L
* 
* 
* 
* 
* 
* 
**************************************************************
* (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
* RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
* PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
* OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
**************************************************************
* 
* 
* 
*      NAME: GTEXT
*      SOURCE: 92840 - 18142
*      RELOC:  92840 - 16021
* 
* 
* 
************************************************************* 
      NAM GTEXT,7 92840-16021 REV.2013 790904 
********************************************************************* 
* GTEXT IS THE ASMB INTERFACE FOR THE SOFTWARE TEXT 
* GENERATION SUBROUTINE GTEXT.
* 
* GTEXT BRANCHES ACCORDING TO WHETHER SOFTWARE OR HARDWARE TEXT IS
* ENABLED. ALSO, IF SOFTWARE TEXT IS ENABLED, BUT THE USER FAILED 
* TO PASS IN A DCB, A FIRM ERROR IS REPORTED AND THE USER WILL STILL
* GET HARDWARE TEXT.
* 
* NOTE THAT THE CALL TO GTEX1 EXPANDS THE DCB INTO THE 16-WORD FMP PORTION
* AND THE 128-WORD BUFFER PORTION STARTING AT GCB(17).
* IN THIS WAY, GTEX1 ONLY KNOWS THAT IT'S GETTING A UTILITY BUFFER
* THAT IT CAN USE IN ANY WAY IT CHOOSES, AND DOESN'T NEED TO KNOW 
* THAT IT'S PART OF THE DCB.
* 
**********************************************************************
* 
      ENT GTEXT 
      EXT PLTER,.OPTN,GTEX1,GTEX2,GSOFT 
      EXT GASC1,GCHK
******************************************************************* 
* ENTRY POINT FOR CALL TO GTEXT.
******************************************************************* 
IAC   NOP           ACTION PARAMETER THAT NEVER GETS USED 
IGCB  NOP 
ITEXT NOP 
ISTRT NOP 
ITEXL NOP 
IDCB  NOP 
DCB17 NOP           DEF TO THE 128 WORD BUFFER AFTER THE DCB
GTEXT NOP 
      LDA GTEXT 
      JSB .OPTN     .OPTN TRANSFERS PARAMETER ADDRESSES TO IAC
      DEF RTN00 
      DEF IAC 
      DEF M6
      DEF IDUMY     NO ACTION CODE
      DEF D4        NUMBER OF REQUIRED PARAMETERS 
      DEF D1        NUMBER OF OPTIONAL PARAMETERS 
      DEF OPARM     ADDRESS OF OPTIONAL PARAMETERS
      DEF RETRN     .OPTN STUFFS RETURN ADDRESS INTO RETRN
RTN00 JMP GERR1     ERROR RETURN POINT
**************************************************************
* GRAPHICS LINK AND CHECK FOR SUSPENDED GCB.
* 
      JSB GCHK
      DEF RTNA
      DEF IGCB,I
      DEF ISUSP 
RTNA  LDA ISUSP 
      SZA 
      JMP RETRN,I 
************************************************************* 
* NORMAL RETURN POINT 
*TEST IF SOFTWARE TEXT IS CURRENTLY ENABLED.
*************************************************************** 
* CALL GASC1 TO TEST IF ITEXT IS A BASIC STRING. IF SO, BUMP
* THE ADDRESS BY 1. 
* 
      JSB GASC1 
      DEF RTN01 
      DEF ITEXT,I 
      DEF IBASC 
* 
RTN01 LDA IBASC 
      SSA 
      ISZ ITEXT 
********************************************************************
* CALL GSOFT TO SEE IF SOFTWARE TEXT IS ENABLED. JUMP TO HARD IF NOT. 
* 
      JSB GSOFT 
      DEF RTN0
      DEF IGCB,I
* 
RTN0  SSA,RSS 
      JMP HARD      EXECUTE THIS IF A=.FALSE. 
***************************************************************** 
* SOFTWARE TEXT GETS IMPLEMENTED HERE.
* CHECK FOR THE ERROR CONDITION IN WHICH .OPTN STUFFED THE
* DEFAULT VALUE IN AS THE ADDRESS FOR THE DCB (I.E. THE DCB 
* IS A REQUIRED PARAMETER FOR SOFTWARE TEXT.) 
* 
      LDA IDCB
      SZA,RSS 
      JMP GERR1 
******************************************************************
* THE DCB WAS PASSED IN BY THE USER.
* DEVELOP A DEF TO IDCB(17) 
* 
      LDA IDCB
      ADA D16 
      STA DCB17 
* 
      JSB GTEX1     CALL GTEX1 TO 
      DEF RTN2      PROCESS THE CALL. 
      DEF IGCB,I
      DEF ITEXT,I 
      DEF ISTRT,I 
      DEF ITEXL,I 
      DEF IDCB,I
      DEF DCB17,I 
* 
RTN2  JMP FINIS 
********************************************************************
* SOFTWARE TEXT IS ENABLED, BUT THE USER FAILED TO PASS IN A DCB. 
* PRINT OUT FIRM ERROR AND GIVE HIM HARDWARE TEXT INSTEAD.
* 
GERR1 NOP 
      JSB PLTER 
      DEF RTN1
      DEF D96 
      DEF IDUMY 
RTN1  JMP RETRN,I 
***************************************************************** 
* HARDWARE TEXT GETS IMPLEMENTED HERE.
* 
HARD  JSB GTEX2 
      DEF RTN3
      DEF IGCB,I
      DEF ITEXT,I 
      DEF ISTRT,I 
      DEF ITEXL,I 
* 
RTN3  JMP FINIS 
******************************************************************
* FINISH UP AND RETURN. 
* 
FINIS NOP 
      JMP RETRN,I 
******************************************************************* 
* ERROR HANDLER.
* 
GERR2 NOP 
      JSB PLTER 
      DEF RTN22 
      DEF D96 
      DEF IGCB,I
RTN22 NOP 
      JMP RETRN,I 
******************************************************************* 
* CONSTANTS 
* 
D16   DEC 16
M6    DEC -6
D4    DEC 4 
D1    DEC 1 
D96   DEC 96        TRANSLATES TO GPS 99 GTEXT
IDUMY NOP 
OPARM NOP 
IBASC NOP 
RETRN NOP           FOR THE JMP RETRN,I 
ISUSP NOP           EQUALS 0 IF GCB NOT SUSPENDED 
      END 
                                                                                                                                                                                                                                      