The latest version can be found here: https://podrezov.com/caslink4.htm

The CasLink Project
Copyright (C) 1999-2002 Alexey Podrezov

January 6th, 2002 update:

The CasLink project is now FREEWARE! You can download sources and compiled executable and use it freely. You are encouraged to continue CasLink project yourself and to fix bugs in the original release. Only two conditions should be met: CasLink should NOT be used for commercial purposes and the original author's name (Alexey Podrezov) is ALWAYS mentioned in the credits if you modify/continue the development of the project.

You can download the CasLink Freeware project from this page now!  Just Click Here!

*

Project description:

Finally I completed the first part of my CasLink project - the module that can upload files to MSX via a simple audio cable. The upload can be performed from any PC sound card, CD player or cassette recorder. The CasLink application encodes files in MSX format into 11025Hz 8-bit mono WAV sound file. Two speeds are supported - 1200bps and 2400bps. High speed seems too be always working if PC's sound card is good. I didn't try to upload files to MSX from CD player yet, but I will definitely do this in a few days. I'm 100% it will be working as good as from PC's sound card.

CasLink is created primarily for MSX users who don't have floppy disk drives in their MSX computers. It will also be a relief for those, who have their disk drives broken. You will be able (again) to play your favorite games on your MSX with the help of CasLink. The later version of CasLink will also support decoding of files sent from MSX via cassette interface, so the CasLink will become a true bi-directional support application that will allow to use driveless MSX for creating your own projects.

CasLink supports encoding of the following MSX formats:

BAS - tokenized basic programs
BAS/DAT - detokenized basic programs (ASCII formatt) and raw data files
BIN - binary images of ROM cartridges with staartup code
ROM - images of ROM cartridges

CasLink supports encoding of the following BIN and ROM formats:

BIN - 8/16/24 kb
ROM - 8/16/24/32 kb

CasLink also supports multi-file mode that allows to upload games up to 131072 bytes (1 MegaRom) long to MSX. With 2400bps speed it takes 'only' 12 minutes (grin), but as far as I know NO ONE has ever managed to upload a MegaRom game to real MSX via cassette interface. Multi-file mode supports encoding up to 10 files into a single WAV file. Multi-file mode allows to upload several binary modules with or without a special basic loader before them (some games have LDR basic loaders). If only binaries are uploaded, each of them prepares MSX for uploading of the next binary, so you don't need to type BLOAD after each binary is uploaded to MSX.

To upload a file (or files) to MSX you need to type LOAD, CLOAD or BLOAD command (depending on what is uploaded) on MSX only once and to play the pre-generated WAV file with any media player from DOS or Windows. The special CD for the CD player will have a startup program that will allow to upload any game from CD player easily - just like those pirated multi-game cartridges do. This CD and the cable for CasLink will be available from me in the future for a small fee.

*

Ok, now it's high time to test how CasLink works on different MSX systems. I invite all volunteers to join testing. First thing you will need is a CasLink cable. It is quite simple audio cable that connects MSX cassette interface to PC sound card or CD player output. The schematics of this cable can be obtained from this ZIP archive .

