SVI-3x8 cassette and disk images

Page 1/2
| 2

By eimaster

Master (244)

eimaster's picture

26-10-2017, 23:14

Aren't there any development steps taken which aim at completing SVI-3x8 emulation by enabling openMSX to natively support SVI-3x8 cassette tape and disk images just the same way it natively supports MSX's?!

Login or register to post comments

By Manuel

Ascended (17870)

Manuel's picture

26-10-2017, 23:21

openMSX supports such cassette tape images when converted to WAV. But I guess you mean CAS support? No one is working on that, but the casloader hack of NYYRIKKI does support it, so with that script you can directly load CAS files. It comes with openMSX.

By eimaster

Master (244)

eimaster's picture

26-10-2017, 23:44

Hi Manuel
Thanks for super fast answer. I saw it and I wanted to reply immediately but my father called me for a small help.

Manuel wrote:

openMSX supports such cassette tape images when converted to WAV. But I guess you mean CAS support? No one is working on that, but the casloader hack of NYYRIKKI does support it, so with that script you can directly load CAS files. It comes with openMSX.

Ok then. I will consider openMSX support for SVI-3x8 cas images is completed. But how can I do it with NYYRIKKI casloader? Please explain.
Now whats left is disk image support.
By the way, thank you very much dear Manuel for SVI3x8 disk you sent me. It's working perfectly. I guess it has the extension DMK, right?!

By NYYRIKKI

Enlighted (5745)

NYYRIKKI's picture

27-10-2017, 13:20

eimaster wrote:

Ok then. I will consider openMSX support for SVI-3x8 cas images is completed. But how can I do it with NYYRIKKI casloader? Please explain.

You can enable usage in GUI by writing "set fast_cas_load_hack_enabled true"
You can also use it directly from commandline. Please see ie. "help casrun"

There is anyway limitation in openMSX... You need to eject the CAS-file when you start the emulator and insert the CAS-file only after starting.

Quote:

Now whats left is disk image support.

Sorry you are wrong. Disk image (.DMK) support is there already...

If you mean the DSK-format created by BlueMSX developers, it is not supported and I don't think it even should because:
- It is different from MSX .DSK format.
- It does not store even most important information (such as number of tracks or sides) of a disk
- Extension ".DSK" is already used by MSX emulation.
- BlueMSX is obsolete emulator with no support and AFAIK it is only software that uses this format.

By eimaster

Master (244)

eimaster's picture

28-10-2017, 05:04

NYYRIKKI
Are all the disk images which can be downloaded from the net and here from the DOWNLOAD section including your SUPER-X disk image comply with BlueMSX (.DSK) image format or are they comply with MSX (.DSK) image format?! Which makes me ask "are their 2 different image format one for BlueMSX and the other is for MSX (.DSK)?!

If as you say (.DMK) is the perfect format which is close to the original real disk format then why is disk files we found here in the DOWNLOAD section and many other sites are (.DSK) images but not (.DMK) images?!

By NYYRIKKI

Enlighted (5745)

NYYRIKKI's picture

28-10-2017, 06:19

You can not divide the formats quite like that... We are now talking about two formats; MSX .DSK image and SVI .DSK image. (Most easy way to distinguish them from each other is to look at the size of the file) The MSX programs in .DSK format are compatible between emulators including BlueMSX. (and to your question: Yes, software on this site is for MSX computers, so they are in MSX .DSK format)

The SVI .DSK file is a bit similar as MSX .DSK file, but since physical SVI disk formats vary more and the file system it self does not include information about physical disk structure (like MSX .DSK files do) the format is not good for SVI. These kind of SVI .DSK files are compatible only with BlueMSX.

Even with MSX .DSK files I've ended in to situation where emulator has thought that the 2SD 5.25" disk image has been 1DD 3.5" disk image. -> Not good, but since MSX .DSK is well adapted format among emulators we just have to suck it up. With MSX the emulator has anyway more things to "guess" the format right, so this is not a big problem. How ever I see no reason to add these same problems to SVI emulation since there is only one software that has done it "wrong" and the problem would become bigger in SVI system than it is with MSX system...

You are also giving yet another perfect reason, why this should not be done: Using same extension for two different formats always causes this kind of miss understandings.

By eimaster

Master (244)

eimaster's picture

29-10-2017, 02:30

As for SVI cas files. I have used SviCas2Wav utility to convert cas files to wav format by using DOSBox emulator in my Android phone.

Armoured Assault CAS game is a binary game which has a BASIC loader.

It starts by typing CLOAD + [return] which loads the BASIC loader called "loadg". When running "loadg" it starts BLOADing the game and runs it perfectly.

