After wanting to make a programm that would watch over other programms on my calculator, ensuring that nothing can crash it, implementing file permissions and wanting a proper desktop, it dawned on me that what I really want to make is an entire OS.
That's what I started. As you can imagine, it will be a looong project.
OSExt is a temporary name, because I suck at coming up with cool codenames. If you have a cool name, I might change it.
I want it to become a POSIX OS with USB support, so you can cross-compile linux programs for it.
Is the "Ext"-part indicates, it should also extend the normal OS. But the main goal for me is to get USB support working and add a mass storage driver, so I can use a USB stick as a filesystem.
This would allow me to just delete the OS in RAM and take all the 64MB, not just the memory the OS wants to give me. Because the only problem is to read and write the Flash without the OS, and I'm afraid to brick my calculator.

If you think of any other cool features (that are actually possible), I can add them to the "Planned" list.

Finished:

  • physical memory allocator that allocates memory in blocks from the OS and hands out individual pages
  • virtual memory manager to controll address spaces
  • internal memory allocator for everything smaller than a page (after a complete rewrite of the memory manager, try debugging a memory manager, not fun)
  • drivers for the timers, the RTC, the serial port, the LCD controller, the keypad and the touchpad
  • the ability to expose my own system calls
  • UNIX time, and exposing my UNIX time as syscalls for other programms to use
  • a minicklock displaying the time on the top right of the screen
  • setting the time with a user interface
  • wallpapers for the TI OS main menu
  • loading ELF files as modules for the kernel
  • a lua library for the UNIX time


in development:

  • making a thread api and exposing it as syscalls
  • making a virtual filesystem driver
  • making a userspace process system
  • implementing userspace syscalls
  • making a swap manager that can swap to compressed RAM


Planned:

  • fixing the ADC driver to read the battery voltage and display it with more accuracy than the OS. Currently somehow breaks the battery indicator of the OS
  • making enough common syscalls for a simple userspace to work
  • making my own libc (or port newlib)
  • implementing an init process
  • making a shell
  • making some basic POSIX shell programms
  • creating a wayland compositor
  • creating a file manager
  • creating a text editor
  • making the USB host controller driver
  • making a USB mass storage driver
  • making a swap manager that can swap to a USB swap partition
  • making a fat32 driver
  • making a driver for usb hubs
  • making a USB device driver, so the calculators can communicate with each other while running OSExt
  • adding the ability to then offload processing to other connected calculators. Maybe that can get good 3D performance
  • slowly port linux software over to my OS


Pictures:

  
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 1
» 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