Page 2 of 3

Re: Spectravideo SV-328

Posted: Tue Apr 27, 2021 10:38 pm
by LamerDeluxe
fpganoob wrote: Tue Apr 27, 2021 8:29 pm What happens when you try to load zaxxon cas?
Have you tested the same Zaxxon by adc?
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

Posted: Wed Apr 28, 2021 4:53 am
by fpganoob
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.

Re: Spectravideo SV-328

Posted: Wed Apr 28, 2021 7:43 am
by LamerDeluxe
fpganoob wrote: Wed Apr 28, 2021 4:53 am 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.
That could be, I will test some more, thanks!

Re: Spectravideo SV-328

Posted: Sat May 01, 2021 12:04 pm
by fpganoob
Later version build the same April 25 :

Changelog :
// - Rewind on CAS load or Reset
// - LED_Disk on Tape Load

Re: Spectravideo SV-328

Posted: Sat May 01, 2021 11:24 pm
by pgimeno
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.

Re: Spectravideo SV-328

Posted: Sun May 02, 2021 7:59 am
by fpganoob
pgimeno wrote: Sat May 01, 2021 11:24 pm I've noticed that after finishing loading, there are remaining bytes before the next header starts. Could that be an issue?
Sure, must be only 0x00(1Byte) between end block and the next header starts.
https://wiki.kasettilamerit.fi/wiki/ind ... ectravideo
pgimeno wrote: Sat May 01, 2021 11:24 pm 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.
Sure, Basic supports "sound on".

Re: Spectravideo SV-328

Posted: Sun May 02, 2021 4:39 pm
by pgimeno
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
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.

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.
fpganoob wrote: Sun May 02, 2021 7:59 am Sure, Basic supports "sound on".
Thanks, it's pretty clear what the issue is now.

Re: Spectravideo SV-328

Posted: Sun May 02, 2021 5:38 pm
by fpganoob
pgimeno wrote: Sun May 02, 2021 4:39 pm
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
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.
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.

Re: Spectravideo SV-328

Posted: Sun May 02, 2021 9:15 pm
by pgimeno
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.
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.

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)
Usage: python fixZaxxon.py < "Zaxxon (1982)(Coleco)[h Buggy Software][CLOAD + RUN].cas" > ZaxxonFixed.cas

Re: Spectravideo SV-328

Posted: Mon May 03, 2021 2:23 pm
by kathleen
Thank you @pgimeno,

Just tried on my side and Zaxxon, after having it fixed with your python code, works like a charm ! Brillant !

Re: Spectravideo SV-328

Posted: Thu May 06, 2021 5:16 pm
by Moondandy
Does this system support a RTC?

Re: Spectravideo SV-328

Posted: Mon May 10, 2021 7:37 pm
by lroby74
OSD menù working only on HDMI?
Don't show on CRT RBG TV that i use for most of cores :(

Re: Spectravideo SV-328

Posted: Mon May 10, 2021 8:41 pm
by caffeinekid
Any chance of fast loading of tapes being added? I left my tape loading patience in the late 80s :)

If not then I understand but it would be awesome if it's possible.

Re: Spectravideo SV-328

Posted: Mon May 10, 2021 8:49 pm
by alanswx
I think I broke the core when I upgraded sys and released it. I will try to fix it and I will check the video.

Re: Spectravideo SV-328

Posted: Mon May 10, 2021 10:17 pm
by alanswx
I think I fixed the Cassette problem and some timing issues. The video seemed to work for me on VGA.

Re: Spectravideo SV-328

Posted: Sun May 16, 2021 8:03 am
by lroby74
alanswx wrote: Mon May 10, 2021 10:17 pm I think I fixed the Cassette problem and some timing issues. The video seemed to work for me on VGA.
Hello,
do you have a way for testing OSD on a 15khz display please?

Re: Spectravideo SV-328

Posted: Sun May 16, 2021 1:31 pm
by fpganoob
try video_mode = 8

Re: Spectravideo SV-328

