User blog:BrianXP7/Development Blog: PetiTouch (08-20-2013)

You probably saw this program while you were browsing around some stuff here. If you tried it, thanks! If you didn't or never heard of it, read on. You can visit at the program's page here if you're interested.

Basically it's an "operating system" for Petit Computer and it aims to have touch-based navigation. Development started (alone) sometime in March 2013. I had very little experience with SmileBASIC at the time, which is one of the reasons for the hiatus. I did a few lines but eventually my personal life took over. I got bored one day during summer and reused the code for the PTC Diagnostics Utility. I had to remove all of the broken code just for that but at least it still "kinda sort-of" works. Now that I have much more free time, I decided to revive the project. Hopefully, my personal life doesn't take over again.

I have a public concept demo that has no real function. (It's available to scan on the PetiTouch page.) I actually had start from scratch because I forgot which variable was which. It's only purpose was to save what I have so far onto an online archive and show it to my good friend (User:Randomouscrap98) for some code optimization. He wrote a program that demonstrates touch-based buttons but I never ended up using it. I still have it for future references and I usually fool around with it just because I like pressing buttons. (Mmm... Chili dogs...) The other time was 4 lines of modulo operation. I still don't know what that is but I'll eventually have to learn it in some kind of math class. (The analogy C.J. gave me was on apples in crates and something about panic. Still, it's all a brainf*ck to me.) Those few lines replaced the redundant repeating "LOCATE" and "PRINT" commands which made the program shorter by a few lines. It's only used in the "BIOS" (ahem...Completely cosmetic loading screen that doesn't even load anything during that time.)

What I currently have is the "Kernel". It's basically a "first boot" scenario that checks for certain files and stuff like that. For example, it will only boot into the kernel if MEM:PTRAM doesn't exists. I plan to use actual sprites so the kernel check for them. If they aren't installed, it'll fallback to using ASCII text for graphics. I'm not very good at graphic design from scratch. If anyone wants to help, feel free to leave me a message on my talk page.

The other thing I have is the navigation bar. It does your usual "Home" and "Back" functions similar to the one from Android 3.0+. The only thing "Back" does is end the program entirely. "Home" just goes back to "@HOME".

The last thing I want to mention is I have tried to replicate the text that shows up on the command window. Even the version number matches with its respective regions. (v2.2 is NA, v2.3 is JP, and v3.4 is EU.) It also uses FREEMEM to display the actual amount of free memory. However, it'll only show in kilobytes instead of bytes. That's why I added the extra static zeros at the end.

My short-term goal is to add the basic functions found in BASICOS such as a calculator, program executer, large clock, and such. Hopefully I can do it with a touch-based interface. No pressure...it's just a few more "IF" lines.

I obviously need help on this project. Anything will help! What I'm currently looking for are code alternatives and sprites resembling the 3DS menu. A little ambient MML resembling the 3DS menu theme could help, too.

Last thing I want to know, while the "BIOS" is "loading" is there some way to call a label definition? Thanks.