Do not use a separate byte for an END opcode, instead place the bit into the
previous opcode. This saves one byte per character with the exception of characters without a vector representation, where we loose one byte, because we need to add a dummy vector just to apply our END bit. git-svn-id: svn://svn.cc65.org/cc65/trunk@4433 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
87866e3099
commit
6078953baa
1 changed files with 7 additions and 1 deletions
|
@ -238,7 +238,13 @@ static void ConvertChar (StrBuf* Data, const unsigned char* Buf)
|
|||
|
||||
case 0x0000:
|
||||
/* End */
|
||||
SB_AppendChar (Data, 0x80);
|
||||
if (SB_IsEmpty (Data)) {
|
||||
/* No ops. We need to add an empty one */
|
||||
SB_AppendChar (Data, 0x00);
|
||||
SB_AppendChar (Data, 0x00);
|
||||
}
|
||||
/* Add an end marker to the last op in the buffer */
|
||||
SB_GetBuf (Data)[SB_GetLen (Data) - 2] |= 0x80;
|
||||
return;
|
||||
|
||||
case 0x0080:
|
||||
|
|
Loading…
Add table
Reference in a new issue