After you make this cable you need to download test games and basic programs already encoded into WAV files. I made several different WAV files for 1200bps and 2400bps cassette interface connection. So if your sound sound hardware is not good (for example ESS AudioDrive sound card didn't output 2400bps to MSX correctly) you will still be able to use low speed encoded files.

The only difficulty you can run across in uploading process is setting the volume of PC sound card output to needed level. You should adjust the output volume of your sound card so that MSX could 'accept' the transmission. Basically the volume should not be on maximum level. During my tests MSX 'accepted' transmissions that were made with middle volume (50%). You can also use headphones to set the correct volume - connect headphones to PC's sound card output (or other source you are using to upload files to MSX) and play any CasLink-generated WAV file. If the sound is loud, but bearable, then MSX will accept the transmission. Please also note that MSX checks for certain frequencies, so it is not recommended to use output frequency alteration that is performed with Bass and Treble controls in Sound Mixer. All these settings should be set to default ones. People who use stereo systems with equalizers as amplifiers for their PC sound cards (as I do - its nice to play Quake in the middle of the night with 15W speakers on ;)) ) should set all equalizer sliders to middle position (if sound is output to MSX from phones connector of these stereo systems).

Each ZIP archive I made available for download contains a single WAV file of encoded game or basic program and a short description on how to upload this game or program to MSX. The description looks like this:

Comic Bakery
------------------
Type of Game: Arcade
Size of Game: 16384 (16k Rom)
Type of MSX: 1, 2, 2+, TurboR
Boot Sequence: DEL
Command Line: BLOAD"CAS:BAKERY",R
Load Time: 2 min, 55 sec
Cas I/O Speed: 1200bps

On top there's a title, then goes game/program type, file(s) length, type of MSX hardware that can handle this file(s), required MSX boot sequence (some games, especially MegaRoms will require booting MSX with CTRL + DEL pressed to get more free memory), command line that you should type on MSX before uploading, time of transmission and finally cassette interface speed. I created several WAV files with CasLink for upload testing. They will allow to test uploading of 8,16,24,32 kb BIN and ROM files, tokenized Basic programs and ASCII type basic files to MSX.


Note that the below given files must not be used for commercial purposes because MSX games they represent might be still a copyrighted material!

1200bps interface samples:

1. DUMP.ZIP - tests uploading tokenized basic program
2. DUMP_D.ZIP - tests uploading detokenized basic program in ASCII format
3. ATHLAND2.ZIP - tests uploading 16kb ROM file
4. BAKERY.ZIP - tests uploading 16kb BIN file
5. POLAR.ZIP - tests uploading 8 and 16kb BIN files one after another
6. TRAIN.ZIP - tests uploading 32kb ROM file that starts from 0000h
7. GBERET.ZIP - tests uploading 32kb ROM file that starts from 4000h and executes from 9C00h (rare)
8. ZANAC.ZIP - tests uploading 32kb ROM file that starts from 4000h
9. MONTY.ZIP - tests uploading BAS loader and several 8-16kb BIN files (multi-file mode)
10. GIRLY.ZIP - tests uploading 8 x 16kb BIN files (multi-file mode - MegaRom game)
11. ZARIOSTR.ZIP - tests uploading 8 x 16kb BIN files (multi-file mode - MegaRom game)
12. KINGV2.ZIP - tests uploading BAS loader and 6 x 16 and 32kb BIN files (multi-file mode - MegaRom game)
13. PENGUIN.ZIP - tests uploading BAS loader and 8 x 16kb BIN files (multi-file mode - MegaRom game)

2400bps interface samples:

1. DUMP.ZIP - tests uploading tokenized basic program
2. DUMP_D.ZIP - tests uploading detokenized basic program in ASCII format
3. ATHLAND2.ZIP - tests uploading 16kb ROM file
4. BAKERY.ZIP - tests uploading 16kb BIN file
5. POLAR.ZIP - tests uploading 8 and 16kb BIN files one after another
6. TRAIN.ZIP - tests uploading 32kb ROM file that starts from 0000h
7. GBERET.ZIP - tests uploading 32kb ROM file that starts from 4000h and executes from 9C00h (rare)
8. ZANAC.ZIP - tests uploading 32kb ROM file that starts from 4000h
9. MONTY.ZIP - tests uploading BAS loader and several 8-16kb BIN files (multi-file mode)
10. GIRLY.ZIP - tests uploading 8 x 16kb BIN files (multi-file mode - MegaRom game)
11. ZARIOSTR.ZIP - tests uploading 8 x 16kb BIN files (multi-file mode - MegaRom game)
12. KINGV2.ZIP - tests uploading BAS loader and 6 x 16 and 32kb BIN files (multi-file mode - MegaRom game)
13. PENGUIN.ZIP - tests uploading BAS loader and 8 x 16kb BIN files (multi-file mode - MegaRom game)

*

Please send me reports on how CasLink performed on your system. My private contact e-mail is podrezov @ hotmail.com (remove spaces). You can also use ICQ or Yahoo! Messenger. My ICQ UIN is 1253313 and my ID on Yahoo is 'Wierzbowsky'. I would be really delighted to get testing results as I have only one type of MSX to test CasLink on at home - my good old Yamaha MSX2 YIS 805/256 andd YIS 503III/128. It works perfectly well with my MSX hardware (not a single 'Device I/O Error' during several hours of non-stop uploading) and I hope the same will be with your's.

*

Greetings to Egor Voznessenski (who explained FSK to the stupid [me] and helped me with some Z-80 assembly tricks to relocate ROMs on real MSX), Arnaud [The File-Hunter] - for his moral support and a great website, Sean Young (Obi-Van, you are my only hope!) - I'm still too stoopid to understand yourr code, sorry. Greetings to all other MSX lovers who won't let MSX die.
Alexey Podrezov
Last updated: January 6th, 2002 A.D.