Skip to content

Commit 2cb2e3c

Browse files
Add everything for release 1.0
A
1 parent bcda5bf commit 2cb2e3c

32 files changed

+432
-357
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.vscode
2+
release
23
build
34
_build
45
*.8xp

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22

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

5+
## [1.0.0] - 2023-07-31
6+
7+
### Added
8+
- OS Utility Functions:
9+
- SetParseByte
10+
- Custom app icon to be viewed in shells
11+
### Changed
12+
- Graphics Functions:
13+
- DrawCircle will now draw a circle with a radius of zero
14+
- FillCircle will now draw a circle with a radius of zero
15+
- OS Utility Functions:
16+
- PrgmCleanUp command renamed to ResetScreen
17+
- <kbd>2nd</kbd> + <kbd>enter</kbd> hook now also displays the byte offset that you're currently at in the program while editing it
18+
19+
### Fixed
20+
21+
- OS Utility Functions:
22+
- BackupString will no longer backup strings with no data in them
23+
- Celtic now handles invalid arguments correctly
24+
525
## [1.0.0-rc.1] - 2023-07-24
626

727
### Added

COMMANDS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ This file contains a simplified list of all commands in CelticCE, sorted by cate
7373
- BackupReal (77)
7474
- RestoreReal (78)
7575
- SetParseLine (79)
76-
- SwapFileType (80)
77-
- PrgmCleanUp (81)
76+
- SetParseByte (80)
77+
- SwapFileType (81)
78+
- ResetScreen (82)
7879

7980
### [Celtic III](https://roccoloxprograms.github.io/CelticCE/celticiiifunctions.html)
8081

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ If you'd like a more detailed and complete documentation, you can view the onlin
1313
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.
1414
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/).
1515
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/).
16-
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 CelticCE, so it is safe to delete.
16+
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.
1717
5. Find **CelticCE** in the <kbd>apps</kbd> menu and open it.
1818
6. Press <kbd>1</kbd> to install CelticCE, then press <kbd>3</kbd> to exit the app.
1919

@@ -23,11 +23,11 @@ CelticCE commands are called in TI-BASIC programs using the `det(` token followe
2323

2424
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.
2525

26-
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 diplay the basic syntax of a command on the status bar if the cursor is hovering over a valid Celtic command as seen below:
26+
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:
2727

2828
![Command Preview](docs/images/functionPreview.png)
2929

30-
If you press <kbd>2nd</kbd> + <kbd>enter</kbd> in the OS editor when Celtic is installed, it will also display the current line number and program size like so:
30+
If you press <kbd>2nd</kbd> + <kbd>enter</kbd> in the OS editor when Celtic is installed, it will also display the current line number, byte offset, and program size like so:
3131

3232
![Status Bar Info](docs/images/statusBarInfo.png)
3333

docs/celticiiifunctions.rst

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Celtic III Functions
33

44
Overview
55
~~~~~~~~
6-
Some (not all) of the functions from Celtic III are included in Celtic CE.
6+
Essentially all of the functions from Celtic III are included in Celtic CE.
77

88
Documentation
99
~~~~~~~~~~~~~
@@ -14,7 +14,7 @@ Documentation
1414

1515
Parameters:
1616
* ``list_element``: Element of the list to access, beginning at 1. Accessing 0 will return the dimension of the list.
17-
* ``Ans``: Name of the list to access. Begins with the :sub:`L`\ token found in the :menuselection:`List --> OPS`. (:kbd:`2nd` + :kbd:`stat` + :kbd:`left arrow` + :kbd:`alpha` + :kbd:`apps`).
17+
* ``Ans``: Name of the list to access. The data in ``Ans`` must be a string beginning with the :sub:`L`\ token found in the :menuselection:`List --> OPS` (:kbd:`2nd` + :kbd:`stat` + :kbd:`left arrow` + :kbd:`alpha` + :kbd:`apps`), unless you are using a default OS list such as L :sub:`1`\. When using default OS lists, simply use the corresponding list name token, such as L :sub:`1`\ or L :sub:`2`\.
1818

1919
Returns:
2020
* ``Theta``: The number at the element of the list accessed, or the dimension of the list if ``list_element`` was 0.
@@ -30,26 +30,26 @@ Documentation
3030
Outputs a real number depicting the type of argument in ``Ans``.
3131

