Xwin For TI-83	date: 05-12-2002	last upd: 17-05-2005
by Daan Pasmans

4TH and FINAL (offical) PUBLIC RELEASE OF X-WIN (now 0.85.3.1 ALPHA)



THANKS:
For everyone who ever read this, thanks for trying my program.
After doing nothing for a long time, I release this final build of xwin.
Their arent many changes, but I didnt remove the useless files that
werent finished for anyone who wants them.


WHY?:
I do not work on this project anymore, because Im not forced to work with
my TI83 anymore. New projects have been started for the GP32 and PC.
Maybe some day I will return...




FIRST READ THIS:

Program is fully written on TI-83, so i think no harm can be done to you TI-83
by using my software. Use this software on your own risk. The risk is very small
but if something happens, its your own fault.

--------------------------------------------------------------------------------------------------------------------------------------------------------
FAST STARTING:

UPLOAD ALL FILES TO YOUR TI-83

1. start Xwin (that would be prgmXWIN)
2. press YELLOW KEY (2ND) to start (or just go there with the cursor and press enter)
3. select a program and press enter
4. close programs either by pressing QUIT (next to 2ND) or click on cross (might not work)
5. more programs and demo can be started with GRAPH (fast start) or by Y= (console)
6. EXITING = press Quit on desktop / Select EXIT in start / Type Shutdown (-now) in console
7. for help type help in console...
8. When closed, edit your preference in the xwinCFG file (background, cursorspeed, name, etc)
--------------------------------------------------------------------------------------------------------------------------------------------------------




X-Win files are:

XWIN		-	Start up file
XWIN BGR	-	Background Lib
XWIN CFG	-	User config file
XWIN CTRL	-	Cursor movement file, also for option-boxes or games (slower)
XWIN CTRF	-	Cursor movement file for x-win's cursor (also for games, fast)
XWIN KEY	-	Key reader for reading numbers
XWIN CUR	-	Cursor
XWIN CUR X	-	Old Matrix reading cursor (for cursor switching)
XWIN LIB	-	Main data for xwin
XWIN MENU	-	Menu options
XWIN PRG	-	All (desktop started) programs
XWIN RUN	-	Lib for linking hotspots on desktop
XWIN KRNL	-	Hotspot driver
XWIN CTRF	-	Xwin fast cursor control
XWIN DMNU	-	Default menu creator
XWIN DBOX	-	Default question box creator
XWIN DICO	-	Can create a box with given coordinates (use to draw icons)
yadayadayada	-	yep more files where added in 0.84 and 0.85 but these are not listed



USE:

Copy all files to TI-83, then run XWIN. Program should start without problems.
WARNING: XWIN will reset some variables, dont start if you dont want to lose them!
(Xwin doesnt use vector drawing, to set graph to normal size do: Reset/Defaults.)


About XWIN:

Xwin has these built-in options (on desktop):
-Console (key 11)
-Network (12)
-Backgrounds (13)
-Fast program starting (15)
-Fast menu start (21)
-Quit (22)
-Blanc screen (32)
-Screen saver (33)

You can use Xwin's CTRL file for use in games, it supports extra key-functions.
You can use Xwin's DMNU file to create default menu's (watch Lxwin must set to {1,1}).
You can use Xwin's DBOX file to create default questionboxes.
You can use Xwin's DICO file to create default icon.
You can use Xwin's KRNL file to locate hotspots.
You can set your own hotspots in Xwin's CFG file.


Xwin Console:
commands:
-X /Exit /Quit   to exit console and go back to desktop
-Shutdown	to exit Xwin (with small-animation)
		-now   for a direct halt of xwin
-Cursor		for command options
		-set   to set cursor speed
		-info   for information
