home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.7z / ftp.whtech.com / emulators / v9t9 / linux / sources / V9t9 / tools / Forth / ram.inc < prev    next >
Encoding:
Text File  |  2006-10-19  |  3.2 KB  |  132 lines

  1. ;    V9t9: the TI Emulator! v6.0 Source 
  2. ;    Copyright (c) 1996-2000 by Edward Swartz
  3.  
  4. ;==========================================================================
  5. ;    RAM definitions for V9t9 FORTH ROM.
  6. ;
  7. ;==========================================================================
  8.  
  9. ;    WPs:    we reserve >8300 - >83FF
  10.  
  11. mainws    equ    >8300        ; main FORTH workspace
  12. intws    equ >8320        ; interrupt workspace
  13. xopws    equ >8380        ; XOP workspace (shared, ints off)
  14. vidws    equ >83E0        ; video & term workspace
  15. dskws    equ >83E0        ; disk workspace
  16.  
  17. ;    STACKs:  we reserve >2000 - >2800
  18.  
  19.     aorg    >2000
  20.  
  21. sysstack bss    >40            ; system stack
  22. sysstacksize equ $ sysstack -
  23.  
  24. uptime    bss    4            ; time in 1/60 seconds
  25. timeout    bss    2            ; timeout counter
  26. userint bss    2            ; user int routine (bl @xxxx)
  27.  
  28. vregs    bss    2            ; VDP registers 0 and 1
  29. vscreen    bss    2            ; VDP addr of screen
  30. vpatts    bss    2            ; VDP addr of patterns
  31. vcolors bss    2            ; VDP addr of colors
  32. vsprites bss    2            ; VDP addr of sprites
  33. vsprpat bss    2            ; VDP addr of sprite patterns
  34. vsprmot    bss    2            ; VDP addr of sprite motion
  35. vfree    bss    2            ; usable space
  36.  
  37. vwidth    bss    1            ; width in chars
  38. vheight    bss    1            ; height in chars
  39. vdrawchar bss    2            ; draw char in window (BLWP @)
  40. vscroll    bss    2            ; scroll window up a line (BLWP @)
  41. vclear    bss    2            ; clear window (BLWP @)
  42.  
  43. vcoordaddr bss    2            ; get SIT addr of R0 coord
  44.  
  45. vcrstimer bss    1            ; timer for blink
  46. vcrsblink bss    1            ; limit in 1/60 s
  47. vcursor    bss    2            ; cursor blinker (BLWP @)
  48. vcurs    bss    1            ; cursor blink state (0 or >80)
  49. vcursunder bss    1            ; char under cursor
  50.  
  51. vstacksize equ     >20
  52. vstack    bss    vstacksize        ; video stack
  53.  
  54. ;-----------------------------------
  55.  
  56. @kbdstart equ    $
  57.  
  58. kbdgradr bss    2            ; saved GROM addr
  59. kbdlast    bss    1            ; last char pressed (or 0)
  60. kbdtimer bss    1            ; timer (1/60 s) since last repeat
  61. kbdscan bss    1            ; most recent scancode       (0-47)
  62. kbdshft    bss    1            ; most recent shift status (>70)
  63. kbdhead    bss    1            ; head of kbd buffer
  64. kbdtail    bss    1            ; tail of kbd buffer  
  65.                     ; head==tail => empty
  66.  
  67. kbdbufsize equ    32
  68. kbdbuf    bss    kbdbufsize            
  69.  
  70. kbdlimit bss    1            ; 1/60s before repeating
  71. kbddelay bss    1            ; delay between keyscans
  72. kbdflag    bss    1            ; flag:  0=waiting to repeat, 1=r'ing
  73. kbdmode    bss    1            ; how we interpret keyboard
  74.                     ; | >80 = no translation to ASCII
  75.                     ; | >40 = no buffering
  76.  
  77. @kbdlength equ    $ @kbdstart -
  78.  
  79. kbdreturn bss    2            ; return addr
  80.  
  81. ;---------------------------------------
  82.  
  83. vfg    bss    1            ; foreground color
  84. vbg    bss    1            ; background color
  85. vch    bss    1            ; current char
  86.  
  87. vcurschar bss    1            ; char of cursor
  88.  
  89. vwx    bss    1            ; window left
  90. vwy    bss    1            ; window right
  91. vwxs    bss    1            ; width of window
  92. vwys    bss    1            ; height of window
  93. vwcy    bss    1            ; last cleared row
  94.     bss    1
  95.  
  96. vx    bss    1            ; x-coord of cursor in window
  97. vy    bss    1            ; y-coord of cursor in window
  98.  
  99. vmono    bss    1
  100. vidmode    bss    1            ; what mode are we in?  (M_xxxx)
  101.  
  102. M_text    equ    0
  103. M_graph    equ    1
  104. M_bit    equ    2            ; both mono and color
  105.  
  106.  
  107. vlinex    bss    2
  108. vliney    bss    2
  109.  
  110.  
  111. ;--------------------------------------
  112.  
  113. dskstacksize     equ    >20
  114. dskstack bss    dskstacksize
  115.  
  116. forthdsk bss    10            ; filename for FORTH disk
  117.  
  118. ;--------------------------------------
  119.  
  120. temp    equ    $            ; COMPLETELY temporary workspace.
  121.                     ; not to store ANYTHING useful.
  122.  
  123. ;---------------
  124.  
  125. ;    To conform with DSRs
  126.  
  127.     aorg    >8370
  128.  
  129. vdplimit bss    2            ; VDP memory size
  130.  
  131.  
  132.