noti-ez80 + BOS
Coming to an emulated CE near you!

I have recently coupled noti-ez80 and BOS into an open-source, free and distributable ROM image for use with CEmu!
BOS github repo
Read the provided readme for instructions on how to compile.
Additionally, BOS can run programs from a FAT32 formatted USB flash drive! This method is how BOS updates. Currently the updater only updates the OS sectors and not system files. I also plan to make a software for transferring programs and etc to/from BOS.
In order to utilize BOS's USB functionality however, (which to my knowledge only works on Linux) you will need to build the usb-host branch of CEmu, or use the OS on hardware with an OTG adapter Such as this one:


BOS can be installed to physical hardware, But be warned! Installing BOS will wipe both your calculator's RAM and Archive, and may cause instability.
If your calculator crashes and appears to no longer work, hold [on]+[2nd]+[del] while pressing the reset button found on the back of the calculator. This will hopefuly put the calc into OS recieval mode. From there, send back the TIOS using TI-Connect CE or TiLP.

If BOS functions and boots into the welcome screen, pressing [y=] followed by [del] followed by [enter] will uninstall BOS and automatically go into OS recieval mode.

If you understand the risk and still wish to proceed, simply transfer and run BOSOS.8xp to install.
Quote:
you will need to build the usb-host branch of CEmu

Wait, how do you do that?

Edit: My Windows Defender blocked me from running the batch file in the ZIP, but according to VirusTotal, nothing picked up any malicious code.
Currently preparing for a pre-release of BOS, likely to be released in the next few hours.
This pre-release will contain a ROM for use with CEmu and an installer for use with hardware.

EDIT: BOS Pre-release v1.03.0000 is now up on GitHub!
Installation and uninstallation of BOS on physical (pre rev. M) hardware functions reliably. However despite this, installing BOS on hardware is still at your own risk.
New BOS pre-release today! https://github.com/beckadamtheinventor/BOS/releases/tag/v1.03.0030

New in this release
Fixed rm, cd .., cat, ls, and others
Improved /bin/cmd.exe and /boot/boot.exe, remove /bin/clean.exe.
Restructured the default filesystem sources
Vastly improved build times with new build script, which is also more platform-independent.

In order to update BOS on-calc you will either need to reinstall TIOS first, or use a FAT32 formatted USB drive.

To update BOS on-calc, follow these steps:
send BOSUPDTR.bin to the root directory of the USB drive, plug it into the calculator, then run "updater".
With this update, you will also need to reset the filesystem. Press F1 followed by mode followed by enter. BOS will then reformat the filesystem.
This is really good I am glad to see this project grow with new features, I had just tested this out on the project builder on tiplanet and it looks great, 1 thing I wish it had is Icons for the things but im guessing that that is coming in the near future?
Any CE experts who could help me put together a timed interrupt in BOS? I'm looking to use one of the General Purpose Timers to generate an interrupt every so often. If possible, once every 5-10ms.


QuillPlayzYT wrote:
This is really good I am glad to see this project grow with new features, I had just tested this out on the project builder on tiplanet and it looks great, 1 thing I wish it had is Icons for the things but im guessing that that is coming in the near future?

This is definitely planned.
I've been working on stability and feature updates a bit lately.

- Added some support for startup programs
- Built-in graphics routines now draw to the currently active buffer as opposed to always being double buffered
- The builtin memory editor can now actually save data correctly
- Fixed file [re]allocation

