Third-Party BASIC Libraries (Color)

From Doors CS, Doors CSE, and Doors CE Wiki
Revision as of 22:00, 16 November 2013 by Tr1p1ea (talk | contribs)
Jump to navigationJump to search

Doors CSE offers compatibility for all the major TI-84 Plus C Silver Edition BASIC libraries, including Celtic 2 CSE and xLIBC. If you need to detect whether the Doors CSE-provided Hybrid BASIC libraries are present (which you should do in any program or game that uses them), we recommend this format:

::DCS
:"Icon data...
:If 80>det([[20
:Then
:Disp "Get Doors CSE to run this:","http://dcs.cemetech.net
:Return
:End

det([[20]]) will equal 80 for Doors CSE 8.0, 81 for Doors CSE 8.1, 82 for Doors CSE 8.2, 90 for Doors CSE 9.0, and so on. You can use the value to make sure the user has a minimum required Doors CSE version on his or her calculator.

Celtic Libraries

The Celtic libraries are converted from Celtic 2 CSE, itself a port of Celtic 2 for the TI-83 Plus/TI-84 Plus by Iambian Zenith. Iambian wrote det(0) through det(8), while Kerm Martian wrote det(9) and det(10) and debugged the remaining functions. Most of the Celtic 2 CSE functions take arguments in Str9, Str0, and Ans, and output to Str9 and/or Str0. All are available from Doors CSE 8.0 onwards.

ReadLine - det(0), Str0=program name, Ans=line number
ReplaceLine - det(1), Str0=program name, Ans=line number, Str9=replacement
InsertLine - det(2), Str0=program name, Ans=line number, Str9=contents
SpecialChars - det(3)
CreateVar - det(4), Str0=program/AppVar name
ArcUnarcVar - det(5), Str0=program/AppVar name
DeleteVar - det(6), Str0=program/AppVar name
DeleteLine - det(7), Str0=program name, Ans=line number
VarStatus - det(8), Str0=program name
BufSprite - det(9,width,X,Y), Str9=sprite data
BufSpriteSelect - det(10,width,X,Y,start,length), Str9=sprite data
ExecArcPrgm - det(11,FN,NUMBER)
DispColor - det(12,FG_LO,FG_HI,BG_LO,BG_HI) or det(12,FG_OS,BG_OS)

xLIBC Libraries

xLIBC is written by Patrick Prendergast, aka tr1p1ea. It is based on the concepts used to create xLIB for the TI-83 Plus/TI-84 Plus, included in Doors CS 7.2 for the monochrome calculators. xLIBC uses the TI-84 Plus C Silver Edition in half-resolution (160x240-pixel) mode, allowing one half of the LCD buffer to be modified off-screen while the other half is displayed. tr1p1ea has written an xLIBC Tutorial with an example program.

xLIBCSetup - real(0,FN,Value)
UserVariables - real(1,FN,Uservar_Num[,Value])
GetKey - real(2,FN[,Args])
DrawMap - real(3,FN[,Args])
DrawSprite - real(4,FN[,Args])
ManagePic - real(5,FN[,Args])
DrawString - real(6,FN[,Args])
DrawShape - real(7,FN[,Args])
xLIBCUtility - real(8,FN,Val)
UpdateLCD - real(9)