1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-14 00:32:08 +00:00

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:
uz 2009-11-02 22:31:32 +00:00
parent 87866e3099
commit 6078953baa

View File

@ -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: