Jump to content

Introducing Structured Extended BASIC and TiCodEd


Recommended Posts

On 11/16/2022 at 1:41 PM, mizapf said:

That's what I said. During runtime you cannot change the image, more exactly, the emulation will not notice that you changed the image. The reason is that MAME reads the disk image when mounting and converts it internally to a low-level magnetic flux sequence. The flux sequence is converted back to the image format when you leave the emulation. That also means that the image file is not updated until the emulation is closed. This is also true for the hard disk images which are processed in a similar way.


In this situation, if you don't want to shut down the emulation, your only chance is to unmount the disk image in the OSD menu. This has the same effect. Then you can change the image and remount it.


An exception is TIPI. Here, the TIPI has the files on its own file system, and it exchanges the files with MAME during the file operations. So the files will also be updated on the TIPI on write operations in the emulation.

Thanks for the clarification. TIPI looks interesting but necessarily complex.  I'll work with manually unmounting/remounting the disk in mame for now.

Link to comment
Share on other sites

  • 4 months later...

It is time to bring back this forgotten thread .. over the last 5 months I did quite some projects and they usually lead to some ideas for TiCodEd. My journey to TMS9900 Assembly started when using the lower 8k for the dictionary of my  WordSearch -Game. Since I couldn't upload the dictionary directly, I learned about DATA and the TEXT in assembly files. And AORG. And referencing a label to get entry-points to sections of my dictionary. I lost my "respect" of Assembly Language and started coding the Multicolor Library, now supported with TiCodEd and switched from the ASM994a Assembler to the tiny commandline Xa99 by Fred Kaal. With his approval I included it in the TiCodEd distribution to automate the compiling even more, just have a look at the attached video. Also the Tank Combat challenge led to some improvements. Now the labels are checked for uniqueness. 


At this point I want to thank the community for the feedback I received. I try to include whatever fits in the general concept.

What's new in Version 2.5?

  • SXB: There is a new keyword CONST to define a constant in SXB, which will be substituted in the XB code, i.e. "CONST MaxRows = 10"
  • Editor: New function "Replace Identifier" 
  • Util Menu: "Edit TIFILES" is an application on it's own to edit TI-FILES/V9T9 Data files FIXED/VARIABLE and DISPLAY/INTERNAL, see below.
  • Programs can now be saved in V9T9 in addition to the default TI-FILES format
  • Integration: New option to automatically copy the XB code to the Clipboard on successful build if you don't use the integration
  • For the use of the BASIC Compiler Assembly support the CALL LINK routines can be generated in lowercase
  • Various smaller bugfixes and library updates.

Release 2.5 is available for Windows (64 and 32 bit) and Linux (x64) at https://lizardware.de/


Some more details:

  1. The TIFILES Editor: I will post a detailed introduction over in TI-99/4A Computers as this is not just for developers. You can now load and edit TIFILES and V9T9 files created by a BASIC program in DISPLAY and INTERNAL format. DISPLAY files can be edited in regular text-editor, whereas INTERNAL files have more structure and can be edited in an Excel-like grid. These two type are so different that they can't be changed, whereas all other parameters like record-size, header-type, filename and FIXED/VARIABLE may be changed .. Don't forget to tell your program about the changes. 
  2. Advanced Integration (Windows only): By switching from the Windows GUI program ASM994a to Xa99 the external assembler can now be controlled by TiCodEd. With Classic99 this makes a really nice combo. Just configure in Edit/Settings the Integration to Classic99 and select a device-name to be used in the emulator for your FIAD Program Directory. Then adjust, if needed, the full path to XA99.exe. TiCodEd will create a framework for your automation on the Project Page, which can be adjusted if you have special requirements. You may re-generate the defaults by deleting the script completely and double-click the editor window. See the following video ... all keyboard inputs are automatic, I just use mouse. Pressing Ctrl-B or click the menu Export/Build Project will now do the complete compile included linking and saving as EA5 and XB.

Have fun!



  • Like 6
Link to comment
Share on other sites

Very nice upgrade!


Just shy of 100 pages of documentation.


I need to print out the manual and walk through each item, while sitting behind TICodEd!


Thank you very much for this awesome upgrade.


Last week, I was trying to peck a small program in to a 99/4, hooked to a 1' black and white TV. The keys kept taking off on me. 


With TICodEd - I have a full clickity keyboard, a nice 23" display. The ability to backup and lookup anything at will and a great tool also.

Link to comment
Share on other sites

Hi Dan,


the 92 pages "Beginners Manual" really describes things in details as a tutorial, aimed at the "XB returner", and describes every concept and function up to creating your own module. Be aware that this manual is based on version 2.2 and needs an update. Some details have changed. The TiCodEd.pdf in contrast is an up-to-date and rather compressed overview and all changes since 2.4 are marked with a bar on the right. Discounting the title page, the index, the licence and the appendices, only 15 pages of TiCodEd information remain ...


Feel free to ask any question, I'm happy to help. I am too close to the program to anticipate which ideas and concepts are not as intuitive as I think they are... and then Preferences-Dialog and Project-Page got quite crowded over time.




Edited by SteveB
  • Like 4
Link to comment
Share on other sites

  • 1 month later...

As we have been talking auvout Extended BASIC II+ in the Pandemic-Call ... I created a Package to use this in TiCodEd. Just put it to the LIB directory and select it on the Project-Page:


XB IIplus.xbpkg


It declares all additional CALLs and LINKs, only CALL LINK("MOVE",...) I renamed to "CALL LINE", as CALL MOVE is allready taken by XB II itself. Same for MOVETO got LINETO for consistency. 


It makes programs possible like this translation from the manual:


REM *****************
FOR N=1 TO 13 STEP 2
  CALL SETCOL(N,16,2,N+1,14,2,N+14,9,2,N+15,13,2)
CALL CRCDIA(64,60,38,180,276)
CALL CRCDIA(68,60,38,276,450)
CALL CRCDIA(68,64,38,90,180)



  • Like 4
Link to comment
Share on other sites

  • 6 months later...

Hi 99ers,


I just uploaded a maintenance-release 2.5.1 of TiCodEd to https://lizardware.de/ 

  • Switch from Log to SXB page after successful integration run

  • New library files for T80XB and XB II+ with short examples

  • Bugfix: IMAGE was tokenized wrongly

  • Bugfix: The first characters on Char-Page got corrupted

Thanks to @dhe for pointing me to the CALL IMAGE problem.



Edited by SteveB
  • Like 6
  • Thanks 1
Link to comment
Share on other sites

  • 5 months later...

The MacOS version came a little out of sight lately. As I have no Mac myself I need to compile this together with a friend. We found, that the MacOS version of Lazarus is not as stable and widely used as the Windows and Linux versions, now additionally splitted between x64 and ARM.


If there is a demand, we will try to compile it with the latest Lazarus release 3.2, hoping it fixes the issues we previously had on ARM aarch64 ... would you volunteer to test our builds?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

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.

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.

  • Recently Browsing   0 members

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