doorsos.h.end 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. doorsos::ScreenClear equ _ROM_CALL_19E
  2. doorsos::DrawStrXY equ _ROM_CALL_1A9
  3. doorsos::ArchiveErase equ _ROM_CALL_16A+$10
  4. doorsos::ArchiveWrite equ _ROM_CALL_171
  5. doorsos::bcdadd equ _ROM_CALL_B6
  6. doorsos::bcdcmp equ _ROM_CALL_BB
  7. doorsos::bcddiv equ _ROM_CALL_B9
  8. doorsos::bcdbcd equ _ROM_CALL_BD
  9. doorsos::bcdmul equ _ROM_CALL_B8
  10. doorsos::bcdneg equ _ROM_CALL_BA
  11. doorsos::bcdsub equ _ROM_CALL_B7
  12. doorsos::bcdlong equ _ROM_CALL_BC
  13. doorsos::ST_showHelp equ _ROM_CALL_E6
  14. doorsos::DrawTo equ _ROM_CALL_19C
  15. doorsos::flush_link equ _ROM_CALL_24D
  16. doorsos::receive equ _ROM_CALL_24F
  17. doorsos::reset_link equ _ROM_CALL_24C
  18. doorsos::transmit equ _ROM_CALL_250
  19. doorsos::tx_free equ _ROM_CALL_252
  20. doorsos::SymFindFoldername equ _ROM_CALL_6F
  21. doorsos::MakeHsym equ _ROM_CALL_282
  22. CALCULATOR equ _RAM_CALL_000
  23. HW_VERSION equ CALCULATOR+1
  24. LCD_WIDTH equ _RAM_CALL_001
  25. LCD_HEIGHT equ _RAM_CALL_002
  26. doorsos::ROM_base equ _RAM_CALL_003
  27. LCD_LINE_BYTES equ _RAM_CALL_004
  28. KEY_LEFT equ _RAM_CALL_005
  29. KEY_RIGHT equ _RAM_CALL_006
  30. KEY_UP equ _RAM_CALL_007
  31. KEY_DOWN equ _RAM_CALL_008
  32. KEY_UPRIGHT equ _RAM_CALL_009
  33. KEY_DOWNLEFT equ _RAM_CALL_00A
  34. KEY_DIAMOND equ _RAM_CALL_00B
  35. LCD_SIZE equ _RAM_CALL_00C
  36. KEY_SHIFT equ _RAM_CALL_00D
  37. doorsos::font_medium equ _RAM_CALL_00E
  38. ReturnValue equ _RAM_CALL_00F
  39. doorsos::kb_globals equ _RAM_CALL_010
  40. doorsos::Heap equ _RAM_CALL_011
  41. doorsos::FolderListHandle equ _RAM_CALL_012
  42. doorsos::MainHandle equ _RAM_CALL_013
  43. ROM_VERSION equ _RAM_CALL_014
  44. doorsos::font_small equ doorsos::font_medium+$800
  45. doorsos::font_large equ doorsos::font_medium+$E00
  46. LCD_MEM equ $4c00
  47. doorsos::main_lcd equ LCD_MEM
  48. doorsos::globals equ $4c00
  49. doorsos::MaxHandles equ doorsos::Heap-$16
  50. doorsos::TopHeap equ doorsos::Heap-$C
  51. doorsos::FirstFreeByte equ doorsos::Heap-$14
  52. doorsos::kb_vars equ doorsos::kb_globals
  53. KEY_PRESSED_FLAG equ doorsos::kb_globals+$1c
  54. GETKEY_CODE equ doorsos::kb_globals+$1e
  55. APD_INIT equ LCD_MEM+$F10
  56. APD_TIMER equ LCD_MEM+$F14
  57. APD_FLAG equ LCD_MEM+$F42
  58. doorsos::SYM_ENTRY.name equ 0
  59. doorsos::SYM_ENTRY.flags equ 8
  60. doorsos::SYM_ENTRY.hVal equ $c
  61. doorsos::NULL equ 0
  62. doorsos::H_NULL equ 0
  63. doorsos::RAND_MAX equ $7fff
  64. ACTIVITY_IDLE equ 0
  65. ACTIVITY_BUSY equ 1
  66. ACTIVITY_PAUSED equ 2
  67. doorsos::ER_STOP equ 2
  68. doorsos::ER_DIMENSION equ 230
  69. doorsos::ER_MEMORY equ 670
  70. doorsos::ER_MEMORY_DML equ 810
  71. doorsos::UNDEFINED_TAG equ $2a
  72. doorsos::LIST_TAG equ $d9
  73. doorsos::MATRIX_TAG equ $db
  74. doorsos::END_TAG equ $e5
  75. CALC_TI89 equ 0
  76. CALC_TI92PLUS equ 1
  77. ROM_CALL macro
  78. move.l ($C8),a4
  79. add.l #\1*4,a4
  80. move.l (a4),a4
  81. jsr (a4)
  82. endm
  83. EXTRA_RAM_TABLE macro
  84. _extraram:
  85. xdef _extraram
  86. endm
  87. EXTRA_RAM_ADDR macro
  88. dc.w \3
  89. dc.w \4
  90. \2 equ _extraramaddr@\1
  91. endm
  92. doorsos::DEREF macro ; Dn,An
  93. lsl.w #2,\1
  94. move.l doorsos::Heap,\2
  95. move.l 0(\2,\1.w),\2
  96. endm
  97. SetFont macro
  98. move.w \1,-(a7)
  99. jsr doorsos::FontSetSys
  100. addq.l #2,a7
  101. endm
  102. WriteStr macro ;x,y,col,str
  103. move.w \3,-(a7)
  104. pea \4(pc)
  105. move.w \2,-(a7)
  106. move.w \1,-(a7)
  107. jsr doorsos::DrawStrXY
  108. lea 10(a7),a7
  109. endm
  110. WriteStrA macro ;x,y,col,An
  111. move.w \3,-(a7)
  112. move.l \4,-(a7)
  113. move.w \2,-(a7)
  114. move.w \1,-(a7)
  115. jsr doorsos::DrawStrXY
  116. lea 10(a7),a7
  117. endm
  118. GetKeyStat MACRO
  119. move.w #$FFFE,d0
  120. move.b \1,d1
  121. rol.w d1,d0
  122. move.w d0,($600018)
  123. nop
  124. nop
  125. nop
  126. nop
  127. move.b ($60001B),d0
  128. ENDM
  129. DEREF macro
  130. doorsos::DEREF \1,\2
  131. endm
  132. handle_ptr macro
  133. DEREF \1,\2
  134. endm
  135. doorsos::DEREF_SYM macro
  136. move.l \1,-(sp)
  137. jsr doorsos::DerefSym
  138. add.l #4,sp
  139. endm
  140. doorsos::ER_throw macro
  141. dc.w $A000+\1
  142. endm
  143. inc MACRO
  144. addq.\0 #1,\1
  145. ENDM
  146. INC MACRO
  147. addq.\0 #1,\1
  148. ENDM
  149. dec MACRO
  150. subq.\0 #1,\1
  151. ENDM
  152. DEC MACRO
  153. subq.\0 #1,\1
  154. ENDM
  155. push MACRO
  156. move.\0 \1,-(a7)
  157. ENDM
  158. pop MACRO
  159. move.\0 (a7)+,\1
  160. ENDM
  161. pushm MACRO
  162. movem.\0 \1,-(a7)
  163. ENDM
  164. popm MACRO
  165. movem.\0 (a7)+,\1
  166. ENDM
  167. PUSH MACRO
  168. move.\0 \1,-(a7)
  169. ENDM
  170. POP MACRO
  171. move.\0 (a7)+,\1
  172. ENDM
  173. PUSHM MACRO
  174. movem.\0 \1,-(a7)
  175. ENDM
  176. POPM MACRO
  177. movem.\0 (a7)+,\1
  178. ENDM
  179. _library
  180. _ti89
  181. _ti92plus