Schrijver
| 12600 bps?
|
manuel msx guru Berichten: 3447 | Geplaatst: 07 Oktober 2007, 20:58   |
Quote:
| 2)Volume is finally adjustable!
|
But this is quite irrelevant, because the cassette port only looks at changes in slope.
Quote:
|
3)If the original data have been compressed with an mp3 algorithm,we can have a smaller file,smaller in size that can easily be loaded faster (I have seen this happening on spectrum machines,I also have spectrum machines and this can be done)
|
mp3 works, but is not very suitable for it. A run lenght compression algorithm would make much more sense, I think. Perfect cassette data is block waves.
Quote:
|
So anything is possible,bios has nothing to do with it.
|
If you do a plain load command in BASIC, you use the BIOS routines that read out the cassetteport bit. If the routine is slower than the change-frequency of that bit, you have a limit there. And that limit is 5520 baud for the BIOS I tried. |
|
cax
 msx professional Berichten: 1017 | Geplaatst: 07 Oktober 2007, 21:14   |
Quote:
|
3)If the original data have been compressed with an mp3 algorithm,we can have a smaller file,smaller in size that can easily be loaded faster (I have seen this happening on spectrum machines,I also have spectrum machines and this can be done)
|
Not everything is that simple as you think.
Compressing to mp3 has it's own limitations. I experimented with this a lot while working on MicroWaver, so I know what I am talking about.
If we are talking about square waves, then mp3 compression (it's a lossy compression, right ?) will break the edges of the squares beyond any hope to repair them. On the other hand, mp3 deals fine with sine wave that also can be used for data loading, but at high loading speeds you cannot draw a sine wave using the resolution of 44100 Hz.
In short, I've managed to create a 320kbps MP3s and load them flowlessly from my DVD box, but their size wasn't much less than the size of original WAV files.
Quote:
| You could easily plug a cd player in the msx and send the output of cd player
|
Bad luck here again. I've tested a lot of CD players, but no one of them played in a stable way a high frequency square wave. 3200bps (at this rate you still can draw sine-alike wave) was a maximum.
I saw somewhere explanation that talks about average portable CD player's electronics always generates noises while playing square waves.
But I have to agree that any device that can produce a clean sound from high-frequency square wave without pre-filtering it (on my DivX-DVD I just switch off all sound processing) should work perfectly.
|
|
decicoder msx novice Berichten: 18 | Geplaatst: 09 November 2007, 11:03   |
Loading at 12.600 bps via cassette input is not any joke.
In fact, it's now posible to load at 19200 bps.
You can try this wav for loading ManicMiner:
http://personal.auna.com/casariche/otla/miner4msx_19200bps.zip
Type for loading:
CLEAR 100, 34048
BLOAD "CAS:",R
After 18 seconds you'll have Manic Miner runnig on your MSX machine.
(No compresion techniques has been used)
This wav has been generated with the OTLA tools.:
http://personal.auna.com/casariche/otla/otla1.htm
OTLA project (not yet finished) is trying to make wavs and mp3 for being loaded to ZX Spectrum, Amstrad CPC an MSX .
How does it work?
Command [Bload "cas:",r] will load a custom loader (it takes 6 seconds at standard 2400 bps speed of msx). Then the loader reads directly the cassette port loading at hi speed (from 12600 to 27428 bps (only on emulator openMSX))
|
|
ARTRAG msx master Berichten: 1686 | Geplaatst: 09 November 2007, 14:35   |
Great! Respect!
|
|
PingPong msx professional Berichten: 988 | Geplaatst: 10 November 2007, 02:05   |
@decicoder: How the load differ from the bios loader? What's it's format?
|
|
decicoder msx novice Berichten: 18 | Geplaatst: 12 November 2007, 11:37   |
Format is more alike to ZX Spectrum bios loading rutine but it is diferent too
First there is a pilot guide tone with 2756 Hz frequency (at least 8 cicles)
Pilot guide ends with two syncronization cycles (about 7350 HZ) for detecting polarity and starting to load data porpouses.
Then data bytes are encoded.
One byte is not encoded as 8 bits but as a secuence or 4 symbols (00 01 10 or 11 )
One single cycle in the audio wav encodes one symbol. Symbols are distinguished with diferent frequencies
For instance (for 44100 hz sampling frequency wav and 12600 bps speed):
loading n bytes with value x00 will result a 11025 Hz frequency
x55 (01010101 binary) will result a 7350 Hz frequency
xaa (10101010 binary) will result a 5512 Hz frequency
xff (11111111 binary) will result a 4410 Hz frequency
Finally for detecting end of trasnmision there are tail cycles about 3000 Hz
Maybe the graphic in this page is a better explanation
http://personal.auna.com/casariche/docs/standardcargarapida.htm
In MSX I have made succesful loading tests on a Philips VG8020 and Sony HitBit 55.
|
|
cax
 msx professional Berichten: 1017 | Geplaatst: 12 November 2007, 12:14   |
>it takes 6 seconds at standard 2400 bps speed of msx
AFAIK any MSX can bload at 3200 bps (I use this fact in MicroWAVer), so you probably can gain ~1 second on custom loader.
|
|
jltursan msx professional Berichten: 873 | Geplaatst: 12 November 2007, 15:35   |
Amazing!. Has someone tried with 320Kbps MP3 compression?; maybe this way some more size could be squeezed...
|
|
ARTRAG msx master Berichten: 1686 | Geplaatst: 12 November 2007, 17:40   |
@decicoder
your transmission strategy is a simplified 4-FSK scheme.
MFSK transmission can be very powerful: if you exploit all the distinguishable frequencies as data symbols
the data rate can increase even more.
I see that you can distinguish the frequencies
11025 Hz, 7350 Hz, 5512 Hz, 4410 Hz, 3000 Hz, 2756 Hz
that can encode log6_2 bits = 2,58 bits/symbol
Having 8 frequencies you can encode 3bits/symbol but even
fractional bits can be transmitted encoding symbols jointly
eg. you can encode 5 bits on 2 symbols, this gives 2,5 bit per symbol
e.i.
00000 - f0,f0
00001 - f0,f1
00010 - f0,f2
00011 - f0,f3
00100 - f0,f4
00101 - f0,f5
00110 - f1,f0
00111 - f1,f1
01000 - f1,f2
etc etc
do you see the extra room for speed increase?
|
|
manuel msx guru Berichten: 3447 | Geplaatst: 12 November 2007, 18:53   |
Wow, with the "fullspeedwhenloading" option of openMSX it is loaded in an instant!
Really amazing stuff!!!
|
|
|
|
|