Jump to content
IGNORED

XB256 and the Harry Complier, Plea for Help


Airshack
 Share

Recommended Posts

So I've successfully figured out the Wilhelm XB compiler and noticed it works just fine from XB2.7.

 

Today I converted my Sparkdrummer inspired game-in-progress from XB2.7 to XB256 using the two-screen thingy and a few of the character, color, and screen calls - nothing big. Minor changes so it seems...

 

Everything ran normally with the XB256 version, it compiled successfully, yet the assembly process results in one lone error.

 

. I get, "Undefined Symbol 0007" ???

 

I took a look at the source code using editor/assembler but that didn't help. Line number 0007 is where? Is that even a line number error or a code of some sort?

 

Nothing seems to register since I don't know assembly language at this time. Get it, register? Anyway...definitely lost and appreciative of any help from the TI Gods.

 

-James

Edited by Airshack
  • Like 1
Link to comment
Share on other sites

In TI99/4A development is a similar thread called "Harry Wilhelm's XB 2.0 Compiler, Newb Help Request" and the answer is pretty much the same. There is something in the XB program that the compiler does not like. Take a look at line 7 in the source code and that should allow you to find the mistake in the XB program. (It will be right at the beginning somewhere) If you are using Notepad++ there should be line numbers when you load the source code. If you use the TI editor there is a way to toggle the line numbers, but I cannot remember what it is. Check it out and if you can not come up with it then post the XB program and the E/A source code.

Link to comment
Share on other sites

It sounds to me, "Undefined Symbol" is when we have suddenly mentioned a variable - without former introduction. Example;

 

100 CALL CLEAR

110 A=1

120 A=A+1

130 PRINT B <---- the compiler hates this -

140 GOTO 120

 

OR it could be a line that has been asked for, with a GOSUB or GOTO or ON X GOTO , that is no longer there ... when we use notepad we sometimes do editing and forget to alter the latter when it comes to deleting parts of our code. Hope this helps.

Edited by Retrospect
Link to comment
Share on other sites

senior_falcon, who made the compiler is on this forum. If he does not respond try pinging him or re-post in the development subforum. Could be a compiler issue.

 

Thanks! What a luxury it is to have access to the actual developer. Seriously, this is so great to be able to ask questions directly to senior_falcon. Thanks for the tip RetroClouds.

Link to comment
Share on other sites

In TI99/4A development is a similar thread called "Harry Wilhelm's XB 2.0 Compiler, Newb Help Request" and the answer is pretty much the same. There is something in the XB program that the compiler does not like. Take a look at line 7 in the source code and that should allow you to find the mistake in the XB program. (It will be right at the beginning somewhere) If you are using Notepad++ there should be line numbers when you load the source code. If you use the TI editor there is a way to toggle the line numbers, but I cannot remember what it is. Check it out and if you can not come up with it then post the XB program and the E/A source code.

Thanks senior_falcon! I'll migrate over to the developer's threads as advised. I need to research Notepad++... is that a windows thing? I'm using windows for the first time in five years simply to run Classic99, so I'm not aware? Breaking out the E/A manual to check out the line number toggle trick...thanks again!

 

NOTE: In the E/A edit mode it seems pressing <ESC> transfers you from Edit mode to Command mode. In the command mode you get line numbers.

 

Seems the line in question has this: CALL LINK("XB256")

 

I didn't reserve any bytes of memory for VDP memory as I've yet to read up on the sound table option.

Edited by Airshack
Link to comment
Share on other sites

It sounds to me, "Undefined Symbol" is when we have suddenly mentioned a variable - without former introduction. Example;

 

100 CALL CLEAR

110 A=1

120 A=A+1

130 PRINT B <---- the compiler hates this -

140 GOTO 120

 

OR it could be a line that has been asked for, with a GOSUB or GOTO or ON X GOTO , that is no longer there ... when we use notepad we sometimes do editing and forget to alter the latter when it comes to deleting parts of our code. Hope this helps.

Hey Retrospect! Thank you for chiming in. I don't use Notepad for editing. Maybe I need to? Probably built in to windows and has 80-colums? I'll remember to declare all my variables before using them which, even when not necessary, is a good practice.

  • Like 1
Link to comment
Share on other sites

Hey Retrospect! Thank you for chiming in. I don't use Notepad for editing. Maybe I need to? Probably built in to windows and has 80-colums? I'll remember to declare all my variables before using them which, even when not necessary, is a good practice.

 

Notepad++ is not built into Windows. It is available here. I use it for my fbForth 2.0 development all of the time!

 

...lee

  • Like 2
Link to comment
Share on other sites

 

Seems the line in question has this: CALL LINK("XB256")

CALL LINK("XB256") does not need to be included in the XB program. When you load and run XB256 it is automatically turned on by the loader program. You can tell that it is loaded and active because the screen is grey instead of the usual cyan. It is not needed by a compiled program. Take that line out and the program should compile properly.

Link to comment
Share on other sites

Once you have compiled the program there is no need to have XB256 loaded and running. The routines are all part of the compiled code. I'm not sure what would happen if you ran a compiled program with XB256 loaded, but probably nothing good. You should start over by quiting to the master title screen and then load and running the compiled program. See if that workd, otherwise post the program and I'll figure out the problem.

Link to comment
Share on other sites

  • 2 weeks later...

removing CALL LINK("XB256") sure did the trick - thanks! After loading and running the compiled version I noticed the game to be unstable. Example: It crashes after switching from screen 2, to screen 1, and then back.

This has always worked for me in my testing. I would like to find out what is going on, but I cannot do that without seeing your program. Can you post it or send it to me in a private message?

  • Like 1
Link to comment
Share on other sites

This has always worked for me in my testing. I would like to find out what is going on, but I cannot do that without seeing your program. Can you post it or send it to me in a private message?

I'll send you code but it's a bit of a mess right now because I'm switching everything over to Tidbit. Let me clean it up before sending...in a few days.

 

Thank you so very much for offering assistance.

 

James

 

 

Sent from my iPhone using Tapatalk

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...