Program: 	MON83
Version: 	1.2
Author: 	Erik Bergstrm
E-mail:		arne3kl2@hotmail.com
Platform:	Ti83+/(Ti83)
Size:		10201 bytes

WHAT IS MON83?
--------------
Mon83 is an on-calc z80 compiler which suports lables :)

INSTALLATION
------------
Send Mon83.8xg to the Archive and ungroup the files.
Run MON83

If you want to use the addons just send the file MADDON.8xg to the Archive and ungroup the files (delete the files you don't need).

QUICK START
-----------
Run MON83 and choose EDITOR >> NEW
Type RET and press enter.
Type X and press enter to exit.
Press 3 to return to the main menu.
Choose COMPILE and 83+.
Make a new program and write AsmPrgm on the first line.
Paste Str8 (RCL STr8) on the second line and remove all " chars.
The program should look like this now
:AsmPrgm
:C9

Run the program with the Asm( command.


IMPORTANT STUFF :)
------------------
*All numbers should be written in hexadecimal and enter in two or four digit values, ie. 03 instead of 3.
*Use the file ROMCALL to add romcalls.
*The source is stored in Str1 and the compiled file in Str8
*Use . instead of .db, ie. .4034 instead of .db $40,$34
*USe , for comments
*Labels are used like in BASIC. Use the Lbl token , with a number between  01-99 (two number digit), to add a new line.
*Check list.txt for the suported OPCODES.
*Don't use any space before opcodes :P
*I have'nt checked if all opcodes work so if you find any that doesn't work tell me :) (i have checked most of them...)


THE EDITOR
----------
Main Menu

EDITOR     - The editor where you write your program (exit with X on a new line)
>>CONTINUE - Continue on an old program (after the last line).
>>NEW      - Make a new program
>>BACK     - Return to the main menu

VIEW       - View the code (with row numbers).

CHANGE     - Change a line (use 0 if you don't want to change any line :)

ADD LINE   - Adds a new line before another (use 0 to cancel)

REMOVE LINE- Removes a line (use 0 to cancel)

COMPILE    - The compiler (the last part of the Mon83 source and the files ZC and ZCC)
>>83       - Compile file with the ti83 progstart
>>83+      - Compile file with the ti83+ progstart
>>OTHER    - COmpile with custom progstart

EXIT       - Exit the program


ADDONS
------
ROMCALL - A romcall library. Choose the romcall you want to use and the program pastes it at the end of your code.
MVAR    - Type the beginning of the opcode you want to use (if you want to use ld a,(XXXX) type LD A,( and press ENTER
          Choose the mempos you want to use and press enter. Type the end of your opcode ,use X if there is no end ie. ld hl, 
          and if you use ld a,(XXXX) press ) and enter.
IDRAW	- Draws the border of a MirageOs Icon (draw your icon inside and run MIRB)
MIRB	- Creates the MirageOs header data in the top of your program. Run this before you start a new project and select
	  continue in the Mon83 EDIT menu to create a MirageOs program. You have to use AsmComp to make your program appear
	  in MirageOs. 

EXAMPELS
--------
Ti83+ only

Prog 1 - Writes a @ char on the top of the screen

,PROG 1
LD A,40
BCALL 4558
BCALL 4504
RET


Prog 2 - Writes a A on the screen using labels and .db , use the Lbl token (CATALOG Lbl)

,PROG 2
LD HL,Lbl 01
LD A,(HL)
BCALL 4558
BCALL 4504
RET
Lbl 01
.41


Prog 3 - Writes Hello World! on the top of the screen and pauses.

,PROG 3
BCALL 4540
BCALL 4558
LD HL,Lbl 01
BCALL 450A
BCALL 4972
RET
Lbl 01
.48656C6C6F20
.576F726C642100



LEFT TO DO
----------
*Add a better MVAR program and a FLAG program (with SET and RES commands)
*Make it smaller


HISTORY
-------
v1.2
*Fixed the cp bug :)
*Made the whole group about 100 bytes smaller
*Added support for MirageOs programs (an addon which generates icon+header) IDRAW+MIRB

v1.1
*Added support for programs to use only the compiler
*Added 200 opcodes... :)
*Added the addons ROMCALL and MVAR
*Fixed a few bugs
*Made ZCC 500 bytes smaller

v1.0
*Added a few things to the editor (now it's possible to continue writing on a program :)
*Removed a lot of stuff in the compiler
*Merged ZCCC and Mon83 (now its much smaller and only 3 files)
*Made the file MON83, ZCC and ZC much smaller (about 20%)
 

v0.9
*The compiler now works :D
