package mz700_tape_wav_gen func GetSingleByteChecksum(b byte) uint16 { var num byte = 0 /* v := b for v > 0 { v &= v - 1 num++ } */ for i := 0; i < 8; i++ { num += (b >> i) & 0x01 } return uint16(num) } func GetByteSliceChecksum(bs []byte) uint16 { var chksum uint16 = 0 for _, sb := range bs { chksum += GetSingleByteChecksum(sb) } return chksum }