Jump to content
IGNORED

Help with "unresolved symbols"


atari2600land

Recommended Posts

How do I get rid of this error message?

DASM V2.20.07, Macro Assembler (C)1988-2003
--- Unresolved Symbol List
pfcenter				 0000 ????		 (R )
kernelmacrodef		 0000 ????		 (R )
pfhalfwidth			 0000 ????		 (R )
scoretable			 0000 ????		 (R )

Fatal assembly error: Source is not resolvable.
Errors were encountered during assembly.

What are these symbols and why do they appear anyway? I went into the h and asm files and found the references and tried to remove them but couldn't. What's worse is they didn't appear and now they suddenly do. What the hell is pfhalfwidth? If pfwidth=4 why bother with halfwidth? What is kernelmacrodef? What is pfcenter? Wouldn't the playfield be center without it? I know I wrote a topic about this, but I couldn't find it. I guess the question I'm asking is why does a 30 year old computer have to be so f888ing hard to write code for?!

Edited by atari2600land
Link to comment
Share on other sites

In this case these are standard bB symbols that likely would have resolved eventually, had the assembly not been halted by a syntax issue. Run bblint if you have it, and manually check your bB code for a syntax problem.

 

Alternatively, post the .bas.

 

Sometimes one of your variables or labels will pop up in the unresolved list amongst all these other standard ones. In that case it is significant, and you find the source. (usually you misspelled the label or variable somewhere)

 

I guess the question I'm asking is why does a 30 year old computer have to be so f888ing hard to write code for?!

 

The thin veneer bB puts around asm to make development easy while still being space-efficient makes it difficult to debug sometimes. Its not perfect, but it's suited to the 2600.

Link to comment
Share on other sites

I'm at my work computer, so I can't do more than glance over it right now... the first thing I'm seeing that's off is the "include" line should go first.

 

The documented behaviour is that bB will ignore this include line if it follows certain commands. This could cause the addbcd and subbcd functions to be undefined, and lead to a syntax problem.

Link to comment
Share on other sites

It's a little asm file that came with the playerscores minikernel made by CurtisK. I tried putting it in there even though I had no player0score or player1score (with and without the underscore) and neither didn't seem to work. But apparently it's not the problem since it does the same thing if you rem the line "include bcd_math.asm".

bcd_math.asm

Link to comment
Share on other sites

This works:

 

minefield6a_2012y_10m_25d_1427.bin

 

minefield6a_2012y_10m_25d_1427.bas

 

I already changed your labels to have two underscores in front of them by the time you posted bcd_math.asm. You didn't have bcd_math.asm in your program, you had bcdmath.asm instead. That's one reason why I copy and paste everything.

 

In case you want to know, when I make a program, I put one underscore in front of variable aliases and two underscores in front of labels so I can easily tell them apart and so I'll never use a reserved name by mistake.

  • Like 1
Link to comment
Share on other sites

There's really no magic bullet. Check the syntax of your program first and make sure you are making valid calls in your program.

 

And, if you are new to programming, you will soon discover there are true "gotchas" everywhere you go.

 

Half the programs in my first structured programming course threw a cryptic value range error and gave a memory address. Viva la Apple Pascal!

 

I started coding Java apps for mobile and discovered the garbage collector couldn't reclaim memory if I created objects and destroyed objects in the body of my program. Had to reuse objects and avoid many good programming techniques because the virtual machine was virtualy worthless...

 

I spent some time with a 3rd party physics engine last year and wished I'd written my own. Many of the built in functions weren't thread safe on their own and I was left to figure out the timing issues on my own.

 

Pulling your hair out is part of the fun. :)

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