Jump to content
IGNORED

xdt99: New TI 99 cross-development tools available


ralphb

Recommended Posts

  • 3 months later...
22 minutes ago, dhe said:

Start up issue.

 

Converting some working code from TI Assembler.

image.png.b3f9685f5fd359cab8e026ca965cf7be.png

 

Results in:
image.thumb.png.65b74a6966c354f2138c1afb15b3f94c.png

 

Unless you invoke the “strict” option ‘-s’ for E/A compatibility, you must separate comments from code by a minimum of 2 spaces because xas99 allows spaces between operands and operand components. In your case, xas99 thinks you want to multiply SCRWID by “24 NUMBER OF SPACES TO CLEAR” because only single spaces separate items following ‘24’.

 

...lee

  • Like 4
Link to comment
Share on other sites

14 minutes ago, dhe said:

-and- thanks @ralphb I'm not sure how many hours of head scratching would have went in to figuring out:

assoc .py=pythonsource
ftype pythonsource=<your python path> "%1" %*

You're welcome. 😄   That was for Windows 7, though, so I hope Microsoft didn't mess it up in the mean time.

Link to comment
Share on other sites

  • 1 month later...

Just wanted to say many have talked about this package for me to use in GPL but first let me tell you about a 35 year old bug I found in the RYTE DATA GPL Assembler

In working on making a RXB SAMS only version I was removing all VDP Storage for GPL Variables/ROM Variables to be saved in RAM instead.

 

The Bug is if you change GPL code of XB like say 

STARTX = VDP ADDRESS >03B8 and STGADD = RAM ADDRESS >8323

ST V@STARTX,@STGADD 

into 

ST  @STARTX,@STGADD

Thus changing STARTX from VDP address to RAM address >23B8 would crash the GPL@LOADER but the code was correct.

For some oddball bug the RYTE DATA GPL ASSEMBLER generated a incorrect code and the would crash the GPL@LOADER

This bug drove me nuts so I thought maybe it was Classic99 so contacted Tursi

After some trial and error it turned out to be the RYTE DATA GPL ASSEMBLER and GPL@LOADER

 

Ok to that point here is Tursi suggested this package and my first look could not even figure out how to open a document or find one.

 

I think I will just go with Thierry instead as at least he provides documents I can read.

xdt99 is going to have to provide a package I can download and use without learning 1200 pages of Python first!

Link to comment
Share on other sites

1 hour ago, RXB said:

I think I will just go with Thierry instead as at least he provides documents I can read.

xdt99 is going to have to provide a package I can download and use without learning 1200 pages of Python first!

Download: https://github.com/endlos99/xdt99/releases/tag/3.6.4

 

This includes a markdown-format documentation, also available onnline: https://endlos99.github.io/xdt99/#xbas99

 

 

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

5 hours ago, SteveB said:

Download: https://github.com/endlos99/xdt99/releases/tag/3.6.4

 

This includes a markdown-format documentation, also available onnline: https://endlos99.github.io/xdt99/#xbas99

 

 

Thanks I see the instructions and that the GPL version is there.

But having never worked with PYTHON or command line this is just like it says in the documents Tutorial A STEEP LEARNING CURVE.

 

It does not explain how to Assemble GPL or how to debug or where to look for the listing or even if there is a listing of errors to look at?

It just like Linux as it does not explain anything and takes for granted you are a expert with Python before you even launch it.

 

I did GPL tutorials on Youtubes and posted them to show how to use the GPL Ryte Data GPL Assembler along with the files in step by step.

Really if you do not do this do not expect new users very often. What you will get instead is Python trained people or Linux people only.

How to files and video must always be included with anything complicated to learn, or you will end up with a small user base.

 

Link to comment
Share on other sites

24 minutes ago, RXB said:

Yea I am a GPL programmer and this is the Assembly section as far as I can tell.

It is the installation instructions for all of the tools. If you can get to the point where you are invoking the assembler’s help instructions, the tools have been installed correctly. At that point you should be able to do something similar with the gpl assembler.  That is, get the help for it.

