home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D02.D64 / equatev1.1.asm < prev    next >
Encoding:
Assembly Source File  |  2019-04-13  |  3.2 KB  |  160 lines

  1. e
  2. _*********************************************************
  3. _*                                                       *
  4. _*       module name : EQUATEV1.1.ASM                    *
  5. _*                     contains global equates and       *
  6. _*                     zero page defs, plus other global *
  7. _*                     memory locations.                 *
  8. _*                                                       *
  9. _*                Maintenance log                        *
  10. _*                ---------------                        *
  11. _* 24/02/89    00:30               initial coding        *
  12. _*   date      time                     action           *
  13. _*   ----      ----                     ------           *
  14. _* 24/02/89    21:55                initial coding       *
  15. _* 06/04/89    22:40             added zero page defns   *
  16. _* 21/04/89    21:00             added screen defns      *
  17. _* 03/05/89    17:45             modified load section   *
  18. _* 19/05/89    20:55             savestk equate added    *
  19. _*********************************************************
  20.  
  21. _
  22. _ Character equates
  23. _
  24.  
  25. config    = $00      _ RAM 0, I/O and all ROMs RAM $0000 - $3FFF
  26. cr    = 13        _ Carriage return
  27. del    = 20        _ back space
  28. space    = 32
  29. comma    = 44
  30.  
  31. _ operating systems page zero and page one MMU values
  32.  
  33. osp0low    = 0
  34. osp0hi    = 0
  35. osp1low    = 1
  36. osp1hi    = 0
  37.  
  38. _ other useful equates
  39.  
  40. maxlen    = 16            _ maximum name length
  41. pagend    = 255                 _ final location in a page
  42.  
  43. _ Kernal & routine Definitions
  44.  
  45. ldafar    = $02a2
  46. stafar    = $02af
  47. basin    = $c012
  48. irqret    = $ff33
  49. nmiret    = $ff33
  50.  
  51. _ MEMORY DEFINTIONS
  52.  
  53. _
  54. _ zero page area (placed here so that assembler defines these labels first 
  55. _                 and so it doesn't take a zero page label and because it
  56. _                 is undefined, take 2 bytes for the address in this module
  57. _                 structure.)
  58. _
  59. _ Program table locations
  60.  
  61. tabpntr    = $40        _ pointer to the table
  62. current    = tabpntr+2        _ currently running program
  63.  
  64. _ Memory control routine addresses do not re-order
  65.  
  66. ramused    = $50
  67. startram    = ramused + 1
  68. endram    = startram + 2
  69. length    = endram + 2
  70. givelen    = length + 2
  71. storpntr     = givelen + 2
  72.  
  73. _ relocation routine
  74.  
  75. newstart    = $70
  76. newend    = newstart + 2
  77. newram    = newend + 2
  78. execadd    = newram + 1
  79. oldadd    = execadd + 2
  80. oldend    = oldadd + 2
  81. progptr    = oldend + 2
  82. curradd    = progptr + 2
  83. newexec    = curradd + 2
  84.  
  85. _ loader routine addresses
  86.  
  87. zeropage    = $30       
  88. pageone    = zeropage + 1
  89. pritemp    = pageone + 1
  90. zeroadd    = $4a
  91. iomode    = $9d
  92. startlo    = $ae
  93. starthi     = $af
  94. prgnlen    = $b7
  95. lfn    = $b8
  96. sa    = $b9
  97. dev    = $ba
  98. prgnadd    = $bb
  99. prglodbk    = $c6
  100. namebank    = $c7
  101.  
  102. charptr    = $d0
  103.  
  104. _
  105. _ Message display routine
  106. _
  107.  
  108. messpntr    = $66    _ length 2
  109.  
  110. _
  111. _ NMI required locations
  112. _
  113.  
  114. savestk    = $68    _ length 1
  115.  
  116. _
  117. _ Screen display routine
  118. _
  119.  
  120. cursorx    = $e4
  121. cursory    = cursorx+1
  122. scradd    = cursory+1
  123. add8    = scradd+2
  124. lineadd1    = add8+2
  125. lineadd2    = lineadd1+2
  126. line    = lineadd2+2
  127. savex    = line+1
  128. savey    = savex+1
  129.  
  130.  
  131.  
  132.  
  133. _
  134. _ Other locations required
  135. _
  136.  
  137. ldaset    = $2aa        _ LDAFAR routine
  138. staset    = $2b9        _ STAFAR routine
  139. irqvec    = $314
  140. nmivec    = $318
  141. brkvec     = $316
  142. char    = $034a
  143. screen    = $0400
  144. confreg    = $ff00
  145.  
  146. _ I/O registers
  147.  
  148. vicirq    = $d019
  149. vicena    = $d01a
  150. ramconf   = $d506
  151. page0low  = $d507
  152. page0hi   = $d508
  153. page1low  = $d509
  154. page1hi   = $d50a
  155. ciairq    = $dc0d
  156. cianmi    = $dd0d
  157.  
  158.     IEND
  159.  
  160.