Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Justin wrote:
I found a bug:
Run bosshell press alpha,2nd,left and than hold right.
It displays a bunch of weird text.


I have fixed this for the next release.
(which is not quite out yet)
BOSshell version 4.10.0 has been released!
Very Happy Very Happy Very Happy
BOSshell 4.10.2 has now been released!

Anyone who is interested in developing software with BOSshell in mind should see the site; developer information and more!

Thank you all for waiting so long for me to finish this Razz

Any questions, bugs, crashes, or suggestions, please post here and I will get back to you promptly!
Can this open ASM programs now?
And BASIC?
Well it's a good start, but this is quite a unique shell and it's kinda hard to learn.
The readme is pretty good however it would be nice to have a few video tutorials with the final release. (Also I think you should capitalize the S in shell in "Beck's Operational shell")

One bug I found is that whenever I type, an "A" is always after whatever I'm typing. It's like the cursor is in the wrong spot and is the wrong character.

I did my best to follow the readme but I still encountered a crash. (I'll try to remember my steps)
I was on the BOSSHELL home screen.
I left clicked, then I selected 'new'
I entered a name for it "UV"
It created the file.
I left clicked that file, selected 'prgm' and (I think) I pressed [enter]
I entered the program I wanted to run (HDPICV) and I pressed [enter] again.
The shell launched HDPICV no problem, but when I tried to quit HDPICV it exited to a white screen and froze.
I would've tried to recreate my steps and try again but I'm leaving really soon and I'll have to try it again later.

That's all I could do with my very short time with it. Hopefully this bug report was useful, good luck bugfixing!
De2290 wrote:
Can this open ASM programs now?
And BASIC?


Yes, it can.

press [prgm], then input the program's name. Then choose what kind of file it is: prgm, appvar, or prot prgm (locked program)

In hindsight I don't think it was necessary to have a distinction between the two, they act as if they are the same variable type.
TheLastMillennial wrote:
Well it's a good start, but this is quite a unique shell and it's kinda hard to learn.
The readme is pretty good however it would be nice to have a few video tutorials with the final release. (Also I think you should capitalize the S in shell in "Beck's Operational shell")

One bug I found is that whenever I type, an "A" is always after whatever I'm typing. It's like the cursor is in the wrong spot and is the wrong character.

I did my best to follow the readme but I still encountered a crash. (I'll try to remember my steps)
I was on the BOSSHELL home screen.
I left clicked, then I selected 'new'
I entered a name for it "UV"
It created the file.
I left clicked that file, selected 'prgm' and (I think) I pressed [enter]
I entered the program I wanted to run (HDPICV) and I pressed [enter] again.
The shell launched HDPICV no problem, but when I tried to quit HDPICV it exited to a white screen and froze.
I would've tried to recreate my steps and try again but I'm leaving really soon and I'll have to try it again later.

That's all I could do with my very short time with it. Hopefully this bug report was useful, good luck bugfixing!


That character you are seeing just after the text, is it a different color? If so, that is the overtype Razz Press [alpha] or [2nd] to change it.
There are 3 overtypes currently: "a" "A" and "1".

I am going to adress that bug (hopefuly) in the next hour, as well as another annoying filesystem bug where it doesn't remove things correctly
In the future, use the [prgm] key to run programs, unless they are being used as an editor.
If you want to have a program (Asm only atm) on the desktop, you will need to convert it to an appvar; the software for which I have included in the next release.

Also I have been having problems with certain programs not running correctly as well.
For example, Tetric A crashes if you press any key (other than [clear]) upon returning to the shell.

I don't know what is causing the problem though.
BOSshell version 4.10.6 has been released on github!
https://github.com/beckadamtheinventor/BOSshellCE/releases/tag/4.10.6

The cursor can now move waaay faster, and now allows for multiple arrow keys to be pressed simultaneously!

Please read the README, as this shell has a very steep learning curve. Reading the README will make your experience with BOSshell much easier and more rewarding.
In BOSshell 4.10.6, I added a feature to put an asm prgm into an appvar!

Tutorial:
Step 1: create a new file
Input "aasm" when it says "type?"
Input a name for the file

Step 2: make a file association for files of type "aasm"
Press [2nd] on the file that you created
Input "BOSptoav" when it says "with?"
Select "<appvar>" with the arrow keys

Step 3: open the file
It will run the program (inside the appvar "BOSptoav") that has just been associated with files of type "aasm"
Input the name of the program that you want to copy when it says "prgm?"

Step 4: open the file (again)
It will run the program that you had input in the previous step; you now have a launchable asm program on your BOSshell desktop!

NOTE: you will only need step 2 once (unless you remove the association or delete the appvar "BOSassoc")

I hope this helps anyone who is interested in using BOSshell!
This is to Beckadamtheinventor. I am making a Blockly programming in ice on my CE. It will allow you to make a TI Basic program using Blocks instead of code. It will soon support Ice. For now it features a new file creation, and you can load or convert a previous project. The blocks arent added yet, neither the editor, I am just now working on that and make a few more editor features and it will be done. It allows you to convert your code to a BOSSHELL .prgml extension, or a custom extension.
I just wanted to see if it's ok if I finish it, considering it does something for BosShell.
TimmyTurner62 wrote:
This is to Beckadamtheinventor. I am making a Blockly programming in ice on my CE. It will allow you to make a TI Basic program using Blocks instead of code. It will soon support Ice. For now it features a new file creation, and you can load or convert a previous project. The blocks arent added yet, neither the editor, I am just now working on that and make a few more editor features and it will be done. It allows you to convert your code to a BOSSHELL .prgml extension, or a custom extension.
I just wanted to see if it's ok if I finish it, considering it does something for BosShell.


Of course you can finish your project! Smile
Makes me so happy to know that people are developing stuff with BOSshell in mind! Very Happy
I've started work on BOSshell version 5.0.0! Very Happy
I am going to be designing a custom interpreted bytecode language first though.
I will then re-write BOSshell in this language, and allow for scripting in this language.
This will allow for the shell to be almost entirely customizable! Very Happy

I apologize for the lack of updates as of late, as well as the numerous bugs with the current release.
I don't forsee the folder system of BOSshell 4.10.6 working with 5.0.0 at all, but I do think that this new version will be a lot better and less buggy than all of the previous versions Razz

EDIT: I'm going to be writing the interpreter in C
Ok, so BOSshell v5 won't be out for a while... but I think we all expected that Razz

I have dreamed of making an interpreted language for the CE, and now, that dream is closer to reality than ever before!
Introducing: BOS-BASIC!
This language is run directly from a TI-BASIC program, no need to open any kind of interpreter first!

Code:

Asm(prgmBOSBASIC
Return

These two lines of code will make the rest of your program run as BOS-BASIC!

BOS-BASIC will have a whopping 62 one-character variables!
It will have all the functionality of ICE!
This language will be extendable by the user as well!

An example "Hello World" program:

Code:

Asm(prgmBOSBASIC
Return
GFX
Disp Hello World!
LET 11=x05
Disp Hello World in Green!
FLIP
getKeyWait
GFX


Another capability of this language is it's ability to recognize a token both input from a menu, or written character-by-character, as the same command!


Current command list (including TO-DOs) and what they do:

Code:

GFX - toggle full-screen graphics
Disp String - put the following text to the screen. Will scroll the text if it overflows the bottom of the screen, just like on the homescreen
LET var=value - store value to var
getKey - get key value and update key register
getKeyWait - wait until a key is pressed, update key register
FLIP - display graphics. Use this when you are done drawing, right before getting a key value. Uses "Blit(1" (ICE)
Lbl NAME - program label
Lbl NAME var - program label. Stores label offset from start of program to var
Goto NAME - goto label
vGoto var - goto label from offset stored in var
Call NAME - call label
vCall NAME - call label from offset stored in var
Return - Return from subroutine (Call )
++ var - add one to variable
-- var - subtract one from variable
+val var - add value to variable
-val var - subtract value from variable
*val var - multiply var by val
/val var - divide var by val
^2 var - square var
θ+ var1 var2 - add var1 to var2 and store to var1 (works with "+","-","*", and "/")
θ+ var1 var2 var3 - add var1 to var2 and store to var3 (works with "+","-","*", and "/")
// - comment

If/Else/End works same as in ICE, but only one variable can be compared with a variable or value for each "If" statement.

Variable syntax:

Code:

There are 62 variables. 0-9, A-Z, and a-z.
A variable is accessed by adding one of the following to the end:
:a - get/store all 3 bytes
:x - get/store the first two bytes of a variable. Usually for an X coordinate, like when you are going to draw something
:y - get/store the last byte of a variable. Usually the Y coordinate
:0, 1, and 2 - the first, second, and third bytes of the variable
:d - get/store from the adress stored in the 3b of the variable
:o - get/store from the offset (from the temporary data file) stored in the first 2b of the variable
ex: Aa - 3b number from variable A
ex: 0x - current X draw coordinate
ex: 0y - current Y draw coordinate
ex: 10 - current Background color
ex: 11 - current Foreground color B
ex: 12 - current Foreground color A
NOTE: when setting all 3 colors at once, use a hexidecimal value "x000000" where the first two are Foreground colors B and A, and the last one is Background color.

Value syntax:

Code:

:0 - regular integer value
:x - hexadecimal value
:" - string value (will actually append the string to the temp file. Gets the offset of the first byte of the string)
:: - hexidecimal string (appends to temp file and gets the offset)
ex: 0256
ex: x100
ex: "Hello World!
ex: :0102030400

I will be adding a lot more to this language, so stay tuned for more! Very Happy
I've added a bunch of variable aliases, so you don't have to remember which variables are which Razz
Also I'm planning to make the key code register, the current draw colors, and the current draw position, not a part of the 62 user vars.
The character used to indicate an alias is the exclamation mark ("!")
The aliases that are currently planned:

Code:

!key - stores the keycode returned by getKey or getKeyWait
!arrow - stores the arrow keys returned by getKey or getKeyWait
!BGC - current background draw color
!TAC - current foreground A color
!TBC - current foreground B color
!TextX - current text X draw position
!TextY - current text Y draw position

NOTE: The arrow key variable stores the state of all the arrow keys. So the 4 bits are down,left,right,up in ascending order. I will be adding operators to make this easier to use in the future

Another feature I plan to add is the ability for one variable to store both a string and a Y offset!

<explanation>
This is possible due to a string variable in BOS-BASIC actually being written to a temporary file when created, and that any variable on the calculator can only have up to 64K [-ish] adresses. Variables in BOS-BASIC, being 3 bytes each, can store that pointer, and an extra byte!
</explanation>

Or I could also perhaps make that byte able to be a color. Which one it is used as would depend on what print routine you use.

There is still no scheduled release for BOS-BASIC at this time.
BOS-BASIC is also currently faster than TI-BASIC too! Very Happy
Suck it, TI Razz
beckadamtheinventor wrote:
I've added a bunch of variable aliases, so you don't have to remember which variables are which Razz
Also I'm planning to make the key code register, the current draw colors, and the current draw position, not a part of the 62 user vars.
The character used to indicate an alias is the exclamation mark ("!")
The aliases that are currently planned:

Code:

!key - stores the keycode returned by getKey or getKeyWait
!arrow - stores the arrow keys returned by getKey or getKeyWait
!BGC - current background draw color
!TAC - current foreground A color
!TBC - current foreground B color
!TextX - current text X draw position
!TextY - current text Y draw position

NOTE: The arrow key variable stores the state of all the arrow keys. So the 4 bits are down,left,right,up in ascending order. I will be adding operators to make this easier to use in the future

Another feature I plan to add is the ability for one variable to store both a string and a Y offset!

<explanation>
This is possible due to a string variable in BOS-BASIC actually being written to a temporary file when created, and that any variable on the calculator can only have up to 64K [-ish] adresses. Variables in BOS-BASIC, being 3 bytes each, can store that pointer, and an extra byte!
</explanation>

Or I could also perhaps make that byte able to be a color. Which one it is used as would depend on what print routine you use.

There is still no scheduled release for BOS-BASIC at this time.
BOS-BASIC is also currently faster than TI-BASIC too! Very Happy
Suck it, TI Razz


That's really cool! I'm looking forward to seeing your updates!
Is BOS - BASIC in ICE or Asm? I look forward to seeing how this works out.
Alvajoy123 wrote:
Is BOS - BASIC in ICE or Asm? I look forward to seeing how this works out.


The interpreter is written in ICE.

I don't have many updates on progress as of late.
Stuck on implementing multi-level "If" statements and labels.
Does anyone feel that a language such as this would require multi-level If's?

I am planning to do labels which are stored to variables.
The label address would be stored, and you could goto/call the label using the variable.
MUCH faster than having to search for the label every time Razz
beckadamtheinventor wrote:
Alvajoy123 wrote:
Is BOS - BASIC in ICE or Asm? I look forward to seeing how this works out.


The interpreter is written in ICE.

I don't have many updates on progress as of late.
Stuck on implementing multi-level "If" statements and labels.
Does anyone feel that a language such as this would require multi-level If's?

I am planning to do labels which are stored to variables.
The label address would be stored, and you could goto/call the label using the variable.
MUCH faster than having to search for the label every time Razz


Sounds Good! I love the progress! Very Happy
Ok, so not much new right now.
I am planning a lot of changes to BOSshell, mainly making it program-based, rather than appvar-based.

BOS-BASIC is probably going to change a lot; the codes I had posted before are not likely to be the end result anymore.
I plan to make this language a lot better looking. Exactly how that looks is a WIP.

I am also planning to write a compiled language for the CE. TBD
beckadamtheinventor wrote:
Ok, so not much new right now.
I am planning a lot of changes to BOSshell, mainly making it program-based, rather than appvar-based.

BOS-BASIC is probably going to change a lot; the codes I had posted before are not likely to be the end result anymore.
I plan to make this language a lot better looking. Exactly how that looks is a WIP.

I am also planning to write a compiled language for the CE. TBD


I am rewriting BOSshell entirely. There is just way too much code in the original, and I did not know about the 85 variable limit when I wrote version 4.
PROGRESS!!! Folders now work! (minimally)

BOSshell verison 5.0.0, coming to a CE near you!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 6 of 7
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement