Jump to content



1

What does vblk2 f600 mean?


22 replies to this topic

#1 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Oct 14, 2011 5:38 PM

When I compile my program, I get this:

DASM V2.20.07, Macro Assembler ©1988-2003
bytes of ROM space left in bank 1
bytes of ROM space left in bank 2
bytes of ROM space left in bank 3
bytes of ROM space left in bank 4
bytes of ROM space left in bank 5
bytes of ROM space left in bank 6
bytes of ROM space left in bank 7
bytes of ROM space left in bank 8
480 bytes of ROM space left in bank 1
203 bytes of ROM space left in bank 2
3796 bytes of ROM space left in bank 3
415 bytes of ROM space left in bank 4
590 bytes of ROM space left in bank 5
3796 bytes of ROM space left in bank 6
1604 bytes of ROM space left in bank 7
--> vblk2 f600
708 bytes of ROM space left in bank 8
480 bytes of ROM space left in bank 1
203 bytes of ROM space left in bank 2
3796 bytes of ROM space left in bank 3
415 bytes of ROM space left in bank 4
590 bytes of ROM space left in bank 5
3796 bytes of ROM space left in bank 6
1604 bytes of ROM space left in bank 7
708 bytes of ROM space left in bank 8

Is it something bad or just some kind of information that I don't need to worry about?


Thanks.

#2 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Fri Oct 14, 2011 5:47 PM

Its hard to say. Try this: When you compile your code add this option '-lmylisting.lst' . That's a lowercase L after the dash. DASM will produce a list file that has all the compiler information. Find the message in that listing file and you may more clearly see what is causing it.

#3 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Oct 14, 2011 5:51 PM

View PostRobert M, on Fri Oct 14, 2011 5:47 PM, said:

Its hard to say. Try this: When you compile your code add this option '-lmylisting.lst' . That's a lowercase L after the dash. DASM will produce a list file that has all the compiler information. Find the message in that listing file and you may more clearly see what is causing it.
Thanks.

#4 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 4:20 AM

View PostRobert M, on Fri Oct 14, 2011 5:47 PM, said:

Its hard to say. Try this: When you compile your code add this option '-lmylisting.lst' . That's a lowercase L after the dash. DASM will produce a list file that has all the compiler information. Find the message in that listing file and you may more clearly see what is causing it.
That seems to make the same file as this:

http://www.atariage....04#entry1520604

And the only mention of vblk2 is this:

  32041  8600                   vblk
  32042  8600                            ; run possible vblank bB code
  32043  8600                   	   ifconst    vblank_bB_code
  32044  8600       	    20 2a f6    	   jsr    vblank_bB_code
  32045  8603                   	   endif
  32046  8603                   vblk2
  32047  8603       	    ad 84 02    	   LDA    INTIM
  32048  8606       	    30 fb       	   bmi    vblk2
  32049  8608       	    4c 00 f1    	   jmp    kernel


Still don't know if the message is good or bad.

#5 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Sat Oct 15, 2011 4:33 AM

