Jump to content
IGNORED

SPECTRA2 Asm Library


Truper

Recommended Posts

Is anybody on this forum successfully using the SPECTRA2 gaming library that comes with Win994a emulator?

 

 I have successfully created cartridges for both example1.a99 and example2.a99. I get option 2 HELLO WORLD on the TI menu when the cartridge is loaded but when I  select option 2 the programs do not run as expected. I get a cleared blue screen with no text for about a second then I’m returned to the TI Logo screen (screen with color bars top and bottom).

 

Programs compile successfully in the assembler with no errors. Win994a does not seem to have a debugger so I can’t debug the program to see what’s happening.

 

I searched this forum and did not find anyone else having an issue.

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

7 hours ago, Truper said:

Programs compile successfully in the assembler with no errors. Win994a does not seem to have a debugger so I can’t debug the program to see what’s happening.

 

What version of the Asm994a Assembler are you using? It should be v3.010.

 

...lee

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Truper said:

Is anybody on this forum successfully using the SPECTRA2 gaming library that comes with Win994a emulator?

 

I was unaware that SPECTRA2 was distributed with Win994A. Is that not a library (being) developed by @retroclouds rather than Corry Burr (developer of Win994A)?

 

...lee

Link to comment
Share on other sites

SPECTRA2 is not distributed with Win994a. I downloaded both separately. If I said that earlier then I was confused. The assembler is part of the Win994a install.

 

The SPECTRA2 documentation states "The source code of SPECTRA2 is compatible with Burrsofts‟ Asm994A Assembler V3.008." Maybe I have to downgrade to V3.008? That wouldn't make sense being that it is a minor upgrade to V3.010.

Link to comment
Share on other sites

4 hours ago, Truper said:

Maybe I have to downgrade to V3.008? That wouldn't make sense being that it is a minor upgrade to V3.010.

 

Agreed—to the upgrade. You definitely want v3.010!

 

Though not many fixes in v3.010, I remember that one had to do with erroneous conditional branching. Another had to do with the X instruction, which I use a few times in fbForth 2.0.

 

Another problem with Asm994a is that you must avoid using labels that equate to conditional logic words (see below). I spent a lot of time tracking down those errors because they often did not result in error messages. It turns out that the reason for this is the undocumented conditional assembly implemented in Asm994a. I may have missed some words, but those I found by looking through the Assembler’s executable in a hex editor were IFLT, IFLE, IFGT, IFGE, IFEQ, IFNE, IF, ELSE and ENDIF. A sufficient fix was to prepend the relevant labels with ‘_’.

 

...lee

Edited by Lee Stewart
Clarification
  • Like 1
  • Sad 1
Link to comment
Share on other sites

5 hours ago, Lee Stewart said:

I may have missed some words, but those I found by looking through the Assembler’s executable in a hex editor were IFLT, IFLE, IFGT, IFGE, IFEQ, IFNE, IF, ELSE and ENDIF. A sufficient fix was to prepend the relevant labels with ‘_’.

Hmm, so are you referring to the WinAsm99_x64.exe file? If so, I only find those terms in what looks like text blocks.

IFFies.jpg

Link to comment
Share on other sites

7 hours ago, Truper said:

SPECTRA2 is not distributed with Win994a. I downloaded both separately. If I said that earlier then I was confused. The assembler is part of the Win994a install.

 

The SPECTRA2 documentation states "The source code of SPECTRA2 is compatible with Burrsofts‟ Asm994A Assembler V3.008." Maybe I have to downgrade to V3.008? That wouldn't make sense being that it is a minor upgrade to V3.010.

 

Hi, I was the one who created the SPECTRA2 library. Basically it was developed in parallel with Pitfall!

Back at the time the assembler I used was Burrsofts Asm994a, because there wasn't much else really. Asm994a did a great job.

That being said, in the meantime I switched to xas99 http://endlos99.github.io/xdt99 which is the preferred assembler to use in 2020 if you ask me (one feature I for example really appreciate are long labels). Also it's open source and there's active development.

 

It has been a long time since SPECTRA2 was initially released (10 years to be exactly).

I now have a new SPECTRA2 version (unfortunately without documentation yet) and that's the reason I didn't release it.

