mirror of
https://github.com/cc65/cc65.git
synced 2025-01-15 22:30:04 +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:
parent
87866e3099
commit
6078953baa
@ -238,7 +238,13 @@ static void ConvertChar (StrBuf* Data, const unsigned char* Buf)
|
|||||||
|
|
||||||
case 0x0000:
|
case 0x0000:
|
||||||
/* End */
|
/* 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;
|
return;
|
||||||
|
|
||||||
case 0x0080:
|
case 0x0080:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user