English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 14 October 2018, 04:58   #1
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 495
MFM en/de-coding space and (dynamic?) fragmental datastream?

That was the best I could do for the topic. Read through and suggest something better if you want to improve it.

Ok, so I have started this in a backwards fashion: I wondered if the 2:1 standard encoding was the only possible way to store data on a floppy. Without breaking any 'rules'. The rules as I understand them is no more than one "1" bit in sequence and no more than three "0" bits in sequence. If this is wrong (or needs more qualifiers) then the rest below is just garbage.

I have looked at encoded mfm data, trying to find all valid combinations. This in itself is kinda meaningless unless you restrict yourself to a certain size for the data you look at.
I first looked at 8 bit groupings which gave a worst case worse than the normal encoding rules (but an average that was probably a good deal better if you could find a way to encode and decode the stream).
Next I tried with 16 bit groupings and for worst case there is (if my manual calculations are correct) 270 valid encoding patterns.
Worst case being that the previous 3 bit prefix was "000" and so your 16-bit pattern begins with a "1". I haven't checked the other cases ("001", "010", "100", "101") but they had more patterns for 8 bits so I'll be ever so bombastic and assume they are better.

How do you construct a datastream using base-270 numbers? I know arithmetic encoding uses sub-bit math, and IIRC MIME-encoding uses something that fits into less space. Can you also do it with varying base numbers? Some of the prefixes might generate more than 300 valid patterns which could increase the storage density nicely if the algorithm doesn't break down.

Now, this might not be practically possible, or just 30 years too late. You can browse the encodings I typed out.
And I have this feeling that I must be missing something major here...

(Bonus Q: What is the rule for encoding the first bit in the mfm stream? Since there is no previous bits I mean. Or does it depend on the sync mark?)
Attached Files
File Type: txt mfm-16.txt (5.8 KB, 23 views)
NorthWay is offline  
Old 14 October 2018, 11:03   #2
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,234
Hi NorthWay, check some Psygnosis title for a 'dense' MFM (Nitro come to my mind).

Or a different 'trackdisk.device' (I dont remember the name..) that give you 14 sectors/track.


EDIT:
Quote:
Originally Posted by NorthWay View Post
(Bonus Q: What is the rule for encoding the first bit in the mfm stream? Since there is no previous bits I mean. Or does it depend on the sync mark?)
What's the 'first bit'?
During writing the first bit in absolute is rewritten in the following rotation (unless it uses short tracks).
This is why you put a pattern '010101010 .. "before the sync mark and terminate with 0 in stream, so whatever the amount of bits before sync you will have a valid MFM pattern.
If you mean the first bit after sync, then just follow the MFM rules


EDIT2: found!
floppy.device, in Aminet floppy43.lha (but it is not the only one, I remember of others in the end of the 80s).
I had also made my own version of track-writer for dense MFM, but lost in time..

Last edited by ross; 14 October 2018 at 11:25.
ross is offline  
Old 14 October 2018, 20:46   #3
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 495
Quote:
Originally Posted by ross View Post
Hi NorthWay, check some Psygnosis title for a 'dense' MFM (Nitro come to my mind).

Or a different 'trackdisk.device' (I dont remember the name..) that give you 14 sectors/track.
Do you know if they use a regular mfm encoding or an alternative? And/or just longer tracks and (Nitro written on a slower drive?
NorthWay is offline  
Old 15 October 2018, 00:05   #4
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,234
Quote:
Originally Posted by NorthWay View Post
Do you know if they use a regular mfm encoding or an alternative? And/or just longer tracks and (Nitro written on a slower drive?
Both non-regular MFM encoding and practically standard track length (Nitro==$189d DMA words, floppy.device inevitably standard).
ross is offline  
Old 15 October 2018, 00:22   #5
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 495
Quote:
Originally Posted by ross View Post
Both non-regular MFM encoding and practically standard track length (Nitro==$189d DMA words, floppy.device inevitably standard).
How interesting! Is there any description on how this is achieved? What did the cracks of Nitro do to fit on disk?
NorthWay is offline  
Old 15 October 2018, 00:32   #6
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,234
Quote:
Originally Posted by NorthWay View Post
How interesting! Is there any description on how this is achieved? What did the cracks of Nitro do to fit on disk?
No description, but there is some "0000" patterns.
In the past I had done tests using 4 "0" in a row and worked, only you had to use right precompensation on writing otherwise you had problems on the internal tracks.
And sure was more prone to sporadic read errors, but I do not remember much, too many years have passed..

Nitro fit on one disk because is packed with shrinkler, ask Galahad for the challenge
ross is offline  
Old 15 October 2018, 07:21   #7
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 36
Posts: 2,618
Quote:
Originally Posted by NorthWay View Post
How interesting! Is there any description on how this is achieved? What did the cracks of Nitro do to fit on disk?
All cracks (except Galahad's) either removed the intro or had it on a second disk.
Hewitson is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Found: Space Baller] Bouncing ball in space? Kada Looking for a game name ? 23 06 April 2018 04:10
Dynamic Drums illy5603 request.Music 2 21 September 2017 22:39
Dynamic HDF - Please explain ransom1122 support.WinUAE 18 04 January 2017 08:32
Problem with Dynamic HDF tero support.WinUAE 13 27 October 2009 18:33
Blitter MFM decoding Photon Coders. General 14 16 March 2006 12:24

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 06:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.07964 seconds with 14 queries