12600 bps? (General discussion MSX Forum)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 140 guests and 3 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

General discussion - 12600 bps?

Goto page ( Previous Page 1 | 2 )
Author

12600 bps?

manuel
msx guru
Posts: 3380
Posted: October 07 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
Posts: 1011
Posted: October 07 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 friend
Posts: 15
Posted: November 09 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
Posts: 1592
Posted: November 09 2007, 14:35   
Great! Respect!

PingPong
msx professional
Posts: 877
Posted: November 10 2007, 02:05   
@decicoder: How the load differ from the bios loader? What's it's format?
decicoder
msx friend
Posts: 15
Posted: November 12 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
Posts: 1011
Posted: November 12 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
online
msx professional
Posts: 845
Posted: November 12 2007, 15:35   
Amazing!. Has someone tried with 320Kbps MP3 compression?; maybe this way some more size could be squeezed...
ARTRAG
msx master
Posts: 1592
Posted: November 12 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
Posts: 3380
Posted: November 12 2007, 18:53   
Wow, with the "fullspeedwhenloading" option of openMSX it is loaded in an instant!

Really amazing stuff!!!
 
Goto page ( Previous Page 1 | 2 )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.