Problems with converting BIN to WAV with OTLA

ページ 1/2
| 2

By gorgh

Supporter (9)

gorgh さんの画像

03-05-2021, 15:52

Hi folks,
I'm a newbe in MSX world and since I know z80 assembly I would like to start to code on MSX. I purchased couple days ago Philips 8020 and since it has no disk drive I would like to load my programs with audio to the cassette port.
I'm having trouble converting .COM (which are .BIN files I believe), for example this one:
https://www.pouet.net/prod.php?which=67817
or this one:
https://www.pouet.net/prod.php?which=69851

When I change the extension to .BIN and try to convert it with OTLA all I get is 7 second WAV file
No matter the file size, both 256byte and 31kb files are 6 or 7 seconds long. Of course OpenMSX can't open them.
What I do wrong?
Greetings
gorgh/Agenda

ログイン/登録して投稿

By Jipe

Paragon (1625)

Jipe さんの画像

03-05-2021, 17:30

this files are for MSXDOS only and no start in .bin

By gorgh

Supporter (9)

gorgh さんの画像

03-05-2021, 17:34

Oh, thanks for the answer

By CASDuino

Champion (361)

CASDuino さんの画像

03-05-2021, 22:18

CAS and 48k ROM files are the only ones you can convert to WAV or you just use a phone app like MSX2CAS which will do it for you.

Use CAS2WAV (MSX version) to convert CAS files to WAVs or CASLink3 to convert up to 48k ROMs to WAV.

EDIT: Forgot to add TSX files to that too.

By gorgh

Supporter (9)

gorgh さんの画像

04-05-2021, 11:05

thanks for the hint CASDuino, I figured out that MSX2CAS has support for .BIN files

By ro

Scribe (5064)

ro さんの画像

04-05-2021, 11:44

While we are on the subject, a while ago I was looking for .cas file management tools. You know, create, import, extract. That sort of thing. I coulnd't get my head around it. Any suggestions (gonna do a search on this OTLA thingy which I never heard of)
sorry for hijacking the threat..

By gorgh

Supporter (9)

gorgh さんの画像

04-05-2021, 14:05

folks, on msx2cas.com page the author is stating that " Mostly BIN files requires an .BAS loader with some type of POKE to run.", does it mean that my own ASM programs need some kind of Basic loader when using MSX2CAS app? How to deal with it?

By Wild_Penguin

Hero (644)

Wild_Penguin さんの画像

04-05-2021, 15:28

ro wrote:

While we are on the subject, a while ago I was looking for .cas file management tools. You know, create, import, extract. That sort of thing. I coulnd't get my head around it. Any suggestions (gonna do a search on this OTLA thingy which I never heard of)
sorry for hijacking the threat..

Well, there are utilities to convert from cas(or wav)<->[all formats the MSX BIOS can load from tape]. I.e. binary and basic (either tokenized or non-tokenized - if you like to think in file name endings, these will convert to .bas or .cas/.ldr, but cassette doesn't have endings in file names and on disks, they are arbitrary). There are plenty of tools to do the job, but since most cassette software has already been dumped, I suspect few are under active development.

Take a look at:

There must be tools which can dump the data from custom loaders very common back in the day (or hackers one-shotted them), since cracked versions of said originally-released on tape software are floating around the net ;-).

By Wild_Penguin

Hero (644)

Wild_Penguin さんの画像

04-05-2021, 15:43

gorgh wrote:

folks, on msx2cas.com page the author is stating that " Mostly BIN files requires an .BAS loader with some type of POKE to run.", does it mean that my own ASM programs need some kind of Basic loader when using MSX2CAS app? How to deal with it?

No, that's not what he meant.

I'm not an assembly programmer, but know for a fact that many games loaded several .bin files to the MSX, showed text and/or graphics during loading etc.; sometimes they did pokes and whatnot in the BASIC loader, sometimes if was just copy .scr (",S") to the screen, load a few binary blocks and only the last one with ",r".

Sometimes a game might load too large bin blocks so that they can not be loaded in one go (there is a size limit to a .bin file, see the wiki). Also, it might just be more convenient to load graphics to the VRAM in a separate program and then load the actual game in a separate file.

In summary, the .bas or .ldr file is just a wrapper to facilitate loading the separate data blocks (but software which loaded with a single bload"cas:",r did exist, not only those which used a custom .bin loader).

Take a look at: https://www.msx.org/wiki/MSX-BASIC_file_formats#MSX-BASIC_bi... - hope that clears up some confusion. Note, for example, that one does not necessarily need to run a binary block. It has a beginning address and an end address, and start address is used only for with ",r" parameter.

AFAIK one can use assembly in pure Z80 way (presumably loadable via bload, if the addresses are compiled to the file according to the MSX standard?) or compiled for MSX-DOS. To learn about MSX Assembly, I would take a look at MSX-DOS(2) and MSX BIOS documentation oriented at assembly programming for the MSX (along with slots, VDP and whatnot...). But I know little about MSX Assembly. Someone please correct me if I'm off track here!

By gorgh

Supporter (9)

gorgh さんの画像

04-05-2021, 16:06

thanks for clarification Wild_Penguin!

By Wild_Penguin

Hero (644)

Wild_Penguin さんの画像

04-05-2021, 19:23

gorgh, no problem. Cool

Forgot to mention that the pokes he mentioned are probably for slot selection compatibility. But the basic loaders for games sometimes had a bit more than loading screens and the universal poke...

ページ 1/2
| 2