Join us on Discord!
You can help CodeWalrus stay online by donating here.

SourceCoder 3 RC 1: TI-84+CE C Programming, More

Started by KermMart̕ian, February 23, 2016, 09:04:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

KermMart̕ian

It's been over two years since I first posted news entitled "SourceCoder 3 Nears Completion", but today, I'm proud to say that SourceCoder 3 actually is nearing completion. Unless you looked closely at the version number at the bottom-right of SourceCoder 3's main menu, I bet you might not have realized that SourceCoder 3 was technically still in beta, but I'm happy to say that in preparation for T^3 2016 and as various planned features come together, it has reached Release Candidate status. The biggest brand-new feature is in-browser compiling of ez80 C programs for the TI-84 Plus CE, but myriad other tweaks, adjustments, fixes, and updates have been added to SourceCoder 3 in the past two years.

If you've hung around Cemetech long enough, you probably know what SourceCoder 3, but if not, it's a universal in-browser IDE for graphing calculator programmers. It can help you write BASIC, Assembly, and C programs for TI-83 Plus and TI-84 Plus graphing calculators, edit and export lists, numbers, matrices, pictures, AppVars, and more, and even edit Casio fx-9860 and Prizm programs and images. With the integrated jsTIfied emulator, you can test programs right in your browser, take screenshots, and never need to use an offline calculator or offline emulators. In fact, SourceCoder and jsTIfied even work on smartphone and tablets (including the iPad), meaning that students in schools that issue Chromebooks or iPads can still use it.

I'll save the exhaustive list of features for the inevitable SourceCoder 3.0 announcement; for now, here are the highlights of what has been added to SourceCoder in the past two years:
  • TI-84 Plus CE C Support: Thanks to help from Cemetech administrators Tari and elfprince13, as well as excellent tools and libraries developed by the inimitable Cemetech moderator MateoConLechuga, you can now write, compile, and export C programs for the TI-84 Plus C right in your browser. With TI-84 Plus CE support planned for jsTIfied, you'll even be able to test C programs in an in-browser TI-84 Plus CE.
  • Overhauled Interface: Awkward dropdown menus and huge icon-filled buttons are a thing of the past. SourceCoder 3's editor now shows all of the files in a project as tabs, and contains a sleeker interface above the editor. Layout is now almost purely done in CSS (rather than the older Javascript layout engine), and is designed to flow better on devices with smaller screens.
  • Indentation: TI-BASIC and C programs are automatically indented as you type to make it clearer where your loops, conditionals, and functions start and end. In addition, indentation is automatically added to programs that you upload. As with many other features, you can turn indentation on and off from the Settings tab of the main menu, and you can choose how many tabs or spaces to use to indent your code.
  • z80 ASM and ez80 ASM Support: Thanks in great part to Tari's emscriptening of SPASM-ng, you can write, assemble, and test z80 and ez80 ASM programs directly in SourceCoder 3. Projects can also contain multiple assembly programs and includes that are assembled together.
  • Casio fx-9860 and Prizm Images: SourceCoder 3 can import and export Casio calculator images, which required reverse-engineering and documenting the format.
Have you found SourceCoder 3 useful? Let me know! Have you encountered bugs while using it lately? I definitely need to know that too. Finally, although I'm anticipating adding only one additional planned feature for SourceCoder 3.0, feature requests are always welcome.

Launch Tool
SourceCoder 3 Online TI-BASIC, ASM, and C Editor and IDE



EDIT (DJ): Fixed a broken image URL

Lionel Debroux

#1
Funny what the threat of competition, with flexible architecture from the beginning (multi-file projects, multiple project types, etc.), and to be open source in our community's spirit, can yield: much more time devoted to the project relatively quickly thereafter, UI improvements (the tabbed interface is obviously a classic UI component in general, but it is used by the competitor), a "new" project type belatedly providing the same kind of functionality as the competitor, etc :)
Likewise, the advent of CEmu renewed development on the proprietary online emulator, and earlier, the advent of Cesium and PHASM renewed development on the proprietary so-called "shell".

But of course, good job nevertheless, even with a philosophical stance which runs counter modern development practices and cooperativeness (knowledge sharing, etc.). The fact is that the features are many and useful, and represent a huge lot of hard work ;)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Dream of Omnimaga

@Kerm the Source Coder 3 name actually got me to think that it was actually v3.0 final too, and that the recent bug fixes were updates to that version, so I was indeed surprised by this announcement about SC3 reaching RC1 status. I guess this clarify things up now, though. :P Anyway I still use it from time to time, although I wanted to give TokenIDE a try lately (I like it, except the auto-replacing of certain strings of characters and the lack of a single-click/keypress for building a 8xp. Anyway I'll check SC3 RC1 out when I have a chance.


As for the FOSS discussion above, no comment, other than I agree that some healthy competition can do good things to softwares (convincing their respective authors to add more features)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

MateoConLechuga

This is very handy, and I remember back using version 2.0 to open TIBASIC programs when I was just starting out :) I am really impressed with the technical abilities that have gone into this over the years, and hopefully it continues to get better and better. And hey, competition promotes better software, and more interest. :P

Dream of Omnimaga

#4
Do you remember version 1.0, back when opTI-Basic was separate from Source Coder? :) (it was by Brazcus/MysteryGuitarMan, then merged into SourceCoder) But v1 interface was so long ago that I forgot how it even looks like. It would be weird to look at it again under Cemetech v5 Lite.

EDIT: On a side note, I like the new tab-based interface.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

critor

#5
Wouldn't it be better to join forces in a single and thus better project ?
Working separately without even trying to communicate before is not a normal way of doing things in a community - it's rebuilding the wheel - it's time and energy lost from all points of view.

I also notice that the 1st released projet is not even mentionned. A paragraph on it would have been a possibility to explain what you were intending to add or do differently (other than closing the source), and maybe avoid such replies.

Dream of Omnimaga

#6
*mumbles something about how community collaboration/FOSS matters should be kept in a separate discussion or debate topics rather than project showcases.*

On a SC-related note, I know that Casio calculators lack a program group file format, but I still think that it would be nice if we could have multiple FX-9860G and PRIZM programs/pictures/etc in one single project, even if we can't download all of them in one click like 8xg files. I once started a PRIZM port of First Fantasy: Mana Force, but since I could only have 1 PRIZM program open at a time I had to switch back and forth between projects when I needed to edit sub-programs.

While PRIZM development is quiet, there is still a large community of French FX-9860G programmers out there.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

KermMart̕ian

That sounds like a reasonable request, DJ_O. As you correctly deduced, it doesn't allow that because Casio doesn't have a group file format that we know about. As long as I remove the ability to export the project for such Casio projects, then I can't see any reason why not to have multiple Casio files per project.

Dream of Omnimaga

I actually thought it was a bug a few months ago, but then realized the lack of grouping (not that groups on TI calcs are that reliable, anyway, knowing the many issues people had to send my past RPGs to their calculators, but that's another story). I'm unsure how feasible it would be to generate a zip, 7z or rar file on Cemetech server, though, hence why my suggestion ruled that out, but I thought that being able to have multiple files in one project would be more convenient than having one project per file :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal