You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ramvarsf.src 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. .page 'ramvar.sf'
  2. ;permanent address variables
  3. ;
  4. *=zp2
  5. ;
  6. vnmi *=*+2 ; indirect for nmi
  7. nmiflg *=*+1
  8. autofg *=*+1
  9. secinc *=*+1 ; sector inc for seq
  10. revcnt *=*+1 ; error recovery count
  11. bufs = $300 ; start of data bufs
  12. fbufs = bufs ; format download image
  13. ;*
  14. ;*********************************
  15. ;*
  16. ;* zero page variables
  17. ;*
  18. ;*********************************
  19. ;*
  20. usrjmp *=*+2 ; user jmp table ptr
  21. bmpnt *=*+2 ; bit map pointer
  22. temp *=*+6 ; temp work space
  23. ip *=*+2 ; indirect ptr variable
  24. lsnadr *=*+1 ; listen address
  25. tlkadr *=*+1 ; talker address
  26. lsnact *=*+1 ; active listener flag
  27. tlkact *=*+1 ; active talker flag
  28. adrsed *=*+1 ; addressed flag
  29. atnpnd *=*+1 ; attention pending flag
  30. atnmod *=*+1 ; in atn mode
  31. prgtrk *=*+1 ; last prog accessed
  32. drvnum *=*+1 ; current drive #
  33. track *=*+1 ; current track
  34. sector *=*+1 ; current sector
  35. lindx *=*+1 ; logical index
  36. sa *=*+1 ; secondary address
  37. orgsa *=*+1 ; original sa
  38. data *=*+1 ; temp data byte
  39. ;*
  40. ;*
  41. t0 =temp
  42. t1 =temp+1
  43. t2 =temp+2
  44. t3 =temp+3
  45. t4 =temp+4
  46. r0 *=*+1
  47. r1 *=*+1
  48. r2 *=*+1
  49. r3 *=*+1
  50. r4 *=*+1
  51. result *=*+4
  52. accum *=*+5
  53. dirbuf *=*+2
  54. icmd *=*+1 ; ieee cmd in
  55. mypa *=*+1 ; my pa flag
  56. cont *=*+1 ; bit counter for ser
  57. ;*
  58. ;*********************
  59. ;*
  60. ;* zero page array
  61. ;*
  62. ;***********************
  63. ;*
  64. buftab *=*+cbptr+4 ; buffer byte pointers
  65. cb=buftab+cbptr
  66. buf0 *=*+mxchns+1
  67. buf1 *=*+mxchns+1
  68. nbkl
  69. recl *=*+mxchns
  70. nbkh
  71. rech *=*+mxchns
  72. nr *=*+mxchns
  73. rs *=*+mxchns
  74. ss *=*+mxchns
  75. f1ptr *=*+1 ; file stream 1 pointer
  76. ;
  77. ;***********************
  78. ; $4300 vars moved to zp
  79. ;
  80. recptr *=*+1
  81. ssnum *=*+1
  82. ssind *=*+1
  83. relptr *=*+1
  84. entsec *=*+mxfils ; sector of directory entry
  85. entind *=*+mxfils ; index of directory entry
  86. fildrv *=*+mxfils ; default flag, drive #
  87. pattyp *=*+mxfils ; pattern,replace,closed-flags,type
  88. filtyp *=*+mxchns ; channel file type
  89. chnrdy *=*+mxchns ; channel status
  90. eoiflg *=*+1 ; temp eoi
  91. jobnum *=*+1 ; current job #
  92. lrutbl *=*+mxchns-1 ; least recently used table
  93. nodrv *=*+2 ; no drive flag
  94. dskver *=*+2 ; disk version from 18.0
  95. zpend=*
  96. *=$200
  97. cmdbuf *=*+cmdlen+1
  98. cmdnum *=*+1 ; command #
  99. lintab *=*+maxsa+1 ; sa:lindx table
  100. chndat *=*+mxchns ; channel data byte
  101. lstchr *=*+mxchns ; channel last char ptr
  102. type *=*+1 ; active file type
  103. ;
  104. ;*
  105. ;*******************
  106. ;*
  107. ;* ram variables in $4300
  108. ;*
  109. ;*******************
  110. ;*
  111. ; *=$4300
  112. strsiz *=*+1
  113. ;zp: recptr *=*+1
  114. ;zp: ssnum *=*+1
  115. ;zp: ssind *=*+1
  116. ;zp: relptr *=*+1
  117. tempsa *=*+1 ; temporary sa
  118. ;zp: eoiflg *=*+1 ; temp eoi
  119. cmd *=*+1 ; temp job command
  120. lstsec *=*+1 ;
  121. bufuse *=*+2 ; buffer allocation
  122. ;zp: jobnum *=*+1 ; current job #
  123. mdirty *=*+2 ; bam 0 & 1 dirty flags
  124. entfnd *=*+1 ; dir-entry found flag
  125. dirlst *=*+1 ; dir listing flag
  126. cmdwat *=*+1 ; command waiting flag
  127. linuse *=*+1 ; lindx use word
  128. lbused *=*+1 ; last buffer used
  129. rec *=*+1
  130. trkss *=*+1
  131. secss *=*+1
  132. .page
  133. ;*
  134. ;********************************
  135. ;*
  136. ;* ram array area
  137. ;*
  138. ;********************************
  139. ;*
  140. lstjob *=*+bfcnt ; last job
  141. ;zp: lintab *=*+maxsa+1 ; sa:lindx table
  142. ;zp: chndat *=*+mxchns ; channel data byte
  143. dsec *=*+mxchns ; sector of directory entry
  144. dind *=*+mxchns ; index of directory entry
  145. erword *=*+1 ; error word for recovery
  146. erled *=*+1 ; error led mask for flashing
  147. prgdrv *=*+1 ; last program drive
  148. prgsec *=*+1 ; last program sector
  149. wlindx *=*+1 ; write lindx
  150. rlindx *=*+1 ; read lindx
  151. nbtemp *=*+2 ; # blocks temp
  152. cmdsiz *=*+1 ; command string size
  153. char *=*+1 ; char under parser
  154. limit *=*+1 ; ptr limit in compar
  155. f1cnt *=*+1 ; file stream 1 count
  156. f2cnt *=*+1 ; file stream 2 count
  157. f2ptr *=*+1 ; file stream 2 pointer
  158. ; parser tables
  159. filtbl *=*+mxfils+1 ; filename pointer
  160. ;zp: filent *=*+mxfils ; directory entry
  161. ;zp: fildat *=*+mxfils ; drive #, pattern
  162. filtrk *=*+mxfils ; 1st link/track
  163. filsec *=*+mxfils ; /sector
  164. ; channel tables
  165. ;zp: filtyp *=*+mxchns ; channel file type
  166. ;zp: chnrdy *=*+mxchns ; channel status
  167. ;zp: lstchr *=*+mxchns ; channel last char ptr
  168. patflg *=*+1 ; pattern presence flag
  169. image *=*+1 ; file stream image
  170. drvcnt *=*+1 ; number of drv searches
  171. drvflg *=*+1 ; drive search flag
  172. lstdrv *=*+1 ; last drive w/o error
  173. found *=*+1 ; found flag in dir searches
  174. dirsec *=*+1 ; directory sector
  175. delsec *=*+1 ; sector of 1st avail entry
  176. delind *=*+1 ; index "
  177. lstbuf *=*+1 ; =0 if last block
  178. index *=*+1 ; current index in buffer
  179. filcnt *=*+1 ; counter, file entries
  180. typflg *=*+1 ; match by type flag
  181. mode *=*+1 ; active file mode (r,w)
  182. ;zp: type *=*+1 ; active file type
  183. jobrtn *=*+1 ; job return flag
  184. eptr *=*+1 ; ptr for recovery
  185. toff *=*+1 ; total track offset
  186. ubam *=*+2 ; last bam update ptr
  187. tbam *=*+4 ; track # of bam image
  188. bam *=*+16 ; bam images
  189. ;*
  190. ;*****************************************
  191. ;*
  192. ;* output buffers
  193. ;*
  194. ;********************************************
  195. ;*
  196. ; *=$4400-36-36
  197. nambuf *=*+36 ; directory buffer
  198. errbuf *=*+36 ; error msg buffer
  199. wbam *=*+1 ; don't-write-bam flag
  200. ndbl *=*+2 ; # of disk blocks free
  201. ndbh *=*+2
  202. phase *=*+2
  203. ramend=*
  204. ;.end