3232
Parameters:
33-
* ``Ans``: Argument to check the type of
33+
* ``Ans``: Argument to check the type of.
3434

3535
Returns:
3636
* ``Theta``: The number corresponding to the argument's type. A table with the possible types is below.
3737

38-
====== ========
38+
====== =========
3939
Number Type
4040
0 Real
4141
1 List
4242
2 Matrix
4343
4 String
4444
12 Complex
45-
13 Cpx List
46-
====== ========
45+
13 Cplx List
46+
====== =========
4747

4848
------------
4949

5050
.. function:: ChkStats: det(32, function)
5151

52-
This is a multi-purpose command used to read various system statuses. The output will very based on the specified function. A table with the possible functions and their resulting outputs is below.
52+
This is a multi-purpose command used to read various system statuses. The output will vary based on the specified function. A table with the possible functions and their resulting outputs is below.
5353

5454
======== ==============================================================================
5555
Function Output
@@ -61,10 +61,10 @@ Documentation
6161
======== ==============================================================================
6262

6363
Parameters:
64-
* ``function``: Function to complete
64+
* ``function``: Function to complete.
6565

6666
Returns:
67-
* Varies based on input
67+
* Varies based on input.
6868

6969
------------
7070

@@ -205,7 +205,7 @@ Documentation
205205

206206
.. function:: BinDelete: det(40, byte_start, number_of_bytes); Str0 = file name
207207

208-
Deletes the ``number_of_bytes`` bytes from the file specified by ``Str0``, starting at ``byte_start``. ``byte_start`` is 0-indexed, meaning that the first byte of the program is 0, the second is 1, and so on.
208+
Deletes ``number_of_bytes`` bytes from the file specified by ``Str0``, starting at ``byte_start``. ``byte_start`` is 0-indexed, meaning that the first byte of the program is 0, the second is 1, and so on.
209209

210210
Parameters:
211211
* ``byte_start``: The byte of the file to start deleting from. It is 0-indexed, so the first byte of the file is 0, the second is 1, and so on.
@@ -290,10 +290,12 @@ Documentation
290290

291291
A list of return values and their corresponding errors can be found in the `error codes <errorcodes.html#ti-os-errors>`__ section, under TI-OS Errors.
292292

293+
.. warning:: ErrorHandle cannot be used recursively. This means that if you attempt to run ErrorHandle on a program and then run ErrorHandle again inside that second program, the ErrorHandle command in that second program will be ignored.
294+
293295
.. note:: When using ErrorHandle from the homescreen, it will not run BASIC programs, though it can still run programs beginning with the Asm84CEPrgm token.
294296

295297
Parameters:
296-
* ``Ans``: The name of the program to run, or TI-BASIC code to be executed
298+
* ``Ans``: The name of the program to run, or TI-BASIC code to be executed.
297299
* ``get_offset``: If ``get_offset`` is 1, ErrorHandle will return the byte offset the error occured at in ``Ans``. If it is 0, it will not. This only works with running programs, not strings.
298300

299301
Returns:
@@ -311,9 +313,9 @@ Documentation
311313
Works almost identically to BASIC's sub() command, except that the output will be in hexadecimal and two-byte tokens will read as two instead of one byte. It is particularly useful for extracting data from a string that may contain nonsensical data that simply needs to be manipulated. If you allow the start point to be zero, the size of the string in bytes is returned instead. For data manipulation, you should use the Edit1Byte command.
312314

313315
Parameters:
314-
* ``string``: Which string variable to read from, where 0 = Str0, 9 = Str9, and so on
315-
* ``start``: The byte of the string to begin reading at
316-
* ``bytes``: How many bytes to read
316+
* ``string``: Which string variable to read from, where 0 = Str0, 9 = Str9, and so on.
317+
* ``start``: The byte of the string to begin reading at.
318+
* ``bytes``: How many bytes to read.
317319

318320
Returns:
319321
* ``Str9``: The extracted substring.
@@ -326,7 +328,7 @@ Documentation
326328
Converts up to 4 hex digits back to decimal. If you pass a string longer than 4 digits, only the first four are read.
327329

328330
Parameters:
329-
* ``Ans``: Hex string to convert
331+
* ``Ans``: Hex string to convert.
330332