Spectron CAS game, in the other hand, is a binary game as well and it has the same BASIC loader but it fails to run because upon ending loading the BASIC loader an error says "Device I/O error" which leads to strange LISTing when listed.

I got around the problem by CLOADing the BASIC loader of Armoured Assault and then chane the WAV file with Spectron and it succeded in BLOADing the game and running it. So aparently there is no problem in the game itself. The problem is in the BASIC loader due to the error occured at the end of its CLOADing process.

It's bad that Spectron CAS game has a problem in the converted WAV file. I want to correct it but I don't have the experties to do it. Can anyone help?

Does NIRRIKKI's casloader generate the same error for that game? And what is the reason the error is there? Is the problem in original CAS file or is it a bug in SviCas2Wav conversion process?!

I can save Armoured Assault BASIC loader to a new WAV from within openMSX but then how can I BLOAD the Spectron game without running it and then BSAVE it to that new WAV file?

Note: The BASIC loader BLOADs the game in the VRAM then a machine code routine moves it to RAM and execute it. So I think it needs to be moved to RAM then BSAVEed but how? And how to know its start-end-execute addresses?

Sorry for so many questions but I want to convert all CAS files to WAVs and then ZIP them separately to minimize their huge filesizes and upliad them to the net for others to download and run without experiencing the same headache of converting them again.

By Grauw

Ascended (9817)

Grauw's picture

29-10-2017, 02:26

Note that (iirc) openMSX can load zipped wav files directly without unzipping them first.

By Manuel

Ascended (17870)

Manuel's picture

29-10-2017, 13:12

I think there's a problem with your conversion. I also converted from CAS to WAV (downloaded a TOSEC set with CAS files somewhere) and that Spectron WAV runs fine in openMSX.

By eimaster

Master (244)

eimaster's picture

30-10-2017, 00:54

Grauw wrote:

Note that (iirc) openMSX can load zipped wav files directly without unzipping them first.

That's why I vulanteer to convert all SVI-3x8 CAS TOSECs and zip every CAS individually then upload them so others can run them in openMSX without the need for any conversion.
I'm also thinking if converting SVI-3x8 DSK files to DMK so they can be run on openMSX. And I want to do a crazy thing. As you know that most SVI-3x8 binary games were produced on cassettes, so I'm thinking that if simeone help in how to BLOAD a CAS game and then BSAVE it on a DMK empty disk and makes some changes to that game BASIC loader (if any) or perhaps write a new on for it and save it to the DMK so SVI-3x8 lovers can enjoy CAS games in disks, making use of disks fast loading speed. I think NIRRIKKI can help me 'cos he's excellent at Z80 machine code/assembly language. What is needed is knowing the equivelent SVI-3x8 BIOS routines and its ports to those of MSX.

Manuel wrote:

I think there's a problem with your conversion. I also converted from CAS to WAV (downloaded a TOSEC set with CAS files somewhere) and that Spectron WAV runs fine in openMSX.

May ask you for the TOSEC set's exact name which you downloaded so I can get it and try to convert the Spectron game to see if it works or that the error is in my conversion due to using an emulator not in a real PC.

By NYYRIKKI

Enlighted (5745)

NYYRIKKI's picture

30-10-2017, 10:32

eimaster wrote:

BLOAD a CAS game and then BSAVE it on a DMK empty disk and makes some changes to that game BASIC loader (if any) or perhaps write a new on for it and save it to the DMK so SVI-3x8 lovers can enjoy CAS games in disks, making use of disks fast loading speed. I think NIRRIKKI can help me 'cos he's excellent at Z80 machine code/assembly language. What is needed is knowing the equivelent SVI-3x8 BIOS routines and its ports to those of MSX.

I've practically collected all my knowledge of SVI-3x8 programming here.

I doubt that you need to actually change the ML programs... I think it is more than rare that the programs use cassette directly, so adjusting BASIC programs should be enough... Practically this means replacing "CAS:" from file loading with "1:". BSAVE begin, end & start addresses you can get directly from the CAS to WAV converter at least if you are using svitools by Johan Winge. (svitools -i filename.cas should give you list of the addresses to screen)

If I remember correctly there was some bug in Disk BASIC making the end address different between cassette and disk... It is maybe more safe if you add +1 to the end address just in case or at least check that all the needed bytes are loaded and saved.

Only problem that I expect you to encounter sooner or later is that some games may use more high addresses than are available when disk BASIC is loaded... In this case you may need to add a routine to disable disk drives & relocate the binary after loading... This is same problem that we have with some MSX cassette games as well. Unfortunately I don't have hands on experience dealing with this stuff on SVI as I'm more MSX user.

Page 1/2
| 2