The Doors CS SDK is a resource for both BASIC- and Assembly-language programmers to learn the tools and techniques of programming for Doors CS. Doors CS includes a full package for both ASM and BASIC programmers to download that contains necessary tools to facilitate making Doors CS-specific and -compatible programs. This site contains full documentation of the systems and routines available for BASIC and ASM programmers. BASIC programmers can explore information on Doors CS' BASIC header. ASM programmers should read about the ASM header format, and can learn about the GUI system and the Associated Program system available for them to use. The routines listed below can all be used from Doors CS-specific ASM programs. Programmers can also write Shell Expansions (SEs) that extend the functionality of Doors CS itself, as well as shared libraries called Associated Library Extensions or ALEs.
- dcs6.inc - Doors CS 6 official include file
- dcs7.inc - Official Doors CS 7 include file, to be used with ti83plus.inc.
Doors CS Standard and Legacy Routines
- SmallWindow - Deprecated legacy routine to draw a single small window.
- SmallWindowErase - Deprecated legacy routine to erase a small window.
- LargeWindow - Deprecated legacy routine to draw a large window.
- LargeWindowErase - Deprecated legacy routine to erase a large window (same as ClrLCDFull).
- PlaySound - Legacy routine to play a monophonic sound.
- VDispHL - Legacy routine to display the contents of HL in small (graphscreen) font.
- Pause - Legacy routine to wait for any key.
- hDetect - Legacy routine to check if a coordinate is within a rectangular coordinate region.
- DispLongInt - Display an integer up to 16.8 million (3 bytes/24 bits) in small (graphscreen) font.
- DPutMap - Display a single character using the Doors CS font display system.
- APGui_gui7ToTop - Move the GUI appvar above all other programs for speed purposes.
- RunProg - Run a BASIC, ASM, Ion, DCS, Mirage OS, or nostub program.
- DGetCharWidthLocFromA - Get a character bitmap and its width from the DCS font table.
- FileOpen - GUI-based routine to open a file.
- FileSave - GUIless routine to save a file.
- FileSaveAs - GUI-based routine to save a file.
- OpenGUIStack - Initialize the Doors CS GUI subsystem.
- PushGUIStack - Push a single item onto the GUI stack
- PushGUIStacks - Mass push items onto the GUI stack
- GUIFindFirst - Get pointers to first non GUImaster element in the top of the stack.
- GUIFindNext - Advance along the GUI stack.
- GUIFindThis - Find a GUI stack item at a specific index.
- RenderGUI - Render the current GUI stack without invoking the GUIMouse
- GUIMouse - Render the current GUI stack and invoke the GUI mouse.
- PopGUIStack - Remove a single item from the top of the GUI stack.
- PopGUIStacks - Remove a number of items from the top of the GUI stack.
- CloseGUIStack - Shutdown the GUI subsystem.
- ResetAppPage - Necessary at points to which Doors CS returns from the GUIMouse
- Cn2_Setup - Initialize the CALCnet system, including starting the interrupt and setting up the memory areas and buffers to be used by CALCnet.
- Cn2_Setdown - Disabled the CALCnet interrupt, after which the CALCnet buffers can be used again as normal safeRAM.
- Cn2_ClearRecBuf - Clears the receive buffer, a total of 256+5+2=263 bytes. In practice, the receive buffer may be conceptually cleared as far as the interrupt is concerned simply by resetting the MSB of the size field in the buffer, after which you may receive a new frame.
- Cn2_ClearSendBuf - Clears the send buffer, a total of 256+5+2=263 bytes. In practice, the send buffer may be conceptually cleared as far as the interrupt is concerned simply by resetting the MSB of the size field in the buffer, after which you may load in a new frame.
- Cn2_GetK - Returns the Key Pressed in A, De-bounced.
- iVersion - Return the version of Ion emulated by these routines (1.6)
- iRandom - Return a random integer within given bounds.
- iPutSprite - Render a small (8-pixel-wide) sprite into the graph buffer.
- iLargeSprite - Render a large sprite into the graph buffer.
- iFastCopy - Quickly copy the graph buffer to the LCD. Nspire- and TI Presenter-compatible.
- iDetect - Similar to ChkFindSym.
- iDecompress - Decompress bit-packed data.
- iGetPixel - Get graph buffer offset and mask for a given pixel.
- directin - scans one group of the keypad for pressed keys via direct input.
- sendbytetios - sends one byte via TI-OS linking routines.
- getbytetios - receives one byte via TI-OS linking routines.
- version - retrieves MirageOS library compatibility information.
- setvputs - sets (penrow) and (pencol) and displays a string in variable-width graphscreen font.
- setpixel - sets a specific pixel in the graph buffer to dark.
- fastcopys - copies the graph buffer to the LCD, preserving all registers.
- delayb - halts for a specified amount of time.
- multhe - multiplies h*e.
- multhl - multiplies h*l.
- quittoshell - quits directly to Doors CS, regardless of stack level.
- fastline - draws a line to the graph buffer, fast.
- pixelonhl - similar to setpixel
- pixeloff - turns a specified pixel to white.
- pixelxor - xor's a specified pixel.
- pixeltest - returns the state of a specified pixel.
- pixeloffhl - similar to pixeloff.
- pixelxorhl - similar to pixelxor.
- pixeltesthl - similar to pixeltest.
- fastlineb - draws a black line to the graph buffer.
- fastlinew - draws a white line to the graph buffer.
- fastlinex - XORs a line onto the graph buffer.
- pointonc - like pixelon, but with clipping.
- pointoffc - like pixeloff, but with clipping.
- pointxorc - like pixelxor, but with clipping.
- centertext - draws a centered string to the graph buffer in variable-width font.
- cphlbc - compares hl and bc.
- putsprite8 - like iPutSprite width height=8.
- fastcopyb - similar to iFastCopy, but using hl instead of gbuf as the memory location.
- vputsc - like vputs, but copying to both the LCD and the graph buffer.
- scrolld7 - scroll the graph buffer by 7 lines.
- vnewline - like CRLF, calling scrolld7 if necessary.
- rand127 - return a random number between 0 and 127, inclusive.
- disprle - decompress RLE-compressed image.
- cphlde - compare hl and de.
- multdehl - multiply hl and de.
- fastlined - draws a fast line with a dotted line style.
- disprlel - similar to disprle, but with a specified size.
- getnext - steps forward (high mem to low mem) through the VAT, one program at a time.
- getprev - steps backwards (low mem to high mem) through the VAT, one program at a time.
- compstrs - compare two zero-terminated strings.
- nextstr - increment through a zero-terminated string to the following string.
- fastrectangle - draws an unfilled rectangle to the graph buffer.
- gettext - like vputs, but gets input.
- gettextv - same as gettext with additional options.
- disp3spaces - displays three spaces in small (graphscreen) font.
- vputa - displays the value of the accumulator in base 10.
- compstrsn - compares two strings for a specified number of characters.
- largespritehl - similar to iLargeSprite
- setupint - sets up a simplified MirageOS interrupt tasker.
- getchecksum - (not included in Doors CS).
- freearc - gets amount of free archive (not included in Doors CS).
- swapram - swaps two areas of memory via the stack (not included in Doors CS).
- vatswap - swaps two VAT entries. Removed from Doors CS for space reasons.
- sendprog - attempt to transfer a program using TI-OS linking routines (not included in Doors CS).
- arcprog - archived program (not included in Doors CS).
- renameprog - rename program (not included in Doors CS).
- delprog - delete a specified program. (not included in Doors CS)