Posted: Sun May 16, 2021 3:40 pm
by MiSTer_Kirk
lroby74 wrote: Sun May 16, 2021 8:03 am
alanswx wrote: Mon May 10, 2021 10:17 pm I think I fixed the Cassette problem and some timing issues. The video seemed to work for me on VGA.
Hello,
do you have a way for testing OSD on a 15khz display please?
OSD working fine on my Philips CM8833 Mk2 CRT.

IMG-20210516-162851.jpg
IMG-20210516-162851.jpg (88.77 KiB) Viewed 7147 times

Re: Spectravideo SV-328

Posted: Sun May 16, 2021 3:56 pm
by lroby74
SV-328 release 13 april 2021 works (it shows OSD on 15Khz CRT TV) while release 10 may 2021 doesn't show OSD on it..

Re: Spectravideo SV-328

Posted: Sun May 16, 2021 4:51 pm
by MiSTer_Kirk
That IS the May 10th version.

Svi328_20210510.rbf

Re: Spectravideo SV-328

Posted: Mon May 17, 2021 12:18 am
by caffeinekid
Is update all pulling this down ok? I ran the script but I can't find the core. It's fine if it needs a manual install, just curious. :)

Re: Spectravideo SV-328

Posted: Mon May 17, 2021 10:04 am
by akeley
MiSTer_Kirk wrote: Sun May 16, 2021 3:40 pm OSD working fine on my Philips CM8833 Mk2 CRT.
I also don't get the OSD (15Khz Trinitron via Direct Video). Could you share your ini video settings?

Re: Spectravideo SV-328

Posted: Mon May 17, 2021 2:40 pm
by MiSTer_Kirk
akeley wrote: Mon May 17, 2021 10:04 am
MiSTer_Kirk wrote: Sun May 16, 2021 3:40 pm OSD working fine on my Philips CM8833 Mk2 CRT.
I also don't get the OSD (15Khz Trinitron via Direct Video). Could you share your ini video settings?
Sure, could you tell me the location of the ini file ?
I had a brief look, before I posted this, but couldn't find one.

Re: Spectravideo SV-328

Posted: Mon May 17, 2021 4:36 pm
by akeley
I mean the video settings in the main MiSTer ini, which is in the root of your SD card (or /media/fat/ looking from Win).

Re: Spectravideo SV-328

Posted: Tue May 18, 2021 1:27 am
by MiSTer_Kirk
I'm not going to post the whole ini, most of it doesn't affect the CRT.

[MiSTer]
volumectl=1
key_menu_as_rgui=0
forced_scandoubler=0
ypbpr=0
composite_sync=1
vga_scaler=0
hdmi_audio_96k=0
keyrah_mode=0x18d80002
vscale_mode=0
vscale_border=0
;bootscreen=0
mouse_throttle=10
rbf_hide_datecode=0
menu_pal=0
hdmi_limited=0
direct_video=0
fb_size=0
fb_terminal=1
osd_timeout=3600
osd_rotate=0

Re: Spectravideo SV-328

Posted: Fri Jun 18, 2021 3:01 pm
by sjuswede
Very interesting. I still have my SV318, and a pile of tapes to convert to cas files. How do I find this core? Will it install through update all, or do I need to install it manually?

Re: Spectravideo SV-328

Posted: Fri Jun 18, 2021 3:10 pm
by zakk4223
sjuswede wrote: Fri Jun 18, 2021 3:01 pm Very interesting. I still have my SV318, and a pile of tapes to convert to cas files. How do I find this core? Will it install through update all, or do I need to install it manually?
It is part of the normal update/update_all. If you run that you should have it.

Re: Spectravideo SV-328

Posted: Fri Dec 03, 2021 5:25 pm
by HKisd
I am having a strange problem with SVI-328 core. Joystick fire button does not seem to work in any game. I tried Franctic Freddy, Sector Alpha, Goonies, Armoured Assault and every time same problem. Gamepad directional buttons work fine, but fire button is not working. I can use space from keyboard and that works.

I am using PS2 controller connected via USB adapter and it has worked fine in every other core and all buttons work in controller test and in menu.

Other than that, SVI-328 core works great and brings back many memories as it was my first computer.