-Getkey		to see number of key (no combo's)
-Lib		for command options
		-load   to load something out of lib
		-ver   to see lib version
-Create		-menu  to create a default menu 
		-icon  to create a icon
-Load icon	to load a icon from the lib.
-Network 	for command options
		-start   start nework-application
		-get
		-set
		-message
-Xmode		Try emulating XWIN when XWIN isnt present (or started)
-StartX		Start XWIN when XWIN wasnt started already.
-Password	Set password
-Reset		Kill XWIN in console
-Config		Config security settings
-Debug		Unkown ?
-Cls		Clearscreen
-State		Unkown ?
-Show		Show GRAPH screen in console
-Start		for command options
-Getkey		Application to show value of pressed key



If you use some settings a lot, you can put them in the config file.
This file starts when everything is loaded, so you can modify almost
all settings. Like the cursor (if switching is used) or speed or desktop.
If you create a matrix cursor, it must be 4X4.


How to use X DRAW:
Start xdraw, then you can draw by pressing enter. If you want to
delete something, just press - key, next to enter. Save is key 11 
(first blue button under the screen), loading key 12 (next to it) then
13 is setting cursor speed to 1, 14 cursor speed to 4 and 15 sets
cursor speed to 8. To exit press EXIT button (22) next to 2ND.
UPD: If you want to set it as your background, press CLEAR,
this automatically stores it in pic0 and set background to 10.


How to use X CALC:
Start Xcalc, you will see a option box. This option box will give
a idea of what you want to do. Press UP/DOWN... If you want to 
calculate something with binary, select BIN. If you do so, a nother 
option-box will appear, asking you what you want to calculate. 
You could select BIN -> DEC, this will calculate what the binary 
value is in decimal. If you want to type in a value, just press the
keys that can be used with what you selected. So you cant use
keys other then 0/1 in binary. Press enter when you like you value, 
if your input is higher then 10-bits the program will automatically stop
and calculate your input.

How to use network:
Link up 2 TI-83's, then select either server/client. Client must wait,
server can leave a message. When the server is ready, the client
can retreive the message. It isn't very usefull, but its a little link-support.
Might be usefull to transfer things that are to long.
If i work longer on this project, this is going to be more usefull. 
upd: When server is waiting, client can get his name like this,
go into the console and type network -get. To set your name
type network -set. To start network type network -start.




VERSIONS:

LATEST RELEASE (this one):
minor fixes for release

VERSIONS:

date 17-05-2005 added after 27-03-2003
0.85.31 -minor fixes
	-added multi-user, so you can have settings and security for differnt users
	-TIP: I havent tested, but the x-console can be used without the use of xwin,
	 start XWINCONS and type XMODE to try running programs in the console emulating xwin.
	 This way you could delete XWIN and try freeing up some memory. You could also delete
	 XWINCONS to free memory, but this would result in a error when trying to run in console modus.

date 27-03-2003
0.85.3	-network text has 4 modes, low support for lowercase
	-added 'afstand' to xcalc


IDEA:	Final version will be xwin 'deluxe', that will take up most
	of your memory. This version will be more TI83+.
	A version that is more stripped from 'useless' functions,
	this will be the regular version (normal). Then there will
	be a very stripped verion, or called 'light' that can be
	used by people who have less memory because they
	have other programs on their TI. They could deleted
	Xwin and run all software thru the console. Or take
	xwin and use the stripped version of the console.
	The stripped version could also be text based, but as
	most programs for xwin wont be text based the programs
	should be rewritten (that sux, a bit). So their is a small
	chance i am going to do that, but only on request...
	XWin 'deluxe' = 28KB or more
	XWin 'normal' = 18-20KB
	XWin 'light' = 6-10KB
	XWin 'console/textbased' = 5-7KB
	
	Xwin is just a program to let you run software created for
	xwin. The programs that come with xwin are demo's/previews
	of what you could create. The 'drivers' delivered with xwin
	can be used for other programs or even games. It has support
	for creating boxes with less code, and its easy to use.
	The xwinCTRF is the driver for xwin's desktop cursor, and can
	be used for xwin programs (like xdraw). But Xcalc uses the
	xwinCTRL, this file will let you use the menu-boxes. And it
	supports games. But the file is not 'really' fast and optimised
	like the xwinCTRF file (but this file doesnt support games).

	Some things that are going to be added in the future:
	-afstand in xcalc
	-xwincfg configuration file / screensaver option menu
	-icons and direct link commands to programs
	-menu with ALL programs that can be started
	-Xwrite, program to write...
	In the future there will be modifications to files to speed them
	up, or make them work with less code.

date 24-02-2003
0-85-1	-added new screensaver
	-speed-up cursor (like 90% of max speed)
	-added coded password protection,
	 now called security level 3. And set as default.
	 Can not run console this way, first create password
	 put it in xwincfg and run windows this way.
	 Password will be stored in LCODE.
	 (Next step is speeding up decoder)
	-added screens, so most programs can not be started
	 from menu, but have to be started by xwin/console.
	-minor fixes

date 21-02-2003
0-85-0	-added/fixed console commands
	-and some more minor fixes

date 17-02-2003
0-85-0	-the x-win console is now a stand-alone file
	and some changes are made to make it compatible
	with the current version of x-win.
	You can start most programs from the console,
	or start x-win by typing 'STARTX'.

date 15-02-2003
0-85-0	-Now has a XwinCFG array filled with settings
	-Can set security level from 0-1-2 with 2 the highest
	-level 1 sets password on screensaver return
	-level 2 has a password login and password on screensaver/blancscreen
	-no more errors with install when you dont have the Pic0 created
	-program to show your configs in xwin
	-soon to come, a program to change your settings in xwin
	-you can choose your screensaver (only 1 availble)
	-added files to readin char's, so you can write text (still slow)

date 02-02-2003
0.84.5	-added error messages
	-minor changes in xcalc (added hex, etc)
	-speed-up xdraw and changed functions (you wont notice)
	-added 'blanc screen' by pressing 'x' (next to ALPHA), if your teacher is looking...
	-added screensaver option (didn't make a screensaver, only the option)
	-added 1st run support in CFG file (well, just added text and a GOTO)

date 21-01-2003
0-84-4	-fixed some mathematical problems
	-fixed cursor out off screen error
	-created a close icon
	-added console commands for icons
	-added screensaver

date 20-01-2003
0-84-3	-completed some parts from xcalc
	-added standard icon drawing (libid 4)
	-added delete function to xdraw
	-added standard icons to console-menu
	-some minor changes to have less code

date 08-01-2003
0-83-8	-speeded-up cursor
	-seperate file to read values
	-updated calc, now bin->dec works fine
	-nice option-box for background selection
	-and i fixed some minor bugs
IDEA: i'm going to create xcalc with the following options:
hex->dec, done by using the value-reader file. 
'inhoud' used to calculated how much can go into a box, bowl.
'omtrek' used to calculated how much can go around it.
distance, calculated a distance travelled by something (sound, etc).
Then i could add more, but i dont know what...
i could add something to calculate MHz or KB or something like that...

date 23-12-2002
0-83-1	-added little calc options
	-added question-box support
	-xwin uses own ctrl for cursor named CtrFast
	-added little question-box creation
	-update background creator
	-small bug fixes
	-min/max-size & speed for cursor are stored in LXWINCUR

date 12-12-2002
0-81-8	-bug fix in networking

date 11-12-2002
0-81-7	-added hotspots driver (uses matrix background (9x10))
still	-added demo to use driver (id=1122)
BETA	-added auto-draw background (id=21)
	-Lib update for standard matrix - hotspots (all set to 0)
	-added menu creating (console: create -menu)

date 08-12-2002
IDEA:
Posible update comming -> background=matrix and where you
click is a sector. This sector can hold a icon. So posible icon
desktop on the way ! (10x10 low precision, 20x20 high precision)

date 08-12-2002
0-81-4	-few bugfixes
	-added xcalc to menu (no prog yet!)
	-added matrix reading (id=20)

date 06-12-2002
0-81-3:	-Added Program Paint (create own background!)


date:04-12-2002
0-80-1:	-Beta Xwin
	-Lousy network support
	-Backgrounds
	-Start menu with exit option
	-optimized code from 0.73->0.80
	-open cursor control
	-open programs
	-fixed console options
	-standard cursor (a speed-up)
	-bug fixes

date: 29-11-2002
0-73-1:	-Just started
	-small lib
	-background support by pic-loading
	-closed code
	-matrix cursor
	-shaded start-bar (slow)


END OF FILE!
For Questions:
mailto: NOSPAM-PLEASEdaan@repozal.cjb.net

	