Jump to content
IGNORED

CVBasic Target


Tursi

Recommended Posts

9 hours ago, JasonACT said:

It occurs to me, it might help someone in the future.  Feel free to add it to your GitHub repo under your existing license, if you like.

Thank you very much! I just have added it to the CVBasic git under the "utility" folder.

 

Today I finished checking all the statements for TI-99/4A, adjusted some register order in the library/compiler to avoid bugs in complex expressions, solved some small bugs in the peephole optimizer (triggered by the use of new instructions), some misaligned variables, and corrected a bug when enabling/disabling the screen.

 

I think it is now pretty stable, and I've managed to compile GORILLA.BAS without changes :)

 

CapturadePantalla2024-09-02ala(s)18_35_21.thumb.png.59f833c0fefac1182e3aebb2af152e52.png

gorilla.obj

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

  • 2 weeks later...
On 9/3/2024 at 1:39 AM, nanochess said:

Thank you very much! I just have added it to the CVBasic git under the "utility" folder.

 

Today I finished checking all the statements for TI-99/4A, adjusted some register order in the library/compiler to avoid bugs in complex expressions, solved some small bugs in the peephole optimizer (triggered by the use of new instructions), some misaligned variables, and corrected a bug when enabling/disabling the screen.

 

I think it is now pretty stable, and I've managed to compile GORILLA.BAS without changes :)

 

CapturadePantalla2024-09-02ala(s)18_35_21.thumb.png.59f833c0fefac1182e3aebb2af152e52.png

gorilla.obj 52.89 kB · 9 downloads

Nice!  Hi Nanochess, how did you run this in Classic99?  I've tried adding the gorilla.obj file to a disk image using TI99dir and running via EA option 3 without success.

Link to comment
Share on other sites

20 minutes ago, OX. said:

Nice!  Hi Nanochess, how did you run this in Classic99?  I've tried adding the gorilla.obj file to a disk image using TI99dir and running via EA option 3 without success.

I seem to recall, I imported it to an old .dsk file using TIImageTool (as DF80) and extracted it again, to get the file with a TIFILES header Classic99 needs.

  • Like 1
Link to comment
Share on other sites

2 hours ago, OX. said:

Nice!  Hi Nanochess, how did you run this in Classic99?  I've tried adding the gorilla.obj file to a disk image using TI99dir and running via EA option 3 without success.

It is pretty easy actually. I didn't made any disk images.

 

I made a DSK4 folder and put there the OBJ file. In the Disk menu I selected the folder for DSK4. These are my selected options:

 

CapturadePantalla2024-09-13ala(s)15_57_46.thumb.png.d73bf1c1006212ea4e6cf68cd4d8bc17.png

 

And then I executed the Editor/Assembler cartridge and typed DSK4.GORILLA.OBJ pressed Return, waited for it to load, pressed Return again, and typed START and then Return.

 

 

  • Like 2
Link to comment
Share on other sites

15 hours ago, JasonACT said:

I seem to recall, I imported it to an old .dsk file using TIImageTool (as DF80) and extracted it again, to get the file with a TIFILES header Classic99 needs.

Would you be so kind as to upload the dsk image on here?  I'm having trouble getting Java to work on Win10 and can't run tiimagetool.

Link to comment
Share on other sites

34 minutes ago, OX. said:

Would you be so kind as to upload the dsk image on here?  I'm having trouble getting Java to work on Win10 and can't run tiimagetool.

Odd, I'm getting an out of memory error on my converted file - but when I follow the directions from nanochess, it works OK.

  • Like 1
Link to comment
Share on other sites

Classic99 can read the .obj file directly from the FIAD folder, there's no need to convert it to a TIFILES file for that. (Classic99 can also read V9T9). Classic99 knows the output of xas99 as long as the extension remains .OBJ.

 

If you're having trouble on a disk image, you have probably converted it to the wrong file type. It's uncompressed object file, so needs to be DIS/FIX 80. The object files that xas99 produces might confuse TI99Dir (I don't have experience, but I needed to specially code Classic99 for them), so the easier way to put them on disk is to use the xdt99 utility xdm99 which is designed to do it. To borrow from Oscar's docs, this should work:


xdm99.py -X sssd game.dsk -a game.obj -f df80

 

Edited by Tursi
  • Like 2
Link to comment
Share on other sites

At the risk of unmasking my vast ignorance, since we already have a fully featured TI basic/XB compiler, what new features does this project bring to the table? I am a fan of the Coleco Adam and am pretty excited about it for that platform, but still unclear regarding the TI...

Link to comment
Share on other sites

4 hours ago, Vorticon said:

At the risk of unmasking my vast ignorance, since we already have a fully featured TI basic/XB compiler, what new features does this project bring to the table? I am a fan of the Coleco Adam and am pretty excited about it for that platform, but still unclear regarding the TI...

There are several advantages on using CVBasic.

 

CVBasic is a cross-compiler, this means it runs on a PC/Mac/Linux computer, vastly expanding your opportunities to use your favorite text editor, and way faster than compiling directly in the target system.

 

The syntax used is inspired by QBasic, avoids line numbers, using labels for marking jump points for your program, and allowing use of higher-level constructs like WHILE/WEND and DO/LOOP.

 

It also includes the TMSColor tool to convert BMP images to data usable by the Video Display Processor, including sprites (so you don't need to calculate manually the hex codes for tiles/sprites)

 

Plus a music player that can run in the background while your game plays.

 

And when your game is completed, you can compile it directly for further eleven platforms (except of course if you used bank-switching)

 

  • Like 5
Link to comment
Share on other sites

I thought XB also existed as a cross compiling solution, or is that entirely native development?

 

But yes, for programs you only need to run on the TI-99/4(A), you probably don't need CvBASIC. For programs you enjoy running on multiple systems, you'll get the porting element nearly for free.

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...