Command BLOAD and BIN into .dsk

Page 1/2
| 2

By alessandro_scaccia

Resident (40)

alessandro_scaccia's picture

24-03-2018, 19:51

Hi at all,

i have a problem with a lot of bin files. If i use run"cas:",r with a .cas files, the game load perfectly
If i try to load the bin file (after i extracted him from .cas) with a BLOAD command, the game non start.
Is a problem that i notice in lot of game and so i have think to ask us if there are some differente command to use.

Regards.

Alessandro.

Login or register to post comments

By ali6x944

Master (168)

ali6x944's picture

24-03-2018, 20:26

hi alessandro,
I am a beginner, but i think i can help...
from what i understood you are loading the .bin files from tape, right?
if that is true, try using Cload instead of bload
see this page in the msx wiki:
https://www.msx.org/wiki/BLOAD
https://www.msx.org/wiki/CLOAD
but according to the wiki page it is only for .bas files

By alessandro_scaccia

Resident (40)

alessandro_scaccia's picture

24-03-2018, 21:04

Hi ali6x944,

thanks for response.

my goal is load a .BIN from .dsk

The command CLOAD is only for the .BAS tokenized file.

the BLOAD command from .CAS work at 100%
the BLOAD command from .DSK work around at 50%

bye

By mars2000you

Enlighted (5429)

mars2000you's picture

24-03-2018, 21:16

Check the content of the AUTOEXEC.BAS and/or the eventually other .BAS file loaded by AUTOXEC.BAS. Probably some initialisation and/or 'special' poke is used there. Special customized files can also be loaded (in case of many protected games).

RUN"CAS:" loads and runs first a BASIC file. (AUTOEXEC.BAS is only available on disk).

To check the loader on tape, you need to enter LOAD"CAS:", then LIST.

By NYYRIKKI

Enlighted (5173)

NYYRIKKI's picture

24-03-2018, 21:47

alessandro_scaccia wrote:

the BLOAD command from .CAS work at 100%
the BLOAD command from .DSK work around at 50%

The problem is caused by difference in amount of free RAM... Try to boot the computer with CTRL-key down. If that does not help, then some programming is needed to free the space.

By alessandro_scaccia

Resident (40)

alessandro_scaccia's picture

24-03-2018, 22:39

Yes the problem is the memory of course.

i have two .bin for a total of 28kb. That's a big problem because, with a fdd controller i have only 23432byte!!!!

This is the explanetion because with .cas work fine with the same .bin files.

At this point i will search somethings memory clean command. the ctrl key, free so too little memory and the game cannot start.

Thanks so much

Alessandro.

By Grauw

Enlighted (7840)

Grauw's picture

24-03-2018, 22:54

Boot up with the SHIFT key.

CTRL: Disables the virtual B: drive, frees up a bit of memory.
SHIFT: Disables the entire disk drive, frees up all memory.

If you load them from a disk image though, I think you’re out of luck.

By Manuel

Ascended (15107)

Manuel's picture

25-03-2018, 00:08

More programs will run with the CTRL key pressed, but some will just be too big. It requires some special tricks to make them work. There were some general cas2disk routines that would break up a machine code program and add some extra code to restore it back on the right location. It would break up the binary file in 2 pieces. At load time they were loaded into the lower 32kB and the extra routines would move it into the right place after disabling the disk drives.
These articles start on page 27 in MSX Gids 9 and the Byte Breaker program is in MSX Gids 10, from page 31. All in Dutch of course.

I used it a few times when moving some of my cassette software to disk (when I got my MSX2 with disk drive in 1993 Smile), but it wasn't that successful. Especially if there are multiple binaries to load, it isn't useful. In practice, I found out it was better to find a disk conversion download somewhere. It means that someone went into great lengths to adjust the program for disk usage.... manual labour indeed.

Which programs are you converting from tape to disk and why? (If you just want to play the game, there probably already exists a disk conversion/crack for it...)

By NYYRIKKI

Enlighted (5173)

NYYRIKKI's picture

25-03-2018, 11:55

I made this little tool that may be able to help you... Naturally you need to do all loading before killing the disk drive.

Usage: BLOAD"NODISK.BIN",Load address

By alessandro_scaccia

Resident (40)

alessandro_scaccia's picture

26-03-2018, 21:01

Hi,

the tool work, but i have maked a test:

- create a rom of a .bin that not start for not enought memory with dsk2tom tool.

converted .dsk from dsk2rom, in the autoexec.bas i put the °nodisk.bin° and the start BLOAD command, but seems that the rom have somethings of disk basic (i can see the DISK BASIC string at boot), so it fails with I/O error because the disk controller is down.

By NYYRIKKI

Enlighted (5173)

NYYRIKKI's picture

27-03-2018, 14:59

alessandro_scaccia wrote:

so it fails with I/O error because the disk controller is down.

This is why I especially said:

NYYRIKKI wrote:

Naturally you need to do all loading before killing the disk drive.

Process is:
1) Load game program to memory
2) Load "NODISK.BIN" (make sure to select address that does not collide with game program)
3) Execute "NODISK.BIN"
4) Execute game program

You can swap the steps 1 & 2 but that's about it.

Page 1/2
| 2
My MSX profile