No, I believe 0x80 has a special meaning. Look at STAR100.BMP.
If whenever there is a 0x80, you only need one pixel, not 128.
Having the decompressor write only one byte when there's a 0x80 gives the correct output.
Edit:
I believe all values larger than 127 have a special function. It may be that whenever it's larger than 127, you repeat the next byte by that minus 128.
If whenever there is a 0x80, you only need one pixel, not 128.
Having the decompressor write only one byte when there's a 0x80 gives the correct output.
Edit:
I believe all values larger than 127 have a special function. It may be that whenever it's larger than 127, you repeat the next byte by that minus 128.