home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / zcpr2 / zcpr2-xe.lbr / RAMINIT.ASM < prev    next >
Assembly Source File  |  1985-02-09  |  3KB  |  119 lines

  1. ;    FILE:    "RAMINIT.ASM"
  2. ;
  3. ;    THIS PROGRAM INITIALIZES THE XEROX 820-II RAM AREA TO ALLOW
  4. ;    THE USE OF ZCPR2 WITH FULL FEATURES.  
  5. ;
  6. ;    UPON INITIAL BOOT, ONLY THE MULTIPLE COMMAND BUFFER
  7. ;    IS INITIALIZED DUE TO LACK OF SPACE IN THE CBIOS.
  8. ;    BUT, 'STAR.COM' IS INVOKED AT COLD BOOT.  THIS RUNS
  9. ;    THIS PROGRAM 'RAMINIT', WHICH FINISHES INITIALIZING
  10. ;    ALL OF THE BUFFERS.
  11. ;                DOUG GILBERT  7/83
  12. ;
  13.     ORG    0100H            ;STANDARD CP/M TPA
  14. ;
  15. ;EQUATES TO SET FREE RAM BUFFER AREAS IN XEROX 820-II
  16. ;
  17. CLBASE    EQU    0EE80H            ;128 BYTE MULT CMD BUFFER
  18. BUFLEN    EQU    128            ;MAX BUFF LENGTH
  19. NDBASE    EQU    0EF00H            ;128 BYTE NAMED DIRECT. BUFFER
  20. NDLEN    EQU    128            ;MAX BUFF LENGTH
  21. PABASE    EQU    0EFC0H            ;14 BYTE EXT. PATH BUFFER
  22. ;
  23. ;----------------------------------------------------------------------
  24. ;*SET UP MULTIPLE COMMAND BUFFER AREA (no longer needed)
  25. ;*  done by CBIOS boot
  26. ;*
  27. ;*LXI    D,CMDSET        ;INITIAL COMMAND BUFFER TBL
  28. ;*LXI    H,CLBASE        ;LOCATION OF CMD BUFFER RAM
  29. ;*MVI    B,BUFMOV        ;BUFFER SIZE TO MOVE
  30. ;*CALL    MOVER            ;MOVE INIT. 128 BYTES TO BUFF.
  31. ;----------------------------------------------------------------------
  32. ;    SET UP NAMED DIRECTORY BUFFER AREA
  33. ;
  34.     LXI    D,NDVALS        ;INITIAL NAMED DIRECT. VALUES
  35.     LXI    H,NDBASE        ;LOCATION OF NAMED DIRECT. BUFF.
  36.     MVI    B,NDMOV            ;BUFFER SIZE TO MOVE
  37.     CALL    MOVER            ;MOVE INIT. 128 BYTES TO BUFF.
  38. ;
  39. ;    SET UP EXTERNAL SEARCH PATH BUFFER AREA
  40. ;
  41.     LXI    D,PATH            ;SET UP FOR INITIAL PATH
  42.     LXI    H,PABASE        ;LOCATION OF EXT. PATH
  43.     MVI    B,PALEN            ;BUFFER SIZE TO MOVE
  44.     CALL    MOVER            ;GO AND MOVE THEM
  45. ;
  46. ;    DONE, SO RETURN TO O.S.
  47. ;
  48. CLEAR    EQU    1AH
  49. CR    EQU    0DH
  50. LF    EQU    0AH
  51. BELL    EQU    07H
  52. ESC    EQU    1BH
  53. ;
  54.     MVI    C,9            ;BDOS PRINT STRING FNC
  55.     LXI    D,MESSAGE        ;POINTER TO MESSAGE
  56.     CALL    5            ;DO IT!
  57.     RET
  58. ;
  59. ;
  60. ;
  61. MESSAGE:
  62.     DB    CLEAR            ;CLEAR SCREEN, HOME CURSOR
  63.     DB    CR,LF,LF,LF,LF,LF,LF,LF,LF,LF,LF
  64.     DB    '                    '
  65.     DB    ESC,'7'            ;SET INVERSE VIDEO MODE
  66.     DB    ESC,')'            ;ENABLE ATTRIBUTE
  67.     DB    'GOOD DAY!  ZCPR22 SYSTEM READY'
  68.     DB    ESC,'('            ;DISABLE ATTRIBUTE
  69.     DB    BELL
  70.     DB    CR,LF
  71.     DB    '$'
  72. ;
  73. ;    BYTE MOVE SUBROUTINE
  74. ;
  75. MOVER:
  76.     LDAX    D
  77.     MOV    M,A
  78.     INX    H
  79.     INX    D
  80.     DCR    B
  81.     JNZ    MOVER
  82.     RET
  83. ;
  84. ;    INITIALIZATION TABLES
  85. ;-------------------------------------------------------------------
  86. ;    MULTIPLE COMMAND BUFFER INITIALIZATION (no longer needed)
  87. ;       left over from earlier implementation...reference only
  88. ;CMDSET:
  89. ;*DW    CLBASE+4        ;POINT TO 1st CHAR
  90. ;*DB    BUFLEN
  91. ;*DB    0
  92. ;*DB    'WELCOME'        ;INITIAL COMMAND (NONE)
  93. ;*DB    0            ;END OF COMMAND
  94. ;BUFMOV    EQU    $-CMDSET        ;AMOUNT OF BUFFER TO INIT
  95. ;-------------------------------------------------------------------
  96. ;    NAMED DIRECTORY BUFFER INITIALIZATION
  97. ;
  98. NDVALS:
  99.     DB    NDLEN            ;LENGTH OF BUFFER
  100.     DB    0            ;NO ENTRIES NOW
  101.     DB    0            ;DUMMY FOR NO DISK
  102.     DB    0            ;DUMMY FOR NO USER
  103.     DB    0            ;DUMMY FOR NO NAME
  104. NDMOV    EQU    $-NDVALS        ;AMOUNT OF BUFFER TO INIT
  105. ;
  106. ;    EXTERNAL PATH BUFFER INITIALIZATION
  107. ;
  108. PATH:
  109.     DB    '$',0        ;CURRENT DISK, USER 0
  110. ;    DB    1,0        ;DISK A, USER 0
  111.     DB    1,'$'        ;DISK A, CURRENT USER
  112.     DB    1,0        ;ROOT VALUE, DISK A, USER 0
  113.     DB    0
  114. PALEN    EQU    $-PATH        ;AMOUNT OF BUFFER TO INIT
  115. ;
  116. ;
  117.     END
  118.  
  119.