Page 1 of 1

New tool for cassette users: OsiKCS

Posted: Fri Feb 14, 2020 5:08 am
by Mark
I've created a new console tool to encode and decode OSI Kansas City Standard audio data, the cassette format used by OSI computers.
You can use it to create OSI compatible audio for any data file you happen to find, or decode those old tapes without having working hardware.

It will decode pretty much any WAV PCM audio and will encode any data into 22050 samples per second 8 bit PCM WAV 300baud KCS format.
The encoder is built using some tech from Ed's CUTS encoder/decoder (which unfortunately doesn't work on 64bit windows). The encoder uses a fixed waveform which compresses greatly. The decoder is built from scratch. It uses the rising edge of the waveform to calculate frequency, so audio with DC bias or hum should not affect operation.
One unique feature is the ability to append WAV audio data. The allows you to create a tape with a loader, a pause and data to follow.

With Windows Explorer you can drop a file onto OSIKCS.EXE and it will decode the wav file creating a .txt file with the same name, or drop any other file on it to have it encode into 300baud KCS WAV format. Of course you can use the command line to specify many options. The diagnostics mode is useful to see where in the audio stream any decoding errors happen.

There is a Mac and PC build along with source that should work on any other platform.

Code: Select all

OSIKCS - Transcodes between Kansas City Standard audio & data file for OSI
Usage: OSIKCS [options] infile [outfile]
    If [outfile] is not specified, a target file is automatically
       created based on input filetype
    -Rn Rate for en/decoding 0=300/1=600 (default: 0)
    -F  Force overwrite of existing output file
    -A  Append to output file (WAV or data)(WAV must be 22050 8bit mono)
    Encode options:
    -B  BASIC processing -add NULS between <CR> & <LF> like OSI BASIC
    -Nn Number of Nulls (default 10)
    -O  Odd parity
    -E  Even parity
    -D  7 Data bits
    -S  1 Stop bit
    -Wn padding in msec after each serial Word
    -Pn Padding in msec after each EOL
    -Ln Leader time (in msec) defaults to 2000
    -Tn Trailer time (in msec) defaults to 1000
    -U  use sine Tone instead of precompensated square wave
    -Cn select WAV Channel for decode 0=Any 1=Left 2=Right
    -X  Decoding output diagnostics
 Default encode: create 22050 8bit mono WAV file @300 baud 8N2
 Default decode: create data file from 300 baud 8N2 WAV file
You can find osikcs on the tools section of my web page. Dave feel free to copy it here too.

Cheers,
-Mark

Re: New tool for cassette users: OsiKCS

Posted: Fri Feb 14, 2020 9:43 am
by dave
Very nice! I think I need to take a good, thorough walk through your site. You've been very active lately! I will need to update the links to make sure to point to all your goodies. (Not to mention I really should bring this site into the current millenium.)

Dave

Re: New tool for cassette users: OsiKCS

Posted: Fri Feb 14, 2020 11:41 pm
by BillO
dave wrote: Fri Feb 14, 2020 9:43 am (Not to mention I really should bring this site into the current millenium.)
Don't go too crazy Dave. The applefritter site updated and utterly ruined the site IMO. Keep it functional and simple would be my vote.

Re: New tool for cassette users: OsiKCS

Posted: Sat Feb 15, 2020 12:00 am
by Jeff
If it aint broke...
/J

Re: New tool for cassette users: OsiKCS

Posted: Sat Feb 15, 2020 2:23 am
by dave
BillO wrote: Fri Feb 14, 2020 11:41 pm
dave wrote: Fri Feb 14, 2020 9:43 am (Not to mention I really should bring this site into the current millenium.)
Don't go too crazy Dave. The applefritter site updated and utterly ruined the site IMO. Keep it functional and simple would be my vote.
Duly noted.