------------------------------------ Atlantis Program Compatability Maker ------------------------------------ This file will teach you how to make Atlantis compatable programs by displaying sections of code with comments and explanations. Atlantis is an operating system for TI-86 calculators that utilizes subroutines to allow other programs to run under Atlantis. What the subprograms do: A86ASMSE ;Draws the mouse in assembly language A86BOXDR ;Draws the boxes and also calls the A86MOUSE program, loads values into A (explained later in this file) A86EXIT ;This is the 'Teacher-key' subprogram A86MENUS ;Draws the lower menu items A86MOUSE ;Of course the mouse driver A86QUIT ;Deletes temporary variables before exiting a program A86RNOFF ;Turns the runindicator off A86TITLE ;Draws the title bar A86WINDW ;Sets up the graph screen and password protection PROGRAM:Atlantis :ClDrw :For(A,34,98,8 ;Start of loop to display intro picture :RcPic ATLANTIS :Text(57,A,"OO" :End :A86WINDW ;This program sets up the graph screen and, if password option is selected, asks for password :Lbl START ;Program starts here when another program has been run from Atlantis (skips introduction picture) :ClDrw ;These set up graph screen again for incase another program messed it up. :0->xMin :126->xMax :0->yMax :-62->yMin :21->TXT ;If program title appears uncentered, putting a value into TXT will place the text drawer at these x coordinates (in this case 21). :TITLE="Atlantis Interface Beta2" ;Title and Menu variables loaded. MENU1 is what is displayed in the first menu block...and MENU5 the last :MENU1="APPLS" :MENU2="UTILS" :MENU3="" :MENU4="" :MENU5="SETUP" :A86TITLE ;Draws menus and title :A86MENUS :StPic A86P2 ;This is the temporary picture that is recalled each time the graph screen is cleared in Atlantis (usually A86P1 though) :RcPic A86PIC ;Recalls user-selected background picture :StPic A86P1 ;Stores the background picture and the temporary picture together :-31->y ;Sets pointer assignment :63->x :Lbl HOME ;Waitin' for you to choose a Menu or quit :A86MOUSE :y->B :ClDrw :RcPic A86P2 :B->y :If A==11:Goto APPLS :If A==12:Goto UTILS :If A==15:Goto SETUP :If A==21 and x>116 and y>-9 :Then :A86QUIT :Return :End :RcPic A86P1 :Goto HOME :Lbl CLEAR ;Clears the screen while keeping the x and y coordinates updated :Asm(A86RNOFF ;Turns the runindicator off (needed after Input commands in Basic). :y->A :ClLCD :ClDrw :RcPic A86P1 :A->y :Goto HOME :Lbl APPLS ;The APPLicationS menu :0->E ;This variable storage setting the dimensions of the box to be drawn (E=left side, F=top, G=right side, H=bottom) :-41->F :30->G :-55->H :BOX1="PROGS" ;Loads the text menu options into the BOX variables (BOX1 is the lower-most displayed text within the box...and BOX5 the top-most). :BOX2="GAMES" :BOX3="" :BOX4="" :BOX5="" :A86BOXDR ;Draws the box and text and waits for you to choose an option :If A==1:Goto PROGS ;A real number is loaded into A cooresponding to which option you chose. If BOX1, then A==1...If BOX5, then A==5 (many boxes won't go up to five options, like this one). :If A==2:Goto GAMES :Goto CLEAR ;If an option was not clicked on or another key was pressed, Goto CLEAR :Lbl PROGS :Text(48,26,">" ;This draws a nifty arrow pointing towards the list of programs. :31->E :-22->F :103->G :-54->H :BOX1=A86PROG1 ;Loads stored names of programs into the BOX variables. :BOX2=A86PROG2 :BOX3=A86PROG3 :BOX4=A86PROG4 :BOX5=A86PROG5 :A86BOXDR :100->P ;Just to make sure no program is accidentally run. :If A==1:1->P :If A==2:2->P :If A==3:3->P :If A==4:4->P :If A==5:5->P :PROGRAMS ;The program that directs Atlantis to other user-programs :Goto START ;Goes almost to the beginning of Atlantis but skips intro picture : : : (code irrelavent to making Atlantis programs) : : :Lbl HELP ;All Atlanits programs should have an online help section. :Text(36,87,"<" ;That nifty arrow again :30->E :-28->F :85->G :-48->H :BOX1="Using Atlantis" :BOX2="Prog paths..." :BOX3="About Atlantis" :BOX4="" :BOX5="" :.32->Z ;If Z==.32 before the program A86BOXDR is called, the shadow behind the box will be omitted (this is to allow for other boxes to be drawn to the left of others...yeah... :A86BOXDR :If A==1:AtlaHELP ;When making readme files for Atlantis programs make sure that they are in their own program, it makes them deletable so as to not take up space for someone who already knows how to use the program. :If A==2:AtlaPATH :If A==3:Goto ABOUT ;All Atlantis programs should have an 'about' message too. :Goto CLEAR :Lbl ABOUT :ClLCD :Outpt(2,3,"This software has" ;This will display who has run the RUNFIRST program :Outpt(4,3,"been licenced to" :lngth A86LC->A :A/2->A :int A->A :Outpt(6,11-A,A86LC :Pause :ClLCD ;Sort of the standard way to make an 'about' message. :Outpt(2,4,"Atlantis//Beta2" :Outpt(4,6,"Created by:" :Outpt(5,7,"AppleSoft" ;Of course fill in your own name! :Outpt(7,1,"mail applsoft@aol.com" ;And E-mail address if applicable :Pause :Goto CLEAR : : : (More somewhat irrelavent code) : : This document gives you the right to create Atlantis-based programs by contacting the permission of: applsoft@aol.com If you have questions, comments, or are interested in making a program for Atlantis send mail to: applsoft@aol.com