Jump to content
IGNORED

Introducing Structured Extended BASIC and TiCodEd


SteveB

Recommended Posts

4 hours ago, Vorticon said:

No need to re-invent the wheel. We already have an excellent compiler, and we should be able to just drop the XB code generated by TICodEd in Classic99 and compile away :) Best of both worlds!

We don't need to re-invent, just make a seamless connection with one software to the other. Or maybe even better integrated into. I think that if it was integrated it would make more programmers able to put out programs that get the best use of resources in the TI. I think that if a person get a feeling of completion, that will inspire to make more.

So a tool that can make it easier! When it is not about creativity, but just standard "number-crunching", why not make it so easy so that more people can get a hold of that "power". Just as TICodEd is meant to be.

Why - Sometimes "creativity" are not that good at programming. So it makes it easier for more ideas to come to live, with more automation. I am sure that there are still games/programs, that is STILL not made.

 

I have many experiences of people being able to express great and new idea at one level, but totally lacks ability or resources to express it for the masses (at more levels).

I have seen YouTubes of someone converting a B Ex, with a compiler. Where the one doing it was typing the same name, but with different extensions. And then saying, "This you need to do to all programs you want to convert!" In my mind, "WHY, why not automate this? When this is something that EASILY could be bade into ONE single thing to do. Type a name and then the computer do its internal "pling plong" - and then, "Here are your file/s". There are times that it would be OK to do it ALL manually. But most of the time, automate it!

What draws me to the computer is that I can make it do stuff I can do, BUT I get totally bored out of my mind doing it a 1000 times. So I am all for automation of stuff. As soon as your doing a repetitive action, it is time to automate it. That gives me more time to be creative.

That is what I love about TICodEd, it used the power of the modern computer to optimize programming on the TI. I love it when you are able to program with "clarity" and with great over view. And when you look at the program-lines the "computer" make, the program lines are optimized in the best possible way. COOL, love it! That is the best combination. Creativity of the programmer is let lose and the computer dos what it dos best. Make the program "tight" and as small as possible. I also think that with TICodEd, it is easier to make program snippets that are great and can be reused. So In the future, TICodEd can have a huge library of snippets that can be combined to make the code for the computer optimal. I have seen different programmers do the same thing and some times there is this one programmer, that has a great solution of a small part. Where very few lines are used to do something that someone else use 2-3 time more lines to do.

@SteveB Maybe that is something that could be made in the future, a library of great code snippets for TICodEd.

PS! Programmers creativity is making code even smaller then it was and do more!

 

PS!! I love 1 or 10 line games -challenge! So cool to look at games made in a few lines! I can not do it, but I love to see the creativity within that limitation.

Edited by oddemann
edit...
  • Like 3
Link to comment
Share on other sites

8 hours ago, Vorticon said:

No need to re-invent the wheel. We already have an excellent compiler, and we should be able to just drop the XB code generated by TICodEd in Classic99 and compile away :) Best of both worlds!

Quite right there is no need. 

My idealism is just slightly put-out by making a text file that makes a text that makes a text file... that gets assembled. :)

I will lookup a good therapist if it gets too serious. :) 

 

In the mean time it is still an amazing addition to TI-99 development so "compile away!" 

 

  • Like 2
Link to comment
Share on other sites

20 hours ago, TheBF said:

My idealism is just slightly put-out by making a text file that makes a text that makes a text file... that gets assembled. :)

You forgot the binary tokenized files ... it is SXB textfile, XB textfile, -M tokenized binary Merge-File, Assembler textfile, OBJ objectcode and finally the compiled XB file. I am still amazed how well things are working together...

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...
1 hour ago, SteveB said:

... it looks like a bug in TiCodEd ... it should not crash, even if something unexpected happens. 

 

Can you mail me an example? TiCodEd <at> lizardware.de or per direct message here? 

By crash I meant that it gives the error message then the option to ignore with the risk of file corruption or to abort which exits the program. Neither are great options ?

Link to comment
Share on other sites

  • 1 month later...

A maintainance release for TiCodEd is now available. Beside minor bugfixes it has the following improvements:


What's new in Version 2.1?

  •     New option for forced IV254 saving on project page
  •     Edit Menu: New "Toggle Comment" feature
  •     New RXB 2021 and TML 2.0 Library files; bug fix XB256 "WINDOW"
  •     200 instead of max. 100 labels due to many generated labels
  •     Semicolon can now be used in filenames in the integration
  •     ON GOTO / ON GOSUB does not require a space before each label anymore

Version 2.1 is currently only available for Windows (64 & 32 Bit) as I received little feedback on the Mac port so far. Changes to version 2.0 are also marked on the right page-side of TiCodEd.pdf

 

