# File lib/native_file_types/trs80/Trs80LevelIIBasic.rb, line 157
def to_listing  
        s=""
        p=1
        while(p<contents.length-2) && !((contents[p]==0) && (contents[p+1]==0))
  
                p+=2  #skip the 2 byte pointer to the start of next line
                line_number=contents[p]+(contents[p+1]<<8)
                p+=2
                s+= "#{line_number} "         
    in_quotes=false
    in_remark=false    
                while(p<contents.length) && (contents[p]!=0)
                        c=contents[p]
                        p+=1
      in_quotes=!in_quotes if (c.chr=='"')
                        if (in_quotes or in_remark or (c<0x80)) then
                                s+=(c%0x80).chr
                        else
        token=SINGLE_BYTE_TOKENS[c]
                                s+=(token.nil?) ? sprintf("[%02X]",c):token
        in_remark=true if (c==0x93) 
                        end
                end
                s+="\n"
        p+=1
        end
        s      
end