Link to comment
Share on other sites

7 hours ago, RXB said:

xdt99 is going to have to provide a package I can download and use without learning 1200 pages of Python first!

I'm not a GPL programmer, and know nothing about Python. I just wrote my first GPL program yesterday evening in about an hour using nothing but the manual included in the install package (to learn how to use the assembler) and TI Intern (to learn the GPL opcodes). I'm not sure what the exact issue is you're having that would have you learn "1200 pages of Python". Maybe you can rephrase your issue in a more constructive and to-the-point manner?

Link to comment
Share on other sites

2 minutes ago, TheMole said:

I'm not a GPL programmer, and know nothing about Python. I just wrote my first GPL program yesterday evening in about an hour using nothing but the manual included in the install package (to learn how to use the assembler) and TI Intern (to learn the GPL opcodes). I'm not sure what the exact issue is you're having that would have you learn "1200 pages of Python". Maybe you can rephrase your issue in a more constructive and to-the-point manner?

Yea I get to GIT HUB and it says manual.md, I click on that and nothing?

I bet money you know how to get around in Git Hub and I do not know much of anything about it.

Also I am using Windows 10 not Linux.

 

I have been writing GPL for over 30 years now so I kind of know it very well.

I have been making GPL for RXB since 1993 so I kind of know how to use GPL to assemble a cart.

 

I am not trying to be mean or difficult but step by step is how you do something for a beginner and you have to explain EVERYTHING IN DETAIL.

Pretend I am not a C or Python programmer for a second and assume I do not know where the "examples" directory is as I can not find it?

If I can not find "examples" how do I figure out what to do?

See the manual just assumes I know all this stuff and how to find it and how to use it.

  • Like 3
Link to comment
Share on other sites

8 hours ago, RXB said:

Just wanted to say many have talked about this package for me to use in GPL but first let me tell you about a 35 year old bug I found in the RYTE DATA GPL Assembler

In working on making a RXB SAMS only version I was removing all VDP Storage for GPL Variables/ROM Variables to be saved in RAM instead.

 

The Bug is if you change GPL code of XB like say 

STARTX = VDP ADDRESS >03B8 and STGADD = RAM ADDRESS >8323

ST V@STARTX,@STGADD 

into 

ST  @STARTX,@STGADD

Thus changing STARTX from VDP address to RAM address >23B8 would crash the GPL@LOADER but the code was correct.

For some oddball bug the RYTE DATA GPL ASSEMBLER generated a incorrect code and the would crash the GPL@LOADER

This bug drove me nuts so I thought maybe it was Classic99 so contacted Tursi

After some trial and error it turned out to be the RYTE DATA GPL ASSEMBLER and GPL@LOADER

 

Ok to that point here is Tursi suggested this package and my first look could not even figure out how to open a document or find one.

 

I think I will just go with Thierry instead as at least he provides documents I can read.

xdt99 is going to have to provide a package I can download and use without learning 1200 pages of Python first!

Sorry off topic for this thread. But have you tried the other GPL assemblers on the ti99 to see if they have a similar bug with the ST opcodes.

 

https://www.unige.ch/medecine/nouspikel/ti99/download.htm#gplassm

 

Most likely it's not producing enough bytes as ST normally just uses scratch pad, so with that cpu address it would take up 3 bytes. Have you checked the hexcode to see what it assembled it as.

  • Like 3
Link to comment
Share on other sites

32 minutes ago, TheMole said:

I'm not a GPL programmer, and know nothing about Python. I just wrote my first GPL program yesterday evening in about an hour using nothing but the manual included in the install package (to learn how to use the assembler) and TI Intern (to learn the GPL opcodes). I'm not sure what the exact issue is you're having that would have you learn "1200 pages of Python". Maybe you can rephrase your issue in a more constructive and to-the-point manner?

Maybe a video starting from step 0 would help? Rich wants to try it but he's mostly experienced with the TI tools, not so much on the Windows side. :)

 

  • Like 3
Link to comment
Share on other sites

Just now, Gary from OPA said:

Sorry off topic for this thread. But have you tried the other GPL assemblers on the ti99 to see if they have a similar bug with the ST opcodes.

 

https://www.unige.ch/medecine/nouspikel/ti99/download.htm#gplassm

 

Most likely it's not producing enough bytes as ST normally just uses scratch pad, so with that cpu address it would take up 3 bytes. Have you checked the hexcode to see what it assembled it as.

Yeah, I went through it with him and we found the exact point it fails at. For some reason in the middle of a generation it ends the sequence early and resets the output address. The new output address is off by one, though, and overwrites the previously output byte.

 

I think Rich is trying several options and I suggested this one was worth a try cause I liked the rest of the toolchain and it would definitely be the fastest at compiling all of RXB ;)

 

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

32 minutes ago, RXB said:

Yea I get to GIT HUB and it says manual.md, I click on that and nothing?

I bet money you know how to get around in Git Hub and I do not know much of anything about it.

Also I am using Windows 10 not Linux.

 

I have been writing GPL for over 30 years now so I kind of know it very well.

I have been making GPL for RXB since 1993 so I kind of know how to use GPL to assemble a cart.

 

I am not trying to be mean or difficult but step by step is how you do something for a beginner and you have to explain EVERYTHING IN DETAIL.

Pretend I am not a C or Python programmer for a second and assume I do not know where the "examples" directory is as I can not find it?

If I can not find "examples" how do I figure out what to do?

See the manual just assumes I know all this stuff and how to find it and how to use it.

 

Oh, I get what you're saying now, thanks for detailing it out. In Ralph's defense though, he can't go explaining everything from scratch for things that he didn't create in the general documentation. There's a lot of great github tutorials out there that exist already and are super useful to know beyond xdt99, but I get that it can come across as daunting when you have to take all those steps before you get to the bit that you're actually interested in.

 

I'm sure there's people here that would be willing to walk you through it... I would volunteer, but I'm actually not a git expert myself :).

Last remark, it's not a Linux vs. Windows thing (after all, Github is owned by Microsoft). It's more a "command line vs IDE" thing, I think...

 

The best I can do is recommend you start with the resources already shared. To explain it in a step-by-step, from scratch, kind of way:

  1. Follow the instructions here: https://github.com/endlos99/xdt99/blob/master/doc/WINDOWS.md - right up to the point where it says "First Steps".
    You are correct, these "First Steps" are for the assembly language assembler, not for the GPL assembler. It's still worth a read though, since many of the concepts that apply to the regular assembler also apply to the GPL assembler. And it's a good modern assembler, well worth considering for any assembly programming you might want to do!
  2. Then jump to here: https://github.com/endlos99/xdt99/blob/master/doc/MANUAL.md#xga99
    This section explains how to use the GPL assembler.

Now, if you run into any specific issues following these steps, I'm sure plenty of people will be happy to help you get to the next step. If you follow these steps, you actually don't need to worry about knowing git or github at all, except for the fact that you're reading the docs on the github website you don't actually need to interact with the technology.

 

And if you don't like what you read, then it's okay to say that maybe these tools are not for you :).

 

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

Thanks Steve, chue, and TheMole for helping.  (For some reason, I cannot select the Thanks icon anymore.)

 

My recommendations to follow would be:

  1. Follow the doc/WINDOWS.md file (online version), which talks about installing and setting up the Windows environment.  I admit that these steps are quite annoying, but the command line isn't really a first-class citizen in Windows.
  2. Follow the Tutorial in the doc/MANUAL.md (online version).  It talks mostly about assembly, but also uses the other tools.  I highly recommend to follow all the steps to familiarize yourself with the command line.
  3. Follow the xga99 section of the doc/MANUAL.md (online version).

You'll need to invest a bit of time to start using xdt99.  If you decide to go this route, you can of course always ask for help here.

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

8 hours ago, ralphb said:

Thanks Steve, chue, and TheMole for helping.  (For some reason, I cannot select the Thanks icon anymore.)

 

My recommendations to follow would be:

  1. Follow the doc/WINDOWS.md file (online version), which talks about installing and setting up the Windows environment.  I admit that these steps are quite annoying, but the command line isn't really a first-class citizen in Windows.
  2. Follow the Tutorial in the doc/MANUAL.md (online version).  It talks mostly about assembly, but also uses the other tools.  I highly recommend to follow all the steps to familiarize yourself with the command line.
  3. Follow the xga99 section of the doc/MANUAL.md (online version).

You'll need to invest a bit of time to start using xdt99.  If you decide to go this route, you can of course always ask for help here.

Thanks Ralphb

It looks fast and efficient also my GPL code would have to be modified for things like HCHA=HCHAR but as I can not find a listing of changes

it is hard to judge how much work it is going to be needed to modify GPL code to fit this GPL Assembler.

I am definitely going to need a ton of help to get my project running under this GPL Assembler.

This entire mess is all due to a 35 year old bug I ran into in the Ryte Data GPL Assembler.

So who is going to zoom with me to get this up and running as I am sure many would like a RXB SAMS that would be extremely fast.

Replacing most VDP storage with RAM should speed up XB programs.

 

Ok who is going to hlep?

 

Rich

 

Link to comment
Share on other sites

8 minutes ago, RXB said:

Thanks Ralphb

It looks fast and efficient also my GPL code would have to be modified for things like HCHA=HCHAR but as I can not find a listing of changes

it is hard to judge how much work it is going to be needed to modify GPL code to fit this GPL Assembler.

I am definitely going to need a ton of help to get my project running under this GPL Assembler.

This entire mess is all due to a 35 year old bug I ran into in the Ryte Data GPL Assembler.

So who is going to zoom with me to get this up and running as I am sure many would like a RXB SAMS that would be extremely fast.

Replacing most VDP storage with RAM should speed up XB programs.

 

Ok who is going to hlep?

 

Rich

 

Hello Rich,

 

xga99 supports the Ryte Data GPL Assembler syntax, so the opcodes should work as they are in your code.  Some directives might be a little different, but they are described in the MANUAL.md.  As it is now, the manual is more manual than reference, so you cannot look things up.  But if you search the file or web page, you may quickly find what you're looking for.

 

We could set up Zoom or Teams call this Sunday, if you like.  What time zone are you in?

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

1 minute ago, ralphb said:

 

Hello Rich,

 

xga99 supports the Ryte Data GPL Assembler syntax, so the opcodes should work as they are in your code.  Some directives might be a little different, but they are described in the MANUAL.md.  As it is now, the manual is more manual than reference, so you cannot look things up.  But if you search the file or web page, you may quickly find what you're looking for.

 

We could set up Zoom or Teams call this Sunday, if you like.  What time zone are you in?

Hello 

 

I live in Vancouver Washington time zone Pacific west coast.

I am normally up and about at 10 am to 2 am.

So Sunday would be fine as I am retired.

 

Rich

Link to comment
Share on other sites

13 minutes ago, Asmusr said:

A little GUI would actually be nice, when you don't care to think about command line options. WinAsm99 had many bugs, but the GUI made it appealing to beginners.

True, but having a cross-platform GUI does not leave that many options.  But there seems to be an experimental Python to WASM compiler ...  Seems worth checking out.

  • Like 1
Link to comment
Share on other sites

4 hours ago, ralphb said:

 

PM sent.

Yea tried to download windows version of Python and it asked for a path even though I used properties to show the location of the just loaded Python and it says wrong path?

Also you documents say your Python is loaded in Programs directory of Windows but the default is not that location.

Why does it crash for the actual location of the files?

 

Uninstalled Python twice and started over.

Alright 2 hours later I figured out how to do the path and it says Python is loaded.

 

But now the xtd99 documents do not match what it says I am supposed to do next, so again stuck.

Edited by RXB
missing text
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...