Special thanks to @Vorticon and @dhe for their feedback to improve TiCodEd. 

 

Download as usual at https://lizardware.de/ 

 

  • Like 4
  • Thanks 4
Link to comment
Share on other sites

  • 2 months later...
9 hours ago, Vorticon said:

There seems to be a small bug in the encoding.

 


RANDOMIZE::OPTION BASE 1

is translated to 


100 :OPTION BASE 1

dropping the RANDOMIZE statement completely.

Thank you for the report, I will have a look on the weekend, as I am currently on a short vacation... 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 4/4/2022 at 1:56 PM, Vorticon said:

There seems to be a small bug in the encoding.

 


RANDOMIZE::OPTION BASE 1

is translated to 


100 :OPTION BASE 1

dropping the RANDOMIZE statement completely.

 

Funny bug ... it takes "RANDOMIZE:" as a label, leave ": OPTION BASE 1". Would happen with any Single-Word-Statement followed by a "::"  ... Will be fixed in the next version.

 

Easy workaround for now: Just add a space after RANDOMIZE.

RANDOMIZE :: OPTION BASE 1

 

  • Like 4
  • Thanks 2
Link to comment
Share on other sites

  • 2 weeks later...

Happy Easter!

 

This looks like a good day to release another update as an Easter-egg ... I enhanced the previously very basic and not promoted Code-Completion to include labels, variables (with at least three characters), statements and subroutines. Type "hc" and press control+space to get a selection window, press enter to get "CALL HCHAR(". The CALL will be omitted if already present. Dynamic fields are used from the last build process (labels, variables and subroutines), routines from libraries and packages are included in the selection-list. 

 

What's new in Version 2.2?

  •     Code-Completion for statements, labels, subroutine and variables (press control+space)
  •     Create binary strings with unprintable characters using BIN$("hex-string"), i.e. for CALL VWRITE in XB256
  •     RXB 2022 support
  •     Bugfix: Generated GOSUB line-numbers corrected when no SUB was used
  •     Bugfix: Single-word statements followed by :: no longer mistaken for a label

Version 2.2 is currently only available for Windows (64 & 32 Bit) as I received little feedback on the Mac port so far.

 

I had to rework some internals from Ansi-Strings (Null-terminated) to Pascal Short-Strings (with length-byte) in order to process binary data with BIN$. I did quite some testing, but let me know when I missed something.

 

Find the updated package again at https://lizardware.de/ .

Edited by SteveB
Update direct link to version 2.2.2
  • Like 2
  • Thanks 3
Link to comment
Share on other sites

  • 1 month later...
7 hours ago, Vorticon said:

Issue resolved. Thanks!

I should mention that I am running TICodEd exclusively under Linux Mint with Wine. Works flawlessly.

Mint is lovely isn't it? Been using it for four or five years now.

  • Like 1
Link to comment
Share on other sites

3 hours ago, Willsy said:

Mint is lovely isn't it? Been using it for four or five years now.

It's the best distribution I have ever used. And I am able to run all of the the TI related Windows programs I need such as Classic99, TI99Dir, Magellan and Asm994a for program development.

Link to comment
Share on other sites

Does Mint use Plasma/KDE or Gnome (preferably)? Most Linux distros mainly differ by their software management and typical desktop. I'm using openSUSE for more than 20 years now, with Plasma/KDE; could never get used to Gnome.

Link to comment
Share on other sites

3 minutes ago, mizapf said:

Does Mint use Plasma/KDE or Gnome (preferably)? Most Linux distros mainly differ by their software management and typical desktop. I'm using openSUSE for more than 20 years now, with Plasma/KDE; could never get used to Gnome.

Gonme 2. I used openSUSE back in the early days in the 90's but at that time Linux was nowhere nearly as friendly as it is today and I ended up giving up on it until maybe a year ago.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

I had some time in a hotel room and was quite bored ...  so installed MINT Linux, Lazarus and compiled TiCodEd 2.2.2 for Linux x64. As the Mac is already unixish there was little to change to get it running. Since using TiCodEd for Windows together with Classic99 works great under Linux WINE including the key-emulation integration (windows native functions), the native port may not be as usefull, as I am not aware of any emulator on Linux having a FIAD disk emulation. MAME does not refresh the disk once loaded, so using the post-processing command to add the created file(s) to a disk image, i.e. using @ralphb 's xdm99 will still require to restart MAME. I haven't checked TI99sim. 

 

Please let me know how it works on other recent distributions. I only testet Elementary OS 6.0 (Odin) so far. If you actually use it, I may compile at least major releases for Linux. For now, this is just a published experiment born on an idle summer night in Düsseldorf.

 

TICodEd V222 Linux-X64.zip

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...