package mz700_tape_wav_gen import ( "bytes" ) func ASCII2MZ700(asciiStr string) []byte { sb := []byte(asciiStr) db := make([]byte, 0, len(sb)) bb := bytes.NewBuffer(db) for _, b := range sb { if b >= 0x20 && b <= 0x7e { cvb := ASCII_TO_MZ700_TABLE[b] if cvb == 0 { bb.WriteByte(b) } else { bb.WriteByte(cvb) } } } return bb.Bytes() } func ConvertFilename(ascii string) []byte { cb := ASCII2MZ700(ascii) l := len(cb) if l > 16 { cb = cb[:16] l = 16 } padl := 17 - l for i := 0; i < padl; i++ { cb = append(cb, 0x0D) } return cb } func ConvertStringCommnet(comment string) []byte { cb := ASCII2MZ700(comment) l := len(cb) if l > 103 { cb = cb[:103] l = 103 } cb = append(cb, 0x0D) l++ padl := 104 - l for i := 0; i < padl; i++ { cb = append(cb, 0x00) } return cb } func PaddingRawComment(cb []byte) []byte { l := len(cb) padl := 104 - l for i := 0; i < padl; i++ { cb = append(cb, 0x00) } return cb }