If that section is taken from your code then vblk2 is at 0x8603 and not 0xF600. Allowing for a RORG it could be at 0xF603. Find the part in the listing that is telling you the space that is free in all the banks. As a side note the jsr is definitely in the code and calls something at address 0xF62A (however I'm not interested in that).

#6 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 4:45 AM

View PostGroovyBee, on Sat Oct 15, 2011 4:33 AM, said:

If that section is taken from your code then vblk2 is at 0x8603 and not 0xF600. Allowing for a RORG it could be at 0xF603. Find the part in the listing that is telling you the space that is free in all the banks. As a side note the jsr is definitely in the code and calls something at address 0xF62A (however I'm not interested in that).
Do you mean this:

  34297  8cac		 c4 c4 c4 c4	   .byte.b $C4, $C4, $C4, $C4
	  708 bytes of ROM space left in bank 8
  34298  8cac		   echo "    ",[(scoretable - *)]d , "bytes of ROM space left in bank 8")
  34299  8cb0
  34300  8cb0
  34301  8cb0	      ; feel free to modify the score graphics - just keep each digit 8 high
  34302  8cb0	   ; and keep the conditional compilation stuff intact
  34303  8cb0	  -	   ifconst ROM2k
  34304  8cb0	  -	   ORG $F7AC
  34305  8cb0		   else
  34306  8cb0		   ifconst bankswitch
  34307  8cb0	  -	   if bankswitch == 8
  34308  8cb0	  -	   ORG $2F94-bscode_length
  34309  8cb0	  -	   RORG $FF94-bscode_length
  34310  8cb0		   endif
  34311  8cb0	  -	   if bankswitch == 16
  34312  8cb0	  -	   ORG $4F94-bscode_length
  34313  8cb0	  -	   RORG $FF94-bscode_length
  34314  8cb0		   endif
  34315  8cb0		   if bankswitch == 32
  34316  8f74		   ORG $8F94-bscode_length
  34317  8f74		   RORG $FF94-bscode_length
  34318  8f74		   endif
  34319  8f74	  -	   else
  34320  8f74	  -	   ORG $FF9C
  34321  8f74		   endif
  34322  8f74		   endif
  34323  8f74
  34324  8f74
  34325  8f74	   scoretable


#7 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Sat Oct 15, 2011 5:06 AM

Nearly! Search for an "echo" statement that mentions vblk2.

#8 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 6:08 AM

View PostGroovyBee, on Sat Oct 15, 2011 5:06 AM, said:

Nearly! Search for an "echo" statement that mentions vblk2.
The only place that mentions vblk2 is here:

  32041  8600                   vblk
  32042  8600                            ; run possible vblank bB code
  32043  8600                              ifconst    vblank_bB_code
  32044  8600               20 2a f6               jsr    vblank_bB_code
  32045  8603                              endif
  32046  8603                   vblk2
  32047  8603               ad 84 02               LDA    INTIM
  32048  8606               30 fb                  bmi    vblk2
  32049  8608               4c 00 f1               jmp    kernel


#9 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Sat Oct 15, 2011 6:11 AM

OK! I'm not sure where that message comes from then :(. Can you search for all the echo's?

#10 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 6:26 AM

View PostGroovyBee, on Sat Oct 15, 2011 6:11 AM, said:

OK! I'm not sure where that message comes from then :(. Can you search for all the echo's?
Yep:

  24313  4e35                   	   echo    "    ",[(start_bank4 - *)]d , "bytes of ROM space left in bank 4")


 
  24343  4ff2                  -   	   echo    "WARNING: size parameter in banksw.asm too small - the program probably will not work."
  24344  4ff2                  -   	   echo    "Change to",[(*-begin_bscode+1)&$FF]d,"and try again."
 
  30403  5d86                   	   echo    "    ",[(start_bank5 - *)]d , "bytes of ROM space left in bank 5")
 
  30433  5ff2                  -   	   echo    "WARNING: size parameter in banksw.asm too small - the program probably will not work."
  30434  5ff2                  -   	   echo    "Change to",[(*-begin_bscode+1)&$FF]d,"and try again."
 
  30453  6100                   	   echo    "    ",[(start_bank6 - *)]d , "bytes of ROM space left in bank 6")
 
  30483  6ff2                  -   	   echo    "WARNING: size parameter in banksw.asm too small - the program probably will not work."
  30484  6ff2                  -   	   echo    "Change to",[(*-begin_bscode+1)&$FF]d,"and try again."
 
	  4  718e                  -   	   ECHO    "MACRO ERROR: 'SLEEP': Duration must be > 1"
 

    152  725e                            ;echo "critical code in 48x1 is ",(pf48x1_codeend-pf48x1_loop), " bytes long."

	  4  7305                  -   	   ECHO    "MACRO ERROR: 'SLEEP': Duration must be > 1"
 
 
 

    134  7394                            ;echo "critical code #1 in 96x2_1 is ",(pf96x2_1_0codeend-pfline_96x2_1_frame0), " bytes long."

	  4  73ab                  -   	   ECHO    "MACRO ERROR: 'SLEEP': Duration must be > 1"
 
 
 
 
    251  7468                            ;echo "critical code #2 in 96x2_1 is ",(pf96x2_1_1codeend-pfline_96x2_1_frame1), " bytes long."


I left out the 50 billion MACRO ERROR: 'SLEEP' things and when I saw that it was the same stuff over and over, I quit copying and pasting.

#11 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Sat Oct 15, 2011 6:34 AM

It looks like the echo of interest is between echo's ending in the text "bank 7" and "bank 8". You've only got "bank 4" to "bank 6" in the above search list.

#12 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Sat Oct 15, 2011 6:45 AM

That's a good mystery. Are you willing to post the entire list file, or the original asm file generated by the batari Basic compiler?

#13 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,011 posts
  • bit shoveler
  • Location:Canada

Posted Sat Oct 15, 2011 6:56 AM

It's not from an echo statement.

bB's uses a sed filter to get rid of extraneous warnings, and it's removing part of dasm's complaint. The actual unfiltered error looks something like this...

myfile.bas.asm (32046): error: Label mismatch...
--> vblk2 f600

Basically dasm is complaining about this label changing between passes. It looks like the "ifconst" in the bit of code above vblk2 (in std_overscan.asm) is inactive in one pass and active in another. That's why your dump shows vblk2 at f603 instead of f600 like the error.

If you remove your binary and compile again, is it actually recreated RT?

#14 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Sat Oct 15, 2011 7:05 AM

Thanks for clearing that up RevEng. I'm not a bB programmer.

#15 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 7:08 AM