But it is being used for developing TiVi (a text editor). 

 

Anyway, to the issue you are experiencing. It won't be until the weekend, but if you like I can take a look at what is happening if you send me your source code. 

 

Also if you want to do testing with a debugger I'd suggest you take a look at the classic99 emulator and the js99er emulator.

During development I really never used win994a as emulator, only its assembler. 

 

 

Cheers

retroclouds

 

 

  • Like 3
Link to comment
Share on other sites

58 minutes ago, Truper said:

Hmm, so are you referring to the WinAsm99_x64.exe file? If so, I only find those terms in what looks like text blocks.

 

Yes, but I think you misunderstand me. I meant that I changed my program labels that collided with those words, not the Assembler EXE file. That way I could keep the sense of my program labels:

_IF    MOV  R0,R1
*       ...
_ELSE  MOV  R0,@SOMEWHERE     Asm994a.exe allows labels longer tan 6 chartacters
*       ...

 

I have only used Asm994a.exe as I did not realize there was a 64-bit version. That said, I agree with @retroclouds that it is much better to use a currently supported assembler: xas99 (see reference in @retroclouds’ post).

 

...lee

Link to comment
Share on other sites

Thank you retroclouds and Lee. I don’t yet have any source code myself. I was just testing the example1.a99 and example2.a99 source code that was downloaded with SPECTRA2.

 

I will check out xas99 and use Classic99 for my emulator and debugger.

  • Like 2
Link to comment
Share on other sites

21 minutes ago, GDMike said:

Since we're talking assemblers, is there something that runs on real iron that's better, that the E/A assembler I'm using all the time? Just wondering

 

I believe the RAG Assembler is well regarded and it runs on real iron as far as I know.

 

...lee

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

12 hours ago, GDMike said:

Since we're talking assemblers, is there something that runs on real iron that's better, that the E/A assembler I'm using all the time? Just wondering

What is a "good" assembler? Supported operations, assembler directives, processing speed, stability?

 

Other than a compiler, an assembler does not have many options to prove its "cleverness". ;)

 

Link to comment
Share on other sites

1 hour ago, mizapf said:

What is a "good" assembler? Supported operations, assembler directives, processing speed, stability?

 

Other than a compiler, an assembler does not have many options to prove its "cleverness". ;)

 

I should think that as with most things in software speed would be important. I also like the ability to create macros.

Of course my favourite feature in an assembler is that it be interactive for rapid testing. Now where could I find that?   hmm... ;) 

 

  • Like 3
Link to comment
Share on other sites

I mean RAG is nice and graphical, but I have run into problems with it accepting characters for filename entry. Just spell correctly and it works, but it gets weird sometimes, not all times, when you misspell and go back to correct..

Just spell correctly and no problem. Duh

But I'm very very happy with it since it works 99.98 percent of the time.

And it's still fast.

 

Link to comment
Share on other sites

19 hours ago, GDMike said:

Since we're talking assemblers, is there something that runs on real iron that's better, that the E/A assembler I'm using all the time? Just wondering

For me, I use Paul Charlton's GenProg package, however for real hardware, it requires a Geneve or a Geneve emulator.  GenASM and the Linker utility are the fastest and cleanest programs I have seen to date.  If you have something you need to work in "modules", I would give it strong consideration.  Myself, I have been using it to develop TIPI code for the 4A.  If you either have a Geneve, or are interested in using MAME with the Geneve emulation, I will go into more detail and ask.  Otherwise, I would assume you likely have no interest.

 

Beery

 

  • Thanks 1
Link to comment
Share on other sites

23 hours ago, BeeryMiller said:

For me, I use Paul Charlton's GenProg package, however for real hardware, it requires a Geneve or a Geneve emulator.  GenASM and the Linker utility are the fastest and cleanest programs I have seen to date.  If you have something you need to work in "modules", I would give it strong consideration.  Myself, I have been using it to develop TIPI code for the 4A.  If you either have a Geneve, or are interested in using MAME with the Geneve emulation, I will go into more detail and ask.  Otherwise, I would assume you likely have no interest.

 

Beery

 

Perhaps we should make this is an own thread. Beery, is the GenASM source code available? Documentation?

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