It is highly likely that USB support broke, but since my Linux partition no longer boots (and I can't seem to reinstall it) I no longer have access to MSDs in CEmu; which means I can no longer debug this feature. As before, BOS works best in the emulator at this time.

Note on startup programs:
On boot, BOS will run "/boot/usr/onboot.exe" if it is found.
If "/boot/usr/explorer.exe" is found, it will be run instead of the builtin explorer program.

Yes I am still working on this. I don't plan to stop working on it any time soon.
Today's progress report:

- Fix mkdir
- Improve memedit executable
- Change default executable format extension to bin instead of exe
- Improve end-of-directory marker
- Improve swap-using flash writing routines to only use swap if necessary
- Fix off executable
- Fix build script again

Edit: made another pre-release! Grab it here: https://github.com/beckadamtheinventor/BOS/releases/tag/v1.05.0028
Note: USB FAT drive support may be broken. I have no way of testing it at the moment.
beckadamtheinventor wrote:
Note on startup programs:
On boot, BOS will run "/boot/usr/onboot.exe" if it is found.
If "/boot/usr/explorer.exe" is found, it will be run instead of the builtin explorer program.

Reading this made my ulcers bleed and my eyes literally roll back in my head in despair.
MateoConLechuga wrote:
beckadamtheinventor wrote:
Note on startup programs:
On boot, BOS will run "/boot/usr/onboot.exe" if it is found.
If "/boot/usr/explorer.exe" is found, it will be run instead of the builtin explorer program.

Reading this made my ulcers bleed and my eyes literally roll back in my head in despair.


That doesn't sound very fun at all.
BOS pre-release 1.06.0000 is out now! Grab it on GitHub
Faster flash routines & file creation, faster boot time, fixed mkdir, ls, cd, filesystem reset and much more!
You can even delve arbitrarily deep into subdirectories! Though not in the default terminal lol

In response to Mateo's comment,
MateoConLechuga wrote:
beckadamtheinventor wrote:
Note on startup programs:
On boot, BOS will run "/boot/usr/onboot.exe" if it is found.
If "/boot/usr/explorer.exe" is found, it will be run instead of the builtin explorer program.

Reading this made my ulcers bleed and my eyes literally roll back in my head in despair.

This has been changed and will work using a config file instead Razz
BOS pre-release v1.06.0117 has now been released on GitHub!

New in this release:
+ file/directory creation bugfixes and improvements
+ preparing for explorer color customization
+ terminal now uses same colors as explorer gui
+ file deletion will now handle de-allocation and entry deletion instead of just marking the file as deleted
+ add fsutil and garbage collect, although it does not move files around in memory yet
+ misc bugfixes and improvements
Tons of bugfixes and improvements as of today!
+ fix creating of files and directories in the root directory
+ fix command file interpretation
+ command interpreter is now called to run programs on boot, executing from a command file
+ add PATH variable, command interpreter will now search directories in said variable
+ implement and add unlisted files and directories
+ implement reading of long file names (untested and no creating of said files yet)
+ add new flag to file flags byte: "elevated" for programs allowed to raw access flash
+ start on implementing under-the-hood changes to allow writing to read-only files in specific cases
+ the read-only flag should no longer apply to creating files/directories in read-only directories
+ implement sub-files. writing is somewhat implemented, but resizing will move it to a regular file
+ implement compressed RAM executables

And probably many more things I can't remember at the moment.
BOS is coming along quite well Very Happy
As of today, I am pleased to announce that BOS now has a functional port of the CE C toolchain that is installed alongside the existing toolchain and can be used in parallel! Very Happy
There is currently not a "release" of this port per se, but it can be easily installed.
All you need to do is clone this repository and checkout the "llvm-bos" branch, then copy the "bos" folder into your CEDEV directory.
To clone this specific branch:

Code:

git clone https://github.com/beckadamtheinventor/toolchain.git --branch llvm-bos

And to compile your project with the BOS toolchain, your makefile should look like this:

Code:

include $(CEDEV)/bos/meta/makefile.mk

Additionally, code using not yet supported OS routines will (hopefully) not compile.

To polish it all off, there is also included a "bos.h" header file for BOS-specific OS functions, with documentation on each routine inside.
I plan to update my port of fileioc to allow for use of more than the compatibility "/usr/tivars" directory soon.

The current pre-release version is v1.07.0112 Alpha.
More pre-releases and maybe an actual release on the way very soon....
Oh neat, does this mean we can develop our own programs for BOS in C?
MateoConLechuga wrote:
Oh neat, does this mean we can develop our own programs for BOS in C?

Yep! I plan to eventually implement most of the routines in tice.h. (Hopefully) most C programs that don't use many os-specific routines and don't assume memory locations will compile.
Additionally, I might add an option to use BOS malloc instead of C malloc.
Also, in order to start porting TRANSFER I had to increase the BSS size and move some things around. The BSS section can be a maximum of 85248 bytes.

Even better, BOS malloc has an entire 64K of RAM dedicated to it, files are all safe from reset once written, full 8.3 FAT-style filesystem
In the [near] future, I plan for flash sectors 3C to 3F to be usable for extra static runtime data generation/extraction.

Currently none of the non-bootcode TIOS math routines are implemented. Pretty much only the basic print routines are implemented in tice.h.
Also, unfortunately writing directly to files via address will not work due to files being stored in flash. I'm considering a workaround for this, but for the time being use fileioc or bos.h file write functions.
If you want, I can write a clone of ed to use with BOS Razz You say it's in need of a text editor. Most people think VI or something. But ED is the real deal. It's for people who can remember what they're editing.
Michael0x18 wrote:
If you want, I can write a clone of ed to use with BOS Razz You say it's in need of a text editor. Most people think VI or something. But ED is the real deal. It's for people who can remember what they're editing.

Feel free to write one! I can't guarantee it'll make it into the release but it can certainly go on the package manager Wink
Big news, BOS is getting a package manager soon!™

In the meantime though, once I port TRANSFER, users will be able to download packages from a website hosted by ACagliano, to be unzipped and simply drag-and-dropped into BOS's filesystem as if it was a flash drive! Original TRANSFER program written by Jacobly, without whom this idea would likely never have seen the light of day.

Double-post because big news
Ooh! Nice!
Jokes aside, I'll try to port the editor I'm working on once I finish it.
  
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 1 of 3
» All times are UTC - 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