View PostRevEng, on Sat Oct 15, 2011 6:56 AM, said:

If you remove your binary and compile again, is it actually recreated RT?
It does it when renaming my .bas file with Save As. There is no .bin file then. I'm guessing that it has to do with too much code in vblank. If I put a tiny amount of code in there, I don't get that weird message.

You'd think the program would go over 262 if I was putting too much in there.

#16 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,011 posts
  • bit shoveler
  • Location:Canada

Posted Sat Oct 15, 2011 7:28 AM

View PostGroovyBee, on Sat Oct 15, 2011 7:05 AM, said:

Thanks for clearing that up RevEng. I'm not a bB programmer.
No worries Groovy. We appreciate having non-bB and bB grey cells focused on our problems. :)


View PostRandom Terrain, on Sat Oct 15, 2011 7:08 AM, said:

It does it when renaming my .bas file with Save As. There is no .bin file then. I'm guessing that it has to do with too much code in vblank. If I put a tiny amount of code in there, I don't get that weird message.

You'd think the program would go over 262 if I was putting too much in there.
If your code is compiling and whatever you put in vblank seems to be running, then I'm pretty sure it's harmless.

The version of dasm I have under Linux is a bit less forgiving, for some reason. I run into this with any vblank code, and it's fatal. To work around it I have the following change to std_overscan.asm...

vblk
; run possible vblank bB code
 ifconst vblank_bB_code
   jsr vblank_bB_code
 else
   nop
   nop
   nop
 endif
vblk2

Its wastes 3 bytes when I'm not using vblank, but I'll invariably use vblank with a real project.

#17 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 4:43 PM

View PostRevEng, on Sat Oct 15, 2011 7:28 AM, said:

If your code is compiling and whatever you put in vblank seems to be running, then I'm pretty sure it's harmless.

The version of dasm I have under Linux is a bit less forgiving, for some reason. I run into this with any vblank code, and it's fatal. To work around it I have the following change to std_overscan.asm...

vblk
; run possible vblank bB code
ifconst vblank_bB_code
   jsr vblank_bB_code
else
   nop
   nop
   nop
endif
vblk2

Its wastes 3 bytes when I'm not using vblank, but I'll invariably use vblank with a real project.
I wanted to wait until I wasn't sleepy to try that. So I just made that change and the message is gone! Thanks!

You might want to tell batari about that so he can add it.


New Question:
When I turn on a bit to tell the code in vblank to run, does the code run at the exact place in the program where the bit is turned on or does it run at the end of the rest of the code?

#18 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,011 posts
  • bit shoveler
  • Location:Canada

Posted Sat Oct 15, 2011 5:09 PM

No problem! I'll pass it on to batari in the bug thread.


View PostRandom Terrain, on Sat Oct 15, 2011 4:43 PM, said:

When I turn on a bit to tell the code in vblank to run, does the code run at the exact place in the program where the bit is turned on or does it run at the end of the rest of the code?
The code doesn't run right away when the bit is turned on. It runs at the beginning of the next drawscreen command executed, right before the visible part of the screen is drawn.

#19 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Oct 15, 2011 5:20 PM

View PostRevEng, on Sat Oct 15, 2011 5:09 PM, said:

The code doesn't run right away when the bit is turned on. It runs at the beginning of the next drawscreen command executed, right before the visible part of the screen is drawn.
Thanks. I keep forgetting that code can run without drawscreen. I keep thinking that nothing happens until drawscreen is used.

Can temporary variables be used within vblank or do they need to be changed to normal variables?

Edited by Random Terrain, Sat Oct 15, 2011 5:20 PM.


#20 RevEng OFFLINE  

RevEng

    River Patroller

  • 2,011 posts
  • bit shoveler
  • Location:Canada

Posted Sat Oct 15, 2011 5:36 PM

No problem, and temp variables can be used within the vblank section.

#21 atari2600land OFFLINE  

atari2600land

    Quadrunner

  • 6,496 posts
  • All hail the zyzzyva!
  • Location:Salem, Oregon

Posted Thu Oct 20, 2011 9:50 AM

I got the same message, too, unfortunately. Can anyone look through my code and find out what the problem is? Mine is at f523.

Attached Files



#22 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 20,923 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Thu Oct 20, 2011 11:14 AM

View Postatari2600land, on Thu Oct 20, 2011 9:50 AM, said:

I got the same message, too, unfortunately. Can anyone look through my code and find out what the problem is? Mine is at f523.
If you make the change to std_overscan.asm mentioned below, the message will go away:

http://www.atariage....ost__p__2389581

#23 atari2600land OFFLINE  

atari2600land

    Quadrunner

  • 6,496 posts
  • All hail the zyzzyva!
  • Location:Salem, Oregon

Posted Thu Oct 20, 2011 11:17 AM

I was hoping it was the cause of my program being more than 262 scanlines.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users