331333
Returns:
332334
* ``Theta``: Decimal integer converted from hex string.
@@ -341,8 +343,8 @@ Documentation
341343
Converts a number between 0 and 65535 to its hexadecimal equivalent. The number of hexadecimal output to the string will have its leading zeroes stripped so inputting 15 will result in “F” and 16 will result in “10”. If override is 1, it will output all leading zeroes, which may be useful for routines that require four hex digits at all times but cannot spend the memory/time whipping up a BASIC solution to fill the missing zeroes.
342344

343345
Parameters:
344-
* ``number``: Decimal integer to convert
345-
* ``override``: 1 to output all leading zeroes, or 0 to not
346+
* ``number``: Decimal integer to convert.
347+
* ``override``: 1 to output all leading zeroes, or 0 to not.
346348

347349
Returns:
348350
* ``Str9``: Hex string converted from decimal integer.
@@ -358,15 +360,15 @@ Documentation
358360
.. note:: Note: A “word” in this sense is two bytes. Useful for editing a binary string which entries are all two bytes in length, such as a special string tilemap. You’re required, however, to specify offset in bytes. Also know that all words are stored little-endian. That means that the least significant byte is stored before the most significant byte is.
359361

360362
Parameters:
361-
* ``string``: Which string variable to read from, where 0 = Str0, 9 = Str9, and so on
362-
* ``start``: The byte to start editing in the string
363-
* ``word``: The two bytes to rewrite
363+
* ``string``: Which string variable to read from, where 0 = Str0, 9 = Str9, and so on.
364+
* ``start``: The byte to start editing in the string.
365+
* ``word``: The two bytes to rewrite.
364366

365367
Returns:
366-
* Modifies the string with the specified word
368+
* Modifies the string with the specified word.
367369

368370
Errors:
369-
* ``..E:NT:FN`` If the offset is past the end of the string
371+
* ``..E:NT:FN`` If the offset is past the end of the string.
370372

371373
------------
372374

@@ -387,12 +389,12 @@ Documentation
387389
5 Right Shift
388390
===== ===========
389391

390-
If the numbers are out of bounds, then the function will exit out with an error. This command really helps mask out hex digits but if you use strings to store those digits, you'll need to use the HexToDec command for each value you need.
392+
This command really helps mask out hex digits but if you use strings to store those digits, you'll need to use the HexToDec command for each value you need.
391393

392394
Parameters:
393-
* ``value1``: First value to perform bit operation with
394-
* ``value2``: Second value to perform bit operation with
395-
* ``function``: Which operation to perform, as seen in the table above
395+
* ``value1``: First value to perform bit operation with.
396+
* ``value2``: Second value to perform bit operation with.
397+
* ``function``: Which operation to perform, as seen in the table above.
396398

397399
Returns:
398400
* ``Theta``: Result of the bit operation.
@@ -401,7 +403,7 @@ Documentation
401403

402404
.. function:: GetProgList: det(51, type); Ans = search string
403405

404-
This function will return a space-delimited string consisting of the names of programs, appvars, or groups that match partial name of the search string. Which is to say::
406+
This function will return a space-delimited string consisting of the names of programs, appvars, or groups whose names partially match the search string. Which is to say::
405407

406408
"TEMP
407409
det(51, 0)
@@ -420,12 +422,12 @@ Documentation
420422
This command is NOT to be confused with FindProg, which outputs a string consisting of files whose CONTENTS starts with the specified string. Also use the fact that the final name in the list is terminated with a space to make extracting names from the list easier. It also will not find hidden variables.
421423

422424
Parameters:
423-
* ``type``: The type of file to search for, as seen above
424-
* ``Ans``: String to find in file names
425+
* ``type``: The type of file to search for, as seen above.
426+
* ``Ans``: String to find in file names.
425427

426428
Returns:
427-
* ``Str9``: Filtered list of files
429+
* ``Str9``: Filtered list of files.
428430

429431
Errors:
430-
* ``..S:NT:FN`` if ``Ans`` is not a string
431-
* ``..P:NT:FN`` if no files were found containing the search string
432+
* ``..S:NT:FN`` if ``Ans`` is not a string.
433+
* ``..P:NT:FN`` if no files were found containing the search string.

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
author = 'RoccoLox Programs, TIny_Hacker'
2525

2626
# The short X.Y version
27-
version = '1.0-rc.1'
27+
version = '1.0'
2828
# The full version, including alpha/beta/rc tags
29-
release = 'Release Candidate 1.0'
29+
release = '1.0'
3030

3131

3232
# -- General configuration ---------------------------------------------------

docs/convertsprites.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ First you'll need to download the latest version of convimg from the `GitHub rel
1313

1414
.. note::
1515

16-
If you already have the CE C toolchain installed, chances are that convimg has already been installed and is in your Path. You can check this by opening a terminal and running `convimg --version`.
16+
If you already have the CE C toolchain installed, chances are that convimg has already been installed and is in your Path. You can check this by opening a terminal and running :code:`convimg --version`.
1717

1818
On Windows:
1919
* Extract the zip to a file path without spaces.
@@ -96,6 +96,6 @@ Once you have completed your yaml, navigate to the directory with the sprites an
9696
image | 256 bytes
9797
"FFFFFFFF0000000000000000FFFFFFFFFFFFFFFF0000... (Data continues)
9898
99-
You can then use the data in your programs by copying it into the source code or pasting it into a TI-BASIC IDE like SourceCoder.
99+
You can then use the data in your programs by copying it into the source code or pasting it into a TI-BASIC IDE like `SourceCoder <https://www.cemetech.net/sc/>`__.
100100

101101
For more documentation on convimg, check out the README `here <https://github.com/mateoconlechuga/convimg/blob/master/README.md>`__. For more info on glob patterns, look `here <https://en.wikipedia.org/wiki/Glob_(programming)>`__.

docs/csefunctions.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ Documentation
8686
* ``HEADER``: whether or not to include a header which allows `CEaShell <https://github.com/roccoloxprograms/shell>`__ to edit the appvar. This extra argument is optional. 1 to include the header, and 0 to not.
8787

8888
Returns:
89-
* ``Str9``: Intact if no error occured; otherwise, contains an error code.
90-
* ``Str0``: Intact with program's name to be created.
89+
* Creates the program or AppVar.
9190

9291
Errors:
9392
* ``..P:IS:FN`` if the program already exists.
@@ -127,13 +126,13 @@ Documentation
127126
* ``Ans``: Line number to delete from, begins at 1.
128127

129128
Returns:
130-
* ``Str9``: Intact if no error occured; otherwise, contains an error code.
129+
* Deletes the specified line from the program or AppVar.
131130

132131
------------
133132

134133
.. function:: VarStatus: det(8); Str0 = variable name
135134

136-
Output status string describing a program or AppVar's current state, including size, visibility, and more.
135+
Output a status string describing a program or AppVar's current state, including size, visibility, and more.
137136

138137
Parameters:
139138
* ``Str0``: Name of program or AppVar to examine.
@@ -189,7 +188,7 @@ Documentation
189188

190189
.. function:: ExecArcPrgm: det(11, function, temp_prog_number); Ans = program name
191190

192-
Copies a program to the ``XTEMP`` program of the specified ``temp_prog_number``. ``Ans`` is the name of the program to copy. ``function`` refers to the behavior of the ``ExecArcPrgm`` command, as seen in the table below:
191+
Copies a program to the ``XTEMP`` program of the specified ``temp_prog_number``. ``temp_prog_number`` can only be 0 - 15. ``Ans`` is the name of the program to copy. ``function`` refers to the behavior of the ``ExecArcPrgm`` command, as seen in the table below:
193192

194193
==== ================================================================
195194
Code Function
@@ -201,7 +200,7 @@ Documentation
201200

202201
Parameters:
203202
* ``function``: The requested behavior of the function. Can be 0, 1, or 2.
204-
* ``temp_prog_number``: The number of the ``XTEMP`` program to create/delete.
203+
* ``temp_prog_number``: The number of the ``XTEMP`` program to create/delete. This must be within 0 - 15.
205204
* ``Ans``: Name of program to copy from.
206205

207206
Returns:

docs/dcefunctions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Documentation
5555

5656
.. function:: FillRect: det(15, low, high, x, y, width, height)
5757

58-
Draw a filled, colored rectangle on the screen. This command can also be used to draw an individual pixel by setting the width and height to 1, or a line by setting either the width or height to 1.
58+
Draws a filled, colored rectangle on the screen.
5959

6060
Parameters:
6161
* ``low``: low byte of color.

0 commit comments

Comments
 (0)