Jump to content
IGNORED

Using asm994a


senior_falcon

Recommended Posts

There is probably a better solution—but, one thing you might try is to

  • create a TIDisk image with Fred's TI99Dir,
  • tick the "Copy HEX Object File To TI Disk",
  • select the image you created,
  • assemble,
  • open the TIDisk image you just created with TI99Dir again and copy the object file to the desired directory.

Like I said, there is probably a better way; but, I think the above will work.

 

...lee

Link to comment
Share on other sites

I probably use Asm994a (or is it WinAsm99?) more than any other TI related program. It's kind of an unsong hero, and the fact is I wouldn't have made any of my games without it. The ability to save TIFILES directly from asm994a would be really nice to have but my #1 wish (if Cory Burr is reading this) would be the ability to use brackets in numeric expressions. There are also a few odd bugs, for instance the recently reported bug when you have very many labels, and also issues to do with forward references. I also noticed that some of the 'virtual' opcodes (PUSH and POP) are not working when trying them out for the F18A GPU. But all in all I think it's a great and unparalleled program.

Link to comment
Share on other sites

  • 4 weeks later...

CSEG, PSEG, DSEG:

 

You can tell the assembler that you want your assembly lines to be put into a special memory area. Imagine we had a Harvard architecture, or that we can set a write protect flag on memory pages. In that case you can surround your DATA lines with DSEG and DEND.

 

If the loader supports it, it will load the data lines into the "data segment" (maybe into locations 2000-3FFF) while the program goes into the "text segment" A000-FFFF, which will be set to read-only after loading is done. (data and text segment taken from Unix/Windows terminology)

 

Common segments can be put into shared pages of different programs.

 

I spent quite some efforts to implement that stuff for the disassembler in TIImageTool. In fact, it properly processes these object code tags, but as we know, there is no proper loader.

Link to comment
Share on other sites

  • 2 weeks later...

Hi everybody,

 

I recently tried to assemble ti invaders from a txt file containing the source code with asm994a. But when I tried to create a bin file here's what it said:

 

!!! ADRESS ERROR !!!

Relocatable address not allowed in cartridge object!

Cannot make cartridge binary file!

 

Does anyone knows what it means?

Link to comment
Share on other sites

Any way to get Asm994a to default to .txt file extensions instead of .a99? Not a biggie, but would be nice.

Try the attached, where I've hacked the .exe so that the [Add Source File] dialog defaults to .txt format. Everything else appears to work OK.

WinAsm99 - Modifed to Default to txt Files.zip

Edited by Stuart
Link to comment
Share on other sites

Hi everybody,

 

I recently tried to assemble ti invaders from a txt file containing the source code with asm994a. But when I tried to create a bin file here's what it said:

 

!!! ADRESS ERROR !!!

Relocatable address not allowed in cartridge object!

Cannot make cartridge binary file!

 

Does anyone knows what it means?

 

It's just a little overly picky in the cartridge case -- it doesn't check whether the code actually lives in the cartridge space, and it doesn't link relocatable code to make the cart, so everything needs to be absolute addressed. Make sure there are no 'RORG' statements in your code.

Without seeing the text file all we can offer is general advice. But with the AORG at the top, variables become a bit of a problem (because they need to live in scratchpad RAM and not conflict with the workspace). Would probably need to look at the code to give a complete answer.

 

Link to comment
Share on other sites

  • 4 weeks later...

I am trying to assemble a compiled XB program using Asm994a. The compiled code assembles fine using the TI assembler. At the end of the source code produced by the assembler are these lines:

COPY "DSK1.RUNTIME1.TXT"
COPY "DSK1.RUNTIME2.TXT"
COPY "DSK1.RUNTIME3.TXT"
COPY "DSK1.RUNTIME4.TXT"

Ams994a gives this error message: "Can't open COPY file DSK1.RUNTIME1.TXT"

These open fine with a text editor, so I think the format is correct. What am I missing?

Link to comment
Share on other sites

I am trying to assemble a compiled XB program using Asm994a. The compiled code assembles fine using the TI assembler. At the end of the source code produced by the assembler are these lines:

COPY "DSK1.RUNTIME1.TXT"

COPY "DSK1.RUNTIME2.TXT"

COPY "DSK1.RUNTIME3.TXT"

COPY "DSK1.RUNTIME4.TXT"

Ams994a gives this error message: "Can't open COPY file DSK1.RUNTIME1.TXT"

These open fine with a text editor, so I think the format is correct. What am I missing?

It works fine here.

 

It's not even case-sensitive.

 

I could only get the error if I misspelled the filename.

 

I guess the file copied has to reside in the same directory as your source file.

 

Are you trying to get RUNTIME1.TXT off a "TI" disk, which I think you can't.

 

Edit:

You can however use stuff like this

COPY "dsk1/runtime1.txt"

COPY "../runtime1.txt"

(in both cases relatively to the source directory) Edited by sometimes99er
Link to comment
Share on other sites

OK, here's a weird one. Consider this program:

AORG >A000
BYTE 1
LABEL1
LABEL2
BYTE >FD
END

If you assemble this with Asm994a, use CALL LOAD in XB to load it, then look at >A000 you see >01,>00,>FD

If you only have one label you get the expected >01,>FD

So it looks as if Asm994a is doing an EVEN if there are two or more labels, but not if there is only one label.

Strange.....

Edited by senior_falcon
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...