Spectravideo SV-328
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
I found a cas2wav utility said to work for the 328, but it only runs under DOS.
- Attachments
-
- sc2w1_0b.zip
- (110.37 KiB) Downloaded 256 times
-
- Top Contributor
- Posts: 1911
- Joined: Wed May 27, 2020 1:59 pm
- Has thanked: 145 times
- Been thanked: 454 times
Re: Spectravideo SV-328
AO486 to the rescue.LamerDeluxe wrote: ↑Thu Apr 15, 2021 6:28 pm I found a cas2wav utility said to work for the 328, but it only runs under DOS.
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
That should work, or DOSBox.jca wrote: ↑Thu Apr 15, 2021 6:33 pmAO486 to the rescue.LamerDeluxe wrote: ↑Thu Apr 15, 2021 6:28 pm I found a cas2wav utility said to work for the 328, but it only runs under DOS.
-
- Top Contributor
- Posts: 1911
- Joined: Wed May 27, 2020 1:59 pm
- Has thanked: 145 times
- Been thanked: 454 times
Re: Spectravideo SV-328
Another cool thing would be to run, on the Linux side, a CAS player outputing into an audio dongle looping back into the ADC. Self contained and not using too much storage space
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
I've tested the cas 2 wav converter, that I posted here, with DOSBox and it works. You need to add the attached file to the same folder you are running this from. I'm using AmpShell to easily add a folder as the C drive.
Most of the commercial games that you load with CLOAD (which loads software written in basic) load a small loader at first. So pause the wav audio as soon as 'ok' is displayed. Then enter 'run' and start the wav playback again. If you get an error, just try the whole procedure again.
Other games load with BLOAD (binary, games written in assembly) like this: bload"NINJA",r
Where 'ninja' is the game name and should be in caps. If you don't know the correct name, just use whatever name when loading and a 'skipping' message will appear with the correct name to load. Then use the bload command with that name.
It was fun to use the ADC adapter to load a game.
Most of the commercial games that you load with CLOAD (which loads software written in basic) load a small loader at first. So pause the wav audio as soon as 'ok' is displayed. Then enter 'run' and start the wav playback again. If you get an error, just try the whole procedure again.
Other games load with BLOAD (binary, games written in assembly) like this: bload"NINJA",r
Where 'ninja' is the game name and should be in caps. If you don't know the correct name, just use whatever name when loading and a 'skipping' message will appear with the correct name to load. Then use the bload command with that name.
It was fun to use the ADC adapter to load a game.
- Attachments
-
- cwsdpmi.zip
- (16.41 KiB) Downloaded 211 times
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Spectravideo SV-328
Here's a converter in Python, it even runs in MiSTer's Linux:
http://www.formauri.es/personal/pgimeno ... cas2wav.py
Usage: python svi_cas2wav.py input_file.cas output_file.wav
If using '-' as input file name, standard input is used instead. If using '-' as output file name, standard output is used instead.
Edit (Apr 21): Updated to fix issues with a few .cas files.
http://www.formauri.es/personal/pgimeno ... cas2wav.py
Usage: python svi_cas2wav.py input_file.cas output_file.wav
If using '-' as input file name, standard input is used instead. If using '-' as output file name, standard output is used instead.
Edit (Apr 21): Updated to fix issues with a few .cas files.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
-
- Posts: 210
- Joined: Thu Feb 04, 2021 11:42 pm
- Has thanked: 18 times
- Been thanked: 46 times
Re: Spectravideo SV-328
Blimey!! Didn't see this. A Spectravideo SV-328 core.
Always wanted one of these, but they go for silly money on ebay. And now we have it on Mister, even better.
Tried Hero, International Karate, and the Hyper Sports games, didn't realise if the core had locked or not - it was the slow tape loading taking much longer than expected to load.
Always wanted one of these, but they go for silly money on ebay. And now we have it on Mister, even better.
Tried Hero, International Karate, and the Hyper Sports games, didn't realise if the core had locked or not - it was the slow tape loading taking much longer than expected to load.
Re: Spectravideo SV-328
25/04/2021 Version:
Tape Load:
- Audio In
- CAS from OSD : First load CAS file on OSD and then exec command on SVI (cload, bload, ...). MAX 256KB.
Please Test and Report!!!
Tape Load:
- Audio In
- CAS from OSD : First load CAS file on OSD and then exec command on SVI (cload, bload, ...). MAX 256KB.
Please Test and Report!!!
- Attachments
-
- Svi328_20210425.zip
- (940.56 KiB) Downloaded 230 times
-
- Top Contributor
- Posts: 468
- Joined: Sun May 24, 2020 7:17 pm
- Has thanked: 35 times
- Been thanked: 99 times
Re: Spectravideo SV-328
hi
very good work !!!
can we have tape sound please ?
thanks in advance
very good work !!!
can we have tape sound please ?
thanks in advance
CPC-Power Staff
-
- Top Contributor
- Posts: 468
- Joined: Sun May 24, 2020 7:17 pm
- Has thanked: 35 times
- Been thanked: 99 times
Re: Spectravideo SV-328
From SVI 300 Series Computer Quick Reference Card
SOUND [ON] [OFF]
To turn sound of the cassette audio on or off.
From SVI328 Basic Reference Manual (Page 247)
To write value directly to the register of PSG.
rampa said it does not work on real SVI
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
I tested .cas files with some BLOAD games and it works perfectly. Of course you won't know how far along loading is, but it only takes a few minutes.
I also tried it with some games that do multi-load. You load them with CLOAD, then type run, this starts a loader that loads the rest of the game. This doesn't seem to work. It does work with ADC, but you have to quickly stop the audio when the first load ends.
Does the virtual tape get stopped when loading ends? Does it work correctly when loading the next part from tape? I tried this with Zaxxon, which I think has been converted from another system.
I also had an instance where I changed the .cas file, but had to rewind it for it to load.
I also tried it with some games that do multi-load. You load them with CLOAD, then type run, this starts a loader that loads the rest of the game. This doesn't seem to work. It does work with ADC, but you have to quickly stop the audio when the first load ends.
Does the virtual tape get stopped when loading ends? Does it work correctly when loading the next part from tape? I tried this with Zaxxon, which I think has been converted from another system.
I also had an instance where I changed the .cas file, but had to rewind it for it to load.
Re: Spectravideo SV-328
Multiblock Cas works.
With the ADC load you have to stop the audio manually, but on the Cas load, the cas file "stops" automatically, and too starts again alone.
So you just have to cload the first block, and then run...
What happens when you try to load zaxxon cas?
Have you tested the same Zaxxon by adc?
Yes, until i release a new version, better you rewind after load cas.
With the ADC load you have to stop the audio manually, but on the Cas load, the cas file "stops" automatically, and too starts again alone.
So you just have to cload the first block, and then run...
What happens when you try to load zaxxon cas?
Have you tested the same Zaxxon by adc?
Yes, until i release a new version, better you rewind after load cas.
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
It doesn't seem to load the next part. Maybe I should leave it loading for a an even longer time. I should check one against the duration of a wav version.
Re: Spectravideo SV-328
Hummm...
Maybe the Cas is broken.
Check that CAS is Right :
- Test that CAS on Emulator.
- Try to load a Wav coming from that CAS (or directly the CAS if you have how to do it) by ADC.
Maybe the Cas is broken.
Check that CAS is Right :
- Test that CAS on Emulator.
- Try to load a Wav coming from that CAS (or directly the CAS if you have how to do it) by ADC.
- LamerDeluxe
- Top Contributor
- Posts: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Spectravideo SV-328
Later version build the same April 25 :
Changelog :
// - Rewind on CAS load or Reset
// - LED_Disk on Tape Load
Changelog :
// - Rewind on CAS load or Reset
// - LED_Disk on Tape Load
- Attachments
-
- Svi328_20210425.zip
- (3.21 MiB) Downloaded 285 times
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Spectravideo SV-328
I'm having the same problem with Zaxxon. With OpenMSX the .CAS file works, but with this core it doesn't. (OpenMSX added SVI CAS support very recently, in fact as the result of me writing the converter; you need to compile from source if you want to use it).
I've noticed that after finishing loading, there are remaining bytes before the next header starts. Could that be an issue?
Would it be possible to output the .CAS to audio as it loads, similar to the Tape Sound option of the Spectrum core? That would give hints as to what may be going wrong. It would also be useful to know that the CAS has finished, instead of having to wait an indeterminate amount of time.
I've noticed that after finishing loading, there are remaining bytes before the next header starts. Could that be an issue?
Would it be possible to output the .CAS to audio as it loads, similar to the Tape Sound option of the Spectrum core? That would give hints as to what may be going wrong. It would also be useful to know that the CAS has finished, instead of having to wait an indeterminate amount of time.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
Re: Spectravideo SV-328
Sure, must be only 0x00(1Byte) between end block and the next header starts.
https://wiki.kasettilamerit.fi/wiki/ind ... ectravideo
Sure, Basic supports "sound on".
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Spectravideo SV-328
That link does not provide the format of a .CAS file, it only contains the encoding of data on tape. Many, if not most, of the existing .CAS files contain extra data between the end of a block and the start of the next block. The block separator in a .CAS is 16 times 0x55 + 0x7F, a 17-byte identifier; when it occurs, my converter to WAV generates a silence followed by 200 times 0x55 to serve as a sync signal, then a 0x7F (all in raw mode, no stop bits). I tested about half the TOSEC collection with that before I considered it robust enough.fpganoob wrote: ↑Sun May 02, 2021 7:59 am Sure, must be only 0x00(1Byte) between end block and the next header starts.
https://wiki.kasettilamerit.fi/wiki/ind ... ectravideo
MSX .CAS files have a similar layout, except that they use 8 fixed random-ish bytes that have to be aligned to an 8-byte boundary, therefore it's almost guaranteed that spaces will happen.
Thanks, it's pretty clear what the issue is now.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
Re: Spectravideo SV-328
That's the info i've used.pgimeno wrote: ↑Sun May 02, 2021 4:39 pmThat link does not provide the format of a .CAS file, it only contains the encoding of data on tape. Many, if not most, of the existing .CAS files contain extra data between the end of a block and the start of the next block. The block separator in a .CAS is 16 times 0x55 + 0x7F, a 17-byte identifier; when it occurs, my converter to WAV generates a silence followed by 200 times 0x55 to serve as a sync signal, then a 0x7F (all in raw mode, no stop bits). I tested about half the TOSEC collection with that before I considered it robust enough.fpganoob wrote: ↑Sun May 02, 2021 7:59 am Sure, must be only 0x00(1Byte) between end block and the next header starts.
https://wiki.kasettilamerit.fi/wiki/ind ... ectravideo
Where is the specification of SVI CAS files? Which info is coded in the extra data between blocks? Why those cas has that extra data?
I dont like the idea of detect a header just by 16 X 0x55. What happens if a file has these bytes and is not a header? by now i like more the STOP flag, (motor off and Byte 0x00), bytes after that must be the header.
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Spectravideo SV-328
I don't know of any specification of SVI CAS files; I reverse engineered them from the files themselves. I know that the MSX CAS files follow almost the same pattern, except they changed the header bytes to something less likely to appear in a file: 1F A6 DE BA CC 13 7D 74 and added the restriction that it needs to start in a position multiple of 8. Still, files with that byte sequence can't be encoded in MSX CAS files. Like with the SVI, it's just a flaw in the file format design.fpganoob wrote: ↑Sun May 02, 2021 5:38 pm That's the info i've used.
Where is the specification of SVI CAS files? Which info is coded in the extra data between blocks? Why those cas has that extra data?
I dont like the idea of detect a header just by 16 X 0x55. What happens if a file has these bytes and is not a header? by now i like more the STOP flag, (motor off and Byte 0x00), bytes after that must be the header.
Note the header is the 16 X 0x55 plus the single byte 0x7F, which must also be encoded in raw form (no start bit) and therefore not a data byte. That additional byte makes it less likely to appear by chance in a file.
Most of the time the extra data are zeros, and I suspect it's noise due to deficient filtering during the conversion from audio to CAS.
Some files that work in the core, also have additional zeros before the next header. Alien 8 has 10 and they are audible at the beginning of the loading of the next block. Maybe Zaxxon just has too many? It has 22 zeros. It comes from the Spectravideo TOSEC collection at archive.org.
Edit: Indeed, Zaxxon works when removing the extra zeros with this simple Python program:
Code: Select all
import sys
python3 = sys.version_info.major >= 3
read = sys.stdin.read if not python3 else sys.stdin.buffer.read
write = sys.stdout.write if not python3 else sys.stdout.buffer.write
data = bytearray(read())
data[0xA8:0xB4] = b''
write(data)
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV