Jump to content
IGNORED

xdt99: New TI 99 cross-development tools available


ralphb

Recommended Posts

11 hours ago, RXB said:

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

 

A few years ago, I did a small script to convert the RXB 2012 sources to be assembled with XDT: https://forums.atariage.com/topic/233677-xdt99-new-ti-99-cross-development-tools-available/?do=findComment&comment=3747491

  • Like 4
Link to comment
Share on other sites

2 hours ago, lucien2 said:

A few years ago, I did a small script to convert the RXB 2012 sources to be assembled with XDT: https://forums.atariage.com/topic/233677-xdt99-new-ti-99-cross-development-tools-available/?do=findComment&comment=3747491

VBScript, an exe file and a cmd file - I don't think it will be possible to download your zip let alone run the programs on most system today. 🙂

Edited by Asmusr
  • Like 2
  • Haha 1
Link to comment
Share on other sites

On 4/23/2017 at 6:51 AM, lucien2 said:
I did a small WSH script to convert RXB source to be assembled by xga99. Just put all the RXB source files in the same folder as "rxb.js" and double-click it.

 

 

 

 

Here's what the script does:

 

 

- Convert DV80 FIAD files and join them to have one source per GROM.

 

 

- For comments that do not start at the beginning of the line, add "; " before the first "*"

 

 

- Change "CARR" instruction to "CARRY"

 

 

- Remove the last "," of incomplete DATA instructions

 

 

- Change "S" instruction to "SUB"

 

 

- Add missing predefined symbols at the beginning of each file

 

 

- Comment the FDIV and CFI equs to remove "duplicate symbols" errors

 

 

 

 

 

Here's the unique manual modification I did:

 

 

- In SRXB3-B, two lines after MSG70, a "," was missing in the middle of a BYTE declaration

 

 

 

 

 

I regenerated RXGB.bin with CARTSAVE from RAG objects to clear unused bytes to zero.

 

 

Then I compared both RXGB.bin files (Assembled by RAG and XGA99), they are identical!

 

 

 

 

 

 

Cool thanks I have since corrected the comma and today hopefully I can start using XGA99

Link to comment
Share on other sites

Ok got a real problem that makes no sense.

Never was a problem in Ryte Data GPL Assembler or did it crash in the RAG GPL Assembler or Theirry GPL Assembler?

 

C:\Users\Rich\Desktop\SAMS>xga99.py srxb4.txt -o brxb4 -L lrxb4.txt
: xga99, version 3.6.1
> srxb4.txt <0> 1281 -        CLOG >08,V@FLG(@PABPTR)       INTERNAL file
***** Error: Invalid Gd address operand: V@FLG(@PABPTR)     INTERNAL FILE
> srxb4.txt <0> 3357 -        AND  >1F,V@FLG(@PABPTR)       Clear error bits for ON ERRO
***** Error: Invalid Gd address operand: V@FLG(@PABPTR)     CLEAR ERROR BITS FOR ON ERRO
2 Errors found.
  
PABPTR EQU >8304
  
FLG    EQU >05  

Why is this a Address error for xga99 but not for the other GPL Assemblers?

None of these have a comment in them so why is this a Address ERROR?

 

And there are other lines that have the same thing like 

OPTZ02 OR   >01,V@FLG(@PABPTR)

or

OPTZ4  OR   >06,V@FLG(@PABPTR)

or 

CLOG >01,V@FLG(@PABPTR)

 

Anyon have a clue why?

Edited by RXB
Link to comment
Share on other sites

Well here is another error and I am clueless why it exists?

 

C:\Users\Rich\Desktop\SAMS>xga99.py srxb6.txt -o brxb6 -L lrxb6.txt
: xga99, version 3.6.1
> srxb6.txt <0> 1938 -                    *        END                           *
***** Error: Syntax error
1 Error found.
  
  
  THIS IS THE END OF THE PROGRAM WHERE IT SAYS SYNTAX ERROR

