Skip to content

Commit

Permalink
Fixed a some bugs and some stability improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
RoccoLoxPrograms committed Dec 25, 2023
1 parent 56cd261 commit 708f9e3
Show file tree
Hide file tree
Showing 28 changed files with 445 additions and 571 deletions.
32 changes: 29 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@

All notable changes to the Celtic CE library will be documented in this file.

## [1.0.1] - 2023-12-dd

### Added
- Message after running Celtic installer saying to open the app to enable its features.

### Chnaged
- Several minor optimizations
- Several additional checks in commands to prevent crashes
- Rewrote the following commands:
- ReadLine
- ReplaceLine
- InsertLine
- DeleteLine

### Fixed

- Doors CE 9 Functions:
- FillRect will no longer exit when trying to clip a rectangle's width
- OS Utility Functions:
- SearchFile will now work when the search string matches at the end of the file
- Celtic will now catch strings that have a data size of zero
- Celtic will now exit if a number that's greater than a 16-bit number is passed

## [1.0.0] - 2023-07-31

### Added
Expand Down Expand Up @@ -161,7 +184,8 @@ All notable changes to the Celtic CE library will be documented in this file.

### Fixed

- Fixed HidePrgm command to work with archived programs
- OS Utility Functions:
- Fixed HidePrgm command to work with archived programs

## [1.1.0-beta] - 2022-11-29

Expand Down Expand Up @@ -192,13 +216,15 @@ All notable changes to the Celtic CE library will be documented in this file.

### Changed

- Doors CE 9 Functions:
- ExecHex command no longer has a restriction of 255 characters, instead it is limited to 8192
- Temp storage now uses pixelShadow2 with an offset of 100 bytes instead of using pixelShadow
- ExecHex command no longer has a restriction of 255 characters, instead it is limited to 8192
- Preserve stack pointer when running a command and restore it when exiting to the OS

### Fixed

- Potential error with VarStatus command when a hidden program name starts with a 'T'
- Celtic 2 CSE Functions:
- Potential error with VarStatus command when a hidden program name starts with a 'T'

## [1.0.0-beta] - 2022-09-17

Expand Down
Binary file modified CelticCE.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ If you'd like a more detailed and complete documentation, you can view the onlin

## Installation

1. Download the latest release of CelticCE [here](https://github.com/roccoloxprograms/celticce/releases/latest). To avoid confusion, this is the file with the `.8xp` file extension.
1. Download the latest release of CelticCE [here](https://github.com/roccoloxprograms/celticce/releases/latest). To avoid confusion, the file that you really need is called `CelticCE.8xp`.
2. Transfer the CelticCE installer that you just downloaded to your calculator using a linking program of your choice, such as [TI-Connect CE](https://education.ti.com/en/software/details/en/CA9C74CAD02440A69FDC7189D7E1B6C2/swticonnectcesoftware) or [TiLP](http://lpg.ticalc.org/prj_tilp/).
3. Run the **CELTICCE** program on your calculator, which can be found under the <kbd>prgm</kbd> menu. If you are on an OS version 5.5 or greater, you will need to use the [arTIfiCE jailbreak](https://yvantt.github.io/arTIfiCE/).
4. Finish running the installer by selecting whether or not to delete the installer program. It will not be needed unless you for some reason wish to reinstall the CelticCE app, so it is safe to delete.
Expand All @@ -21,7 +21,7 @@ If you'd like a more detailed and complete documentation, you can view the onlin

CelticCE commands are called in TI-BASIC programs using the `det(` token followed by varying arguments. You can read more about the specifics in the Celtic docs under [General Syntax](https://roccoloxprograms.github.io/CelticCE/gensyntax.html).

Along with the CelticCE app installer, you'll notice that there is another program, **AINSTALL**, which comes with Celtic. If you choose to send this to your calculator, running it will install Celtic's hooks outside of the app, as long as the app is present on your calculator. This can be useful if you want to install CelticCE when during the execution of another program. You can learn more about this in the [General Syntax](https://roccoloxprograms.github.io/CelticCE/gensyntax.html) section of CelticCE's documentation.
Along with the CelticCE app installer, you'll notice that there is another program, **AINSTALL**, which comes with Celtic. If you choose to send this to your calculator, running it will install Celtic's hooks outside of the app, as long as the app is present on your calculator. This can be useful if you want to install CelticCE during the execution of another program. You can learn more about this in the [General Syntax](https://roccoloxprograms.github.io/CelticCE/gensyntax.html) section of CelticCE's documentation.

CelticCE also has a few useful features which are added to the TI-OS editor when it is installed. The first of these is a command preview, which will display the basic syntax of a command on the status bar if the cursor is hovering over a valid Celtic command as seen below:

Expand Down
15 changes: 14 additions & 1 deletion docs/celticiiifunctions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ Documentation

Errors:
* ``..P:NT:FN`` if no files are found containing the specified search string.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -103,6 +104,7 @@ Documentation
Errors:
* ``..G:NT:FN`` if the group specified does not exist.
* ``..P:NT:FN`` if no files in the group are able to be ungrouped (no programs or AppVars).
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -120,6 +122,7 @@ Documentation
Errors:
* ``..G:NT:FN`` if the group specified does not exist.
* ``..P:NT:FN`` if no files in the group are valid (no programs or AppVars).
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -140,7 +143,8 @@ Documentation
Errors:
* ``..G:NT:FN`` if the group specified does not exist.
* ``..E:NT:FN`` if the specified item did not exist.
* ``..P:IS:FN`` if the program already exists.
* ``..P:IS:FN`` if the program already exists
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand Down Expand Up @@ -237,6 +241,7 @@ Documentation

Errors:
* ``..INVAL:S`` if there is not an even number of characters in the string or an invalid hex character is present.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -255,6 +260,9 @@ Documentation
Returns:
* ``Str9``: The converted string.

Errors:
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

.. function:: GraphCopy: det(43)
Expand Down Expand Up @@ -305,6 +313,7 @@ Documentation
Errors:
* ``..NULLVAR`` if the program is empty.
* ``..SUPPORT`` if the file is not a TI-BASIC program.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -321,6 +330,9 @@ Documentation
* ``Str9``: The extracted substring.
* ``Theta``: The size of the string in bytes, if ``start`` was 0.

Errors:
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

.. function:: HexToDec: det(47); Ans = hex
Expand Down Expand Up @@ -431,3 +443,4 @@ Documentation
Errors:
* ``..S:NT:FN`` if ``Ans`` is not a string.
* ``..P:NT:FN`` if no files were found containing the search string.
* ``..NT:EN:M`` if there is not enough memory to complete the action.
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
author = 'RoccoLox Programs, TIny_Hacker'

# The short X.Y version
version = '1.0'
version = '1.0.1'
# The full version, including alpha/beta/rc tags
release = '1.0'
release = '1.0.1'


# -- General configuration ---------------------------------------------------
Expand Down
8 changes: 4 additions & 4 deletions docs/csefunctions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Documentation

Errors:
* ``..NULLSTR`` if the line is empty.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

Expand All @@ -42,12 +43,13 @@ Documentation

Errors:
* ``..PGM:ARC`` if the file is archived.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

.. function:: InsertLine: det(2); Str0 = variable name; Ans = line number; Str9 = contents

Insets a line into a program or AppVar. ``Ans`` refers to the line number to write to.
Inserts a line into a program or AppVar. ``Ans`` refers to the line number to write to.

Parameters:
* ``Str0``: Name of file to write to.
Expand All @@ -61,9 +63,6 @@ Documentation
* ``..PGM:ARC`` if the file is archived.
* ``..NT:EN:M`` if there is not enough memory to complete the action.

.. note::
If your usage of InsertLine results in the program exceeding 65535 bytes (the maximum size of a file), it will result in loss of memory. Celtic does not check if you exceed this filesize, as there should be no reason anyone would do this in the first place.

------------

.. function:: SpecialChars: det(3)
Expand Down Expand Up @@ -208,6 +207,7 @@ Documentation

Errors:
* ``..NT:EN:M`` if there is not enough memory to complete the action.
* ``..NT:EN:M`` if there is not enough memory to complete the action. (Only when creating an ``XTEMP`` program.)

------------

Expand Down
2 changes: 0 additions & 2 deletions docs/gensyntax.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ The system programs ``prgm#`` and ``prgm!`` are not supported, so if you attempt

If a string is used, it must be in the RAM when the function is called.

.. warning:: In almost all cases, Celtic will detect if you passed invalid arguments and return an error instead. However, in the (extremely) rare case that you tried to pass a string with the length of 0, it will not handle this. Don't worry, there shouldn't be any reason this would happen without you trying to make it happen.

Returns
~~~~~~~
Depending on the function, Celtic will return a value after it runs. For example, the ``SpecialChars`` command fills ``Str9`` with certain special characters.
Expand Down
48 changes: 0 additions & 48 deletions docs/hexcodes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,6 @@ This page contains a list of useful hex codes to be used with ExecHex. To use th
Documentation
~~~~~~~~~~~~~

.. function:: Turn Off LCD

Turns off the calculator's LCD::

"3E01321900E3C9"

.. function:: Turn On LCD

Turns on the calculator's LCD::

"3E09321900E3C9"

.. function:: Decrease Brightness

Decrease the LCD brightness by 1::

"3A2400F63C322400F6C9"

.. function:: Increase Brightness

Increase the LCD brightness by 1::

"3A2400F63D322400F6C9"

.. function:: Invert LCD (High contrast mode/Dark mode)

Inverts the colors of the LCD. Also sometimes referred to as "High contrast mode" or "Dark mode"::
Expand All @@ -49,12 +25,6 @@ Documentation
.. warning::
Make sure to switch back to "program mode" when you're done by running the program again.

.. function:: Quick Key

Loads the most recent keycode into ``Ans``::

"3A8705D0CD080B02CD300F02C9"

.. function:: Text Inverse

This will switch from normal text mode to inverse (white text on black background) and vice versa::
Expand Down Expand Up @@ -85,24 +55,6 @@ Documentation

"CD101A02C9"

.. function:: Clear LCD and Redraw Status Bar

Same as Clear LCD, but redraws the Status Bar as well::

"CD101A02CD3C1A02C9"

.. function:: Fill Screen with White

Fills the screen with white::

"210000D436FFE5D11301FF5702EDB0C9"

.. function:: Fill Screen with Black

Fills the screen with black::

"210000D43600E5D11301FF5702EDB0C9"

.. function:: Run Indicator Off

Turns off the run indicator::
Expand Down
Binary file modified docs/images/app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/appInstaller.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 6 additions & 3 deletions docs/osutilityfunctions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ Documentation

Errors:
* ``..NT:EN:M`` depending on the amount of remaining memory and the size of the variable being renamed.

------------

.. function:: LockPrgm: det(24); Str0 = variable to lock
.. function:: LockPrgm: det(24); Str0 = variable to lock / unlock

Toggles the locked attribute of the program referenced by ``Str0``.

Expand All @@ -73,7 +73,7 @@ Documentation

------------

.. function:: HidePrgm: det(25); Str0 = variable to hide
.. function:: HidePrgm: det(25); Str0 = variable to hide / unhide

Toggles the hidden attribute of the program referenced by ``Str0``.

Expand Down Expand Up @@ -316,6 +316,9 @@ Documentation
Returns:
* Copies the data backed up from the BackupString command into the user-specified string.

Errors:
* ``..NT:EN:M`` if there is not enough memory to complete the action.

------------

.. function:: BackupReal: det(77, variable)
Expand Down
9 changes: 5 additions & 4 deletions include/macros.inc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
; By RoccoLox Programs and TIny_Hacker
; Copyright 2022 - 2023
; License: BSD 3-Clause License
; Last Built: July 31, 2023
; Last Built: December 24, 2023
;
;----------------------------------------

Expand Down Expand Up @@ -87,6 +87,8 @@ execHexLoc equ ti.pixelShadow2 + 436 ; location for storing ExecHex code (m

;------------------------------------------------------------------------------------

tempNameNum := xtempName + 7

x0 equ var1 ; used for the ChkRect command
y0 equ var2
w0 equ var3
Expand All @@ -108,7 +110,8 @@ searchAppvars := 0
largeFont := 1
isProgram := 2
showErrorOffset := 3
showLineNum := 4 ; this flag is flipped, it will be set to not show the line number and reset to show it
deleteLineOne := 4
showLineNum := 5 ; this flag is flipped, it will be set to not show the line number and reset to show it

celticFlags2 := ti.asm_Flag2
archived := 0
Expand All @@ -120,6 +123,4 @@ replaceLineRun := 5
invertPixel := 6
imaginaryList := 7

tempNameNum := xtempName + 7

;------------------------------------------------------------------------------------
12 changes: 6 additions & 6 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# By RoccoLox Programs and TIny_Hacker
# Copyright 2022 - 2023
# License: BSD 3-Clause License
# Last Built: July 31, 2023
# Last Built: December 24, 2023
#
#----------------------------------------

Expand All @@ -22,19 +22,19 @@ FLAG_NOT_PRERELEASE = -i 'flag_prerelease := 0'
Q = @

all:
$(Q)echo Compiling AINSTALL...
$(Q)echo Building AINSTALL...
$(Q)fasmg $(AINST_SRC) $(AINST_NAME).8xp
$(Q)echo Compiling CelticCE...
$(Q)echo Building CelticCE...
$(Q)fasmg $(FLAG_NOT_PRERELEASE) $(SRC) $(NAME).8xp

beta:
$(Q)echo Compiling AINSTALL...
$(Q)echo Building AINSTALL...
$(Q)fasmg $(AINST_SRC) $(AINST_NAME).8xp
$(Q)echo Compiling CelticCE...
$(Q)echo Building CelticCE...
$(Q)fasmg $(FLAG_PREREALEASE) $(SRC) $(NAME_BETA).8xp

ainstall:
$(Q)echo Compiling AINSTALL...
$(Q)echo Building AINSTALL...
$(Q)fasmg $(AINST_SRC) $(AINST_NAME).8xp

final: all
Expand Down
Loading

0 comments on commit 708f9e3

Please sign in to comment.