



		
		 
 If the code size of a V8 game exceeds 256K, backpatching and
other strange errors occur. This is a rare occurrence, since strings
usually take more space than code, but is made more likely when using
Infix debugging. Backpatch information is stored in 3-byte records when
compiling to Z-code, with the address to be patched in bytes 1 and 2,
and bits 5-6 of byte 0.
This should be fixed by converting to a 4-byte format. In section (2) of output_file_z() 
					
			
		
				 
		About Patches   
				
					 
			Issue C63005     [previous patch]
					
	
	 
	Backpatch errors in large V8 games 
		Submitted by: Cedric Knight
		    Appeared in: Compiler 6.15 or before
		    Fixed in: Compiler 6.31
	Problem 
 Solution 
 Workaround 
   +++ files.c Wed Mar 24 18:01:54 2004
  @@ -326,6 +326,10 @@
           if (backpatch_marker >= 0x80) long_flag = FALSE;
           backpatch_marker &= 0x7f;
           offset = offset + (backpatch_marker/32)*0x10000;
  +        while (offset+0x30000 < j) {
  +            offset += 0x40000;
  +            long_flag = !long_flag;
  +        }
           backpatch_marker &= 0x1f;
           while (j<offset)
	
						
					
					
					
					
  
    Last updated 17 April 2013.
  
  This site is no longer supported; information may be out of date.
  Maintained as a historical archive by the Interactive Fiction Technology Foundation.
  Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
  
    This page was originally managed by Roger Firth.