***********************************************************
* CALL VERSION(numeric-variable)                          *
***********************************************************
VERSN  DATA >0000
       STRI 'VERSION'
       DATA $+2
       CALL COMB            Insure have left parenthesis
       XML  PGMCHR          Skip (
       CALL SNDER           Get variable info    
       DST  2024,@FAC       11/29/2023
       CALL CIFSND          Convert to floating point
*                           Assign and return to caller
       B    LNKRTN
**************************************************************

       END
  

I moved the END all the way from the *                   END                *

but get the same exact error even if it iis 20 lines from the line of *****

Why is it saying this?

 

 

Link to comment
Share on other sites

Hello Rich,

 

I think the errors above are for operand order.  Instead of

 

CLOG >08,V@FLG(@PABPTR)

 

write

 

CLOG V@FLG(@PABPTR),>08

 

Unfortunately, that won't be fixed by lucien2's script, I think.  Maybe I need to enhance xga99 so that it can deal with revere operand order for some instructions?  Please allow some time for me to change it.

 

But I'm not sure what is wrong with the END.  Could you share the file with me?  I suspect that there are some funny control characters in the file that confuse xga99.

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

18 minutes ago, ralphb said:

Hello Rich,

 

I think the errors above are for operand order.  Instead of

 

CLOG >08,V@FLG(@PABPTR)

 

write

 

CLOG V@FLG(@PABPTR),>08

 

Unfortunately, that won't be fixed by lucien2's script, I think.  Maybe I need to enhance xga99 so that it can deal with revere operand order for some instructions?  Please allow some time for me to change it.

 

But I'm not sure what is wrong with the END.  Could you share the file with me?  I suspect that there are some funny control characters in the file that confuse xga99.

Sure here it is: 

 

srxb6.txt

Link to comment
Share on other sites

23 minutes ago, ralphb said:

I think the errors above are for operand order.  Instead of

 

CLOG >08,V@FLG(@PABPTR)

 

write

 

CLOG V@FLG(@PABPTR),>08

That line already exists in RXB 2012.

It assembles fine. Here is the freshly generated listing, using the latest version of xga:

1309 8609 47   BR INPZ2
     860A 68  
1310 860B 06  G860B CALL INSU1 ; Get info about file
     860C 88  
     860D E8
1311          * INTERNAL files get special treatment
1312 860E DA   CLOG >08,V@FLG(@PABPTR) ; INTERNAL file
     860F E0  
     8610 05
     8611 04
     8612 08  
1313 8613 66   BS G86AD
     8614 AD  

 

  • Like 1
Link to comment
Share on other sites

5 minutes ago, lucien2 said:

That line already exists in RXB 2012.

It assembles fine.

Thanks for letting me know.  There's something wrong with the parsing, hence the error with the END directive.  Really strange, but I'm debugging this.

  • Thanks 1
Link to comment
Share on other sites

Rich, the second error is in line 1938, where you have a comment, but the * is not at the beginning of the line.  You'll need to replace the * by ; (or put a ; in front of it).

 

* CPU PROGRAM FOR >8300 SCATCH PAD SUBROUTINE EXECUTE     *
***********************************************************
*                          AORG >8300                     *
CPUPGM DATA >8302  * CPUPGM DATA >8302  First address.    *
       DATA >0420  *        BLWP @>834A Switch contex     *
       DATA >834A  *                    FAC not used      *
       DATA >04E0  *        CLR  @>837C Clear for GPL     *
       DATA >837C  *                                      *
       DATA >045B  *        RT          Return to GPL.    *
                   *        END                           * <<<<<<<<<
***********************************************************

 

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

For the other error, could it be that some symbols are missing?  I've assembled your srxb6 file, and have unknown symbols CFI, LINK, RETURN, ACTION, and BADTON.  Also, a few lines where you need to add one space before the comments.

 

Could you try lucien2's tool a try?  That should introduce the missing symbols, and also fix the comments.

Link to comment
Share on other sites

********************************************************************************
PREDEFINED SYMBOLS
********************************************************************************
 
Symbol Table #4 (Def,alpha)
 
0034 ACCTON    835C ARG       0032 ATN       0036 BADTON    003B BITREV
0012 CFI       0014 CNS       002C COS       0010 CSN       8372 DATSTK
0001 DIVZER    0003 ERRIOV    0006 ERRLOG    0005 ERRNIP    0002 ERRSNN
0004 ERRSQR    0028 EXP       834A FAC       0006 FADD      000A FCOMP
0009 FDIV      0008 FMUL      836C FPERAD    0007 FSUB      0038 GETSPACE
0022 INT       0010 LINK      0018 LOCASE    002A LOG       8370 MEMSIZ
003D NAMLNK    8300 PAD       0024 PWR       0012 RETURN    000B SADD
000F SCOMP     000E SDIV      8375 SGN       002E SIN       000D SMUL
8400 SOUND     0026 SQR       000C SSUB      837C STATUS    0016 STCASE
8373 SUBSTK    0030 TAN       0007 TRIGER    004A UPCASE    836E VSPTR
0001 WRNOV     837F XPT       837E YPT
1 hour ago, ralphb said:

For the other error, could it be that some symbols are missing?  I've assembled your srxb6 file, and have unknown symbols CFI, LINK, RETURN, ACTION, and BADTON.  Also, a few lines where you need to add one space before the comments.

 

Could you try lucien2's tool a try?  That should introduce the missing symbols, and also fix the comments.

Sorry where is this tool looked for it and can not seem to find it?

 

CFI, LINK, RETURN, ACTION and BADTON are all predefined in Ryte Data GPL Assembler why I never need EQU to define them.

 

 

ASSM-DOC.txt

Edited by RXB
missing text
Link to comment
Share on other sites

On 4/24/2017 at 6:37 AM, lucien2 said:

I'm running Classic99 on Windows too. The assembler can generate an RPK for MESS, but I made an utility to generate a standard cartridge bin file from multiple grom objects.

If you leave the default Python installation options, it just creates a 60MB "python" folder on your disk. If you uncheck all options (except "Register extension") it uses only 23MB.

 

 

I don't see the need to do this anymore, since it takes only a few seconds to assemble the cartridge.

Actually you can still do a CALL GPOKE in Classic99 it you turn on that option.

Most XB have CALL GPOKE so it works fine.

 

Why well you can rewrite XB from XB!

Edited by RXB
Link to comment
Share on other sites

3 hours ago, lucien2 said:

Here it is.

Double-click "rxb.js", it will convert the included RXB 2012 sources (to .gpl files).

Double-click "rxb.cmd", it will generate RXBG.bin.

rxb xdt 2.zip 280.31 kB · 0 downloads

Ok thanks, but RXB 2012 was hella long time ago. (over 12 years ago so kind old version)

Considering I just released RXB 2024B and have RXB 2024C on my desktop being debugged.

Edited by RXB
comment added
Link to comment
Share on other sites

7 hours ago, lucien2 said:

Just replace the RXB 2012 sources files with your current source files before double-clicking "rxb.js".

What kind of files as the ones you have here are not text from Notepad?

When I try to view them they look like gobbly gook?

And is this a disassembler or something else?

 

Ok it makes my source files like srxb3.txt into a 1K file srxb3.gpl but 90% of the stuff is missing?

What exactly am I looking at here?

No list file to read and this is even more of a mystery?

gromcart.exe rxb.cmd rxb.js srxb3.gpl srxb3.txt srxb4.gpl srxb4.txt srxb5.gpl srxb5.txt srxb6.gpl srxb6.txt srxb7.gpl srxb7.txt xcommon.py xga99.py

Edited by RXB
missing text
Link to comment
Share on other sites

3 minutes ago, lucien2 said:

These are standard DV80 FIAD files.

Oh I see it lists undefined EQU that have not been defined!

Edited by RXB
Spelling
Link to comment
Share on other sites

4 minutes ago, RXB said:

Cool tool thanks!

 

Does not fix srxb6.txt that crashes at END and I guess ralph is working on that one.

The script does not take text files that have already been half-converted. It takes the DV80 files that you use with Classic99 and the rag assembler.

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

8 minutes ago, lucien2 said:

The script does not take text files that have already been half-converted. It takes the DV80 files that you use with Classic99 and the rag assembler.

Ok did that and the .gpl files have a kind of listing but where is the rest of the file?

Like srxb3 is missing most of the code? Where did it go?

Or srxb7.gpl is only like 1/3rd of the entire module code?

 

Using Ti99Dir to look at them and they are DOS files and I did use TI Files from srxb3.txt converted by Ti99Dir

Link to comment
Share on other sites

1 minute ago, RXB said:

Ok did that and the .gpl files have a kind of listing but where is the rest of the file?

Like srxb3 is missing most of the code? Where did it go?

Or srxb7.gpl is only like 1/3rd of the entire module code?

 

Using Ti99Dir to look at them and they are DOS files and I did use TI Files from srxb3.txt converted by Ti99Dir

The .gpl files are supposed to be the converted source files, ready to be assembled.

Maybe the script is not working well with the RXB 2024 source files.

Could you send the DV80 source files of RXB 2024C so I can try myself?

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