?login_element?

Subversion Repositories NedoOS

Rev

Rev 922 | Blame | Compare with Previous | Last modification | View Log | Download

  1.         DEVICE ZXSPECTRUM128
  2.         include "../_sdk/sys_h.asm"
  3.         include "8080.asm"
  4.  
  5. ;
  6. ; CCC.ASM:  BDS C Run-Time Package (C.CCC)          v1.6, 2/86
  7. ;
  8. ;       Copyright (c) 1982, 1983, 1986  by BD Software, Inc.
  9. ;
  10. ; This is the source to the BDS C run-time package module. When running
  11. ; in a standard CP/M system environment, the run-time package object module
  12. ; resides at the start of the TPA (typically 100h). The code generated by
  13. ; the BDS C Compiler usually has its origin immediately following the end of
  14. ; the run-time package module.
  15. ;
  16. ; This file may be assembled either by Digital Research's assemblers
  17. ; (ASM and MAC) or by Microsoft's assembler (M80/L80). Set the M80 symbol
  18. ; (below) to specify which assembler shall be used. The final result of the
  19. ; assembly is a run-time package module named "C.CCC", ready for use by
  20. ; CLINK.COM or L2.COM.
  21. ;
  22. ;       Assembly instructions for MAC.COM / ASM.COM:
  23. ;       (set  M80 to FALSE)
  24. ;               >asm ccc
  25. ;               >load ccc
  26. ;               >ren c.ccc=ccc.com
  27. ;
  28. ;       Assembly instructions with M80.COM for standard CP/M TPA operation:
  29. ;       (set M80 to TRUE)
  30. ;               >m80 ccc,ccc=ccc.asm
  31. ;               >l80 /p:100,ccc/n,ccc/e
  32. ;               >ren c.ccc=ccc.com
  33. ;
  34.  
  35. M80     EQU     FALSE   ;TRUE for M80 and L80, FALSE if using ASM/MAC and LOAD
  36.  
  37. ;
  38. ; Equate statements in CAPITAL letters may be configured to control the
  39. ; following environmental and auxilliary options of the run-time environment:
  40. ;
  41. ;       a) operating system environment, or lack thereof  (CPM, MPM2)
  42. ;       b) recognition of the CP/M "user area" mechandsm (USAREA)
  43. ;       c) CDB debugger interface (USERST, RSTNUM)
  44. ;       d) code compression through use of restart vectors 1-7 (ZOPT1-ZOPT7)
  45. ;
  46. ; All the above options (except CPM and sometimes ZOPT1-ZOPT7) may be altered
  47. ; freely WITHOUT requiring the reassembly of the CSM-coded portions of the
  48. ; C library (object in DEFF2.CRL). Changing ZOPT1-ZOPT7 requires library
  49. ; reassembly only when PRESRV is set to FALSE.
  50. ;
  51. ; If generating code for an operating-system-independent application (when
  52. ; the CPM equate is set to FALSE), make sure to set the following values:
  53. ;
  54. ;       e) the origin of the run-time package code segment (ORIGIN)
  55. ;       f) the origin of the run-time package's local data area (RAM)
  56. ;       g) the transfer address upon program termination (EXITAD)
  57. ;
  58.  
  59. FALSE   equ     0
  60. TRUE    equ     not FALSE
  61.  
  62. CPM     EQU     TRUE    ;True if to be run under any CP/M- or MP/M-like system
  63. MPM2    EQU     FALSE   ;True ONLY if running MP/M II (forces R/O file closes)
  64. NEDOOS EQU 1
  65.  
  66. ;
  67. ;       Use this section to configure run-time package
  68. ;       for non-CP/M-resident operation (e.g., for ROM):
  69. ;
  70.  
  71.         IF NOT CPM              ;fill in the appropriate values...
  72. ORIGIN  EQU     NEWBASE         ;Address at which programs are to run
  73. RAM     EQU     WHATEVER        ;R/W memory area for non-CP/M configurations
  74.                                 ;(default: immediately after C.Ccall c,under CP/M)
  75. EXITAD  EQU     WHENDONE        ;where to go when done executing
  76.         ENDIF
  77.  
  78. ;
  79. ; Some CP/M-specific symbolic values:
  80. ;
  81.  
  82.         if      CPM
  83. nfcbs   EQU     8       ;maximum # of files open at one time
  84. base    equ     0       ;start of system ram
  85. bdos    equ     base+5  ;bdos entry pt.
  86. tpa     equ     base+100h
  87. tbuff   equ     base+80h
  88. ORIGIN  equ     tpa
  89. EXITAD  equ     base    ;warm boot location
  90.  
  91. conin   equ     1       ;BDOS call codes...console input
  92. cstat   equ     11      ;interrogate console status
  93. closec  equ     16      ;close file
  94. gsuser  equ     32      ;get/set user code
  95.         endif
  96.  
  97. ;
  98. ; The location of the jump vectors and utility routines must remain
  99. ; constant relative to the beginning of this run-time module.
  100. ;
  101. ; Do NOT change ANYTHING between here and the start of the
  102. ; "init" routine!!!!!!!!
  103. ;
  104.  
  105.         ;IF NOT M80
  106.         org     ORIGIN
  107. begin
  108.         ;ENDIF
  109.  
  110.         include "ccc.asm"
  111.  
  112. end
  113.         savebin "c.ccc",begin,end-begin
  114.        
  115.         LABELSLIST "../../us/user.l"
  116.