Name: AShell83
Author: Bill Nagel
Version: 1.0
Machine: TI-83 Assembly
Released: December 20, 1997
With this shell, asm programs can be up to 26K, and highscores are
easily saved without using lists!
***SEE INSTRUCTIONS FOR IMPORTANT INFORMATION BELOW***
Features:
You can now run any assembly program with only 1K free ram!
Assembly progs can be up to 26K
CoolShell+ style GUI
Automatic detection of ASM progs (with header)
Automatic detection of BASIC progs
Lists programs in two columns, 16 progs can fit on one screen
Free memory and program size displayed
Program Descriptions
Program Write-Back!
Contrast Changing
Automatic Power-Down (APD)
Version 1.0:
First Public Release
Added:
Contrast changing
Now exit AShell with the GRAPH key
Saves highlighter position after game runs
APD
Version 0.82:
First beta version
Installation:
1) Copy ashell.83g to your calc
2) Run ASHELL
Instructions:
*********************************
********* IMPORTANT ***********
*********************************
IN ORDER TO EXECUTE ANY PROGRAM WITH ONLY 1K OF FREE MEMORY,
ASHELL REORGANIZES PART OF THE TI-83'S MEMORY. THIS CAN CAUSE
PROBLEMS WITH GAMES THAT USE EXTERNAL LEVELS. TO SOLVE THIS
PROBLEM, ANY GAME THAT USES EXTERNAL LEVELS MUST BE UPLOADED
BEFORE THE LEVELS. IF ZPWLDPNG IS UPLOADED BEFORE PENGUINS
THE GAME WILL NOT PLAY RIGHT. THIS IS SOLVED WHEN ZPWLDPNG OR
ANY OTHER PENGUINS WORLD IS UPLOADED AFTER PENGUINS.
**************************************************************
Keys:
UP/DOWN/LEFT/RIGHT - Select a program
2ND/ENTER - Run highlighted program
+/- - Change contrast
GRAPH - Exit shell
Assembly Program Detection:
Since there is no way to tell the difference between a squished asm
program and basic program, a table is placed at the beginning of
AShell-compatable asm programs:
nop ;these 2 lines identify the program
jr prog_start ;as AShell-compatable
.dw $0000 ;Version of table
.dw Description ;Points to the program description
.dw Icon ;Points to an 8x8 icon
.dw $0000 ;For future use ( *Libraries*? :)
prog_start:
The following are placed anywhere in the program:
Description:
.db "Super Game 1.0 by Me",0
Icon:
.db %11111111 ;this example icon is a box
.db %10000001 ;icons are not displayed by AShell
.db %10000001 ;but the next version of Aurora will support
.db %10000001 ;this format for icons
.db %10000001
.db %10000001
.db %10000001
.db %11111111
ATTENTION PROGRAMMERS!
BE SURE NOT TO USE THIS AREA OF MEMORY IN YOUR ASM PROGRAMS:
CMDSHADOW EQU 9157h
IT COULD EASILY CAUSE THE CALCULATOR TO CRASH!
NOTE **ASHELL COMPATABLE PROGS MUST BE SQUISHED**
THIS IS TAKEN CARE OF BY THE INCLUDED LINKER DEVPAC83
BUT IF 83LNK IS USED, THE PROGRAM "SQUISH" WILL BE NEEDED.
Devpac83:
A new linker by Hannes Edfeldt that prepares .83p from .bin meaning
that the assembly program is already "squished" before its sent to
the 83! No more need for squish.83p! To use Devpac83:
zasm progname
So if you wanted to assemble alien.z80:
zasm alien
Program Write-Back:
As you may have noticed, many programs save their high scores into
lists. This is very inconvenient for programmers and gamers.
AShell offers the programmer a very easy way to save high scores.
The program currently loaded in $9327 is written back into its
variable when the program is exited. Any highscore/level data
that is part of the program is saved. For example, if you
had this in your program:
Highscore:
.dw 0 ;2 byte high score
Name:
.db "JOE",0 ;NULL terminated string
And you changed the highscore using something like this:
ld hl,500
ld (Highscore),hl
The data at &Highscore would be saved along with the program and
easy recalled the next time the program runs with:
ld hl,(Highscore)
and then displayed:
call _dispHL
BASIC Program Detection:
AShell detects any BASIC program that begins with a ":"
For example, this prog would be detected:
________________
|PROGRAM:TEST |
|:: |
|:Disp "HELLO" |
| |
| |
| |
| |
| |
----------------
This program would not be detected:
________________
|PROGRAM:TEST |
|:Disp "HELLO" |
| |
| |
| |
| |
| |
| |
----------------
BASIC Programs do not have descriptions, because it is simply
not practical. Instead, "BASIC Program" is displayed at the
bottom of the screen.
My Homepage:
http://www.tou.com/host/tiasm/
My Email:
Currently it is: <b.nagel@usa.net>
However, this might change in the future, and my fowarding address is:
<penguin@your-house.com>
Special Thanks to Martin Hock, Hannes Edfelt, Mike Baker, Andy_S,
Chad Palmer, Ahmed, and everyone who encouraged (nagged) me
to make this.
Do not separate this document for AShell!
Copyright (C) 1997 Bill Nagel