Jump to content

Photo

MG Program copyright protection


57 replies to this topic

#26 atrax27407 OFFLINE  

atrax27407

    Stargunner

  • 1,011 posts

Posted Fri Apr 13, 2018 6:55 PM

Wasn't me.



#27 FALCOR4 OFFLINE  

FALCOR4

    Space Invader

  • 32 posts
  • Location:California

Posted Fri Apr 13, 2018 8:56 PM

Thank you for sharing this!!!  A great piece of history and very sophisticated for it's time..  Now I wonder, who was it :?



#28 RXB OFFLINE  

RXB

    River Patroller

  • 3,148 posts
  • Location:Vancouver, Washington, USA

Posted Sat Apr 14, 2018 12:36 AM

Quintin Torrmanen used Copy C to disassemble all the really hard disk with copy protections methods.

 

I do not think more then 1 stumped him.



#29 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,617 posts
  • Location:Germany

Posted Sun Apr 15, 2018 12:59 AM

Quintin Torrmanen used Copy C to disassemble all the really hard disk with copy protections methods.
 
I do not think more then 1 stumped him.


ok, have to ask this. What is Copy C ?

#30 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Sun Apr 15, 2018 1:05 AM

SNUG's sophisticated disk copier. It can analyse non-standard track setups and recreate them.

The MG measures are still beyond its capabilities, though. Mind that you can load the MG disks only with WD17xx-based controllers; the HFDC won't do, so they are quite specific.

 

Edit: Have a look at https://www.s-n-u-g....il/index_en.php


Edited by mizapf, Sun Apr 15, 2018 3:19 AM.


#31 acadiel OFFLINE  

acadiel

    Stargunner

  • Topic Starter
  • 1,402 posts
  • www.hexbus.com
  • Location:USA

Posted Sun Apr 15, 2018 4:26 PM

SNUG's sophisticated disk copier. It can analyse non-standard track setups and recreate them.

The MG measures are still beyond its capabilities, though. Mind that you can load the MG disks only with WD17xx-based controllers; the HFDC won't do, so they are quite specific.

 

Edit: Have a look at https://www.s-n-u-g....il/index_en.php

 

 

Copy-C actually *does* copy the MG programs.  I was able to duplicate the disk from my 5.25" original over to a 3.5" and it worked.


  • RXB likes this

#32 RXB OFFLINE  

RXB

    River Patroller

  • 3,148 posts
  • Location:Vancouver, Washington, USA

Posted Sun Apr 15, 2018 4:39 PM

ok, have to ask this. What is Copy C ?

Here is a copy of COPY-C

Attached Files



#33 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Sun Apr 15, 2018 4:51 PM

Fascinating.

 

I wonder how it got along with the special tracks like 11. As said above, you cannot write a track using the Write Track operation for arbitrary data, because the controller intercepts the special values to create the address marks or the CRC values. For example, if your data contains the byte F7, bad luck. From what I found in the MAME log, it reads the source track, finds out what sectors are on it, together with their sequence and sizes, formats the target track, and writes the sectors.

 

Perhaps the track 11 contains a single sector; the specs show values for the length up to 3, which means 1024, but I don't know what happens when you set them to 4 or 5 (would mean 2K or 4K).

 

I still have to understand how to decode track 11. The HFE decoding works perfectly on all other HFE images, so I cannot be too wrong, but it completely fails at that track.



#34 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,672 posts

Posted Sun Apr 15, 2018 6:06 PM

In a conversation I had with Christopher Winter sometime after he wrote Copy-C, he told me that the original reason he wrote the program was specifically to be able to copy the MG disks. IIRC, it was originally written for the Atronic disk controller (and was called Copy-A), the CorComp version (Copy-C) came later. He didn't like the Myarc floppy controllers, so there was never a plan to make a Myarc compatible version of the program.


  • RXB likes this

#35 atrax27407 OFFLINE  

atrax27407

    Stargunner

  • 1,011 posts

Posted Sun Apr 15, 2018 8:11 PM

I wonder if Will McGovern's track copier - SCREAMER - would work. It is written expressly for Myarc controllers.



#36 RickyDean ONLINE  

RickyDean

    Dragonstomper

  • 867 posts

Posted Mon Apr 16, 2018 8:42 AM

 

 

Copy-C actually *does* copy the MG programs.  I was able to duplicate the disk from my 5.25" original over to a 3.5" and it worked.

Yes, back in the 90's I copied my MG disks, to keep the originals pristine. Still have those disk, somewhere.



#37 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Mon Apr 16, 2018 8:46 AM

I wonder if Will McGovern's track copier - SCREAMER - would work. It is written expressly for Myarc controllers.

 

This should be highly depending on the card - the HFDC uses a totally different chip (HDC9234) than the DDCC-1 (WD1770).



#38 BeeryMiller ONLINE  

BeeryMiller

    Moonsweeper

  • 437 posts
  • Location:Campbellsburg, KY

Posted Mon Apr 16, 2018 5:45 PM

 

This should be highly depending on the card - the HFDC uses a totally different chip (HDC9234) than the DDCC-1 (WD1770).

 

Back in the 90's with a bit of guidance from Barry Boone, I was able to get the Myarc HFDC to do track reads and display the data by viewing a buffer.  I had the 9216B chip on that card, as well as a 32K ram chip upgrade.  I was able to see all the inbetween track information as well as the individual sector information.  Unfortunately, I could read the same track multiple times, and the contents of the buffer would be offset differently.  I was never able to grasp the "why" the order or determine how to identify specific sectors starting and stopping from the limited documentation of the day.  My intent had been to add the Myarc HFDC support to HyperCopy.

 

Beery



#39 apersson850 OFFLINE  

apersson850

    Moonsweeper

  • 491 posts

Posted Tue Apr 17, 2018 3:52 AM

I have Pascal and assembly programs that copies Advanced Diagnostics as well as Explorer. They assume a CorComp disk controller, as that's what I have.

I wrote these programs for the same reason as Will McGovern did. I wanted to make my rightful backup copy of the disks I paid for.

Today, there's nobody to hurt any longer, so if you want them, I can publish the source files. They are mine, since I did them myself.

 

Without looking in the code, I remember that these disks used a combination of odd sector numbers in tracks (like 0, 5, 10, 15 etc. instead of 0, 1, 2, 3 and so on) and tracks with unformatted storage. This is not the same thing as having one big sector in the track. Both schemes would confuse the normal controller DSR. As far as I can remember, it's only one of them that uses unformatted tracks.

My program can also copy various disks from Quality 99 Software (Maurice E.T. Swinnen). They didn't use unformatted storage, but oddly numbered sectors.

The copied disks are of course identical, i.e. just as copy protected as the original.

 

I can add that in my software, the assembly part performs four functions:

  1. Write track, i.e. formatting a track.
  2. Read track (unformatted).
  3. Write sector (any sector number).
  4. Read sector (any sector number).

The Pascal part is doing the analysis of the read data, in order to create an identical set of sectors, or an unformatted track with data.


Edited by apersson850, Tue Apr 17, 2018 5:35 AM.


#40 acadiel OFFLINE  

acadiel

    Stargunner

  • Topic Starter
  • 1,402 posts
  • www.hexbus.com
  • Location:USA

Posted Tue Apr 17, 2018 6:41 AM

I have Pascal and assembly programs that copies Advanced Diagnostics as well as Explorer. They assume a CorComp disk controller, as that's what I have.

I wrote these programs for the same reason as Will McGovern did. I wanted to make my rightful backup copy of the disks I paid for.

Today, there's nobody to hurt any longer, so if you want them, I can publish the source files. They are mine, since I did them myself.

 

Without looking in the code, I remember that these disks used a combination of odd sector numbers in tracks (like 0, 5, 10, 15 etc. instead of 0, 1, 2, 3 and so on) and tracks with unformatted storage. This is not the same thing as having one big sector in the track. Both schemes would confuse the normal controller DSR. As far as I can remember, it's only one of them that uses unformatted tracks.

My program can also copy various disks from Quality 99 Software (Maurice E.T. Swinnen). They didn't use unformatted storage, but oddly numbered sectors.

The copied disks are of course identical, i.e. just as copy protected as the original.

 

I can add that in my software, the assembly part performs four functions:

  1. Write track, i.e. formatting a track.
  2. Read track (unformatted).
  3. Write sector (any sector number).
  4. Read sector (any sector number).

The Pascal part is doing the analysis of the read data, in order to create an identical set of sectors, or an unformatted track with data.

 

 

You should load the HFE files I posted in this thread in the HxC Floppy software track viewer.  It has a very interesting track viewer that shows you a pictorial representation of how these disks were laid out.  And yes, there was one that had completely unformatted tracks. :)  One had 1K sectors, another had 1K and 512 byte sectors, and a third had non standard sectors plus unformatted direct-write tracks.



#41 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Tue Apr 17, 2018 8:40 AM

Back in the 90's with a bit of guidance from Barry Boone, I was able to get the Myarc HFDC to do track reads and display the data by viewing a buffer.  I had the 9216B chip on that card, as well as a 32K ram chip upgrade.  I was able to see all the inbetween track information as well as the individual sector information.

 

Does it show the inter-sector gaps? When I re-implemented the HDC9234 in MAME, I was not quite sure how to interpret the specification - see below. From what I understood, it only reads the sector preambles and the sector contents, so this is the way I implemented it. I have a HFDC at home, but I don't know whether it is still working, and this makes me a bit unsure to plug it into my PEB with my Geneve. Maybe I should give it a try. On the other hand, I would need a program that actually calls the Read Track function.

Attached Files



#42 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Tue Apr 17, 2018 8:57 AM

You should load the HFE files I posted in this thread in the HxC Floppy software track viewer.

 

Many thanks for that tool! This may help me understand what is the problem with those strange tracks, because I can now compare how HxC sees the track. I should have asked earlier, right.



#43 BeeryMiller ONLINE  

BeeryMiller

    Moonsweeper

  • 437 posts
  • Location:Campbellsburg, KY

Posted Tue Apr 17, 2018 10:58 AM

 

Does it show the inter-sector gaps? When I re-implemented the HDC9234 in MAME, I was not quite sure how to interpret the specification - see below. From what I understood, it only reads the sector preambles and the sector contents, so this is the way I implemented it. I have a HFDC at home, but I don't know whether it is still working, and this makes me a bit unsure to plug it into my PEB with my Geneve. Maybe I should give it a try. On the other hand, I would need a program that actually calls the Read Track function.

The software I wrote did show all the between sector gap information.  It was just something I never understood.

 

There were some bits that were very obscure Barry figured out that passed information to the 9234 for the track commands.  I might be lucky enough to have the original 9234 manual I made those notes in that detailed what was needed.  I will try and check this evening to see if I have those notes.  If not, that is a piece of history lost...........

 

I do know I used Bruce Hellstrom's memory viewer program I called up after the track read to "see" the information.  



#44 BeeryMiller ONLINE  

BeeryMiller

    Moonsweeper

  • 437 posts
  • Location:Campbellsburg, KY

Posted Tue Apr 17, 2018 6:09 PM

My original hardware manual that had my detailed notes was not where I thought it was for the 9234.  My non marked up manuals were there however along with some other manuals if they would assist in any work.

 

I do however have some additional manuals that I do not see up on whtech.

 

TN 6-5 Programming the HDC 9224 Universal Disk controller

TN 6-2 Improved Functionality Simplifies Disk Controller Design

 

Right now, I am wondering where that marked up manual is.   Hmmmm.



#45 apersson850 OFFLINE  

apersson850

    Moonsweeper

  • 491 posts

Posted Wed Apr 18, 2018 1:35 AM

 

 

You should load the HFE files I posted in this thread in the HxC Floppy software track viewer.  It has a very interesting track viewer that shows you a pictorial representation of how these disks were laid out.

You mean I could look at the "artwork" of the disk using that software? Good to get an overview, I'm sure. If I wanted to, I could quite easily expand my own software to do the same. After all, it does read a track, figure out which sectors are there, formats an identical track on the copy diskette, reads the "funny" sectors from the original and copies them to the new disk. Automatically. So there's already some analytical capability in my program.



#46 acadiel OFFLINE  

acadiel

    Stargunner

  • Topic Starter
  • 1,402 posts
  • www.hexbus.com
  • Location:USA

Posted Wed Apr 18, 2018 10:24 AM

You mean I could look at the "artwork" of the disk using that software? Good to get an overview, I'm sure. If I wanted to, I could quite easily expand my own software to do the same. After all, it does read a track, figure out which sectors are there, formats an identical track on the copy diskette, reads the "funny" sectors from the original and copies them to the new disk. Automatically. So there's already some analytical capability in my program.


Anders, you sure have some amazing treasures in your arsenal! :)

#47 RickyDean ONLINE  

RickyDean

    Dragonstomper

  • 867 posts

Posted Wed Apr 18, 2018 10:50 AM

My original hardware manual that had my detailed notes was not where I thought it was for the 9234.  My non marked up manuals were there however along with some other manuals if they would assist in any work.

 

I do however have some additional manuals that I do not see up on whtech.

 

TN 6-5 Programming the HDC 9224 Universal Disk controller

TN 6-2 Improved Functionality Simplifies Disk Controller Design

 

Right now, I am wondering where that marked up manual is.   Hmmmm.

Hope you find it and post it soon, I've 'googled' those names and haven't been able to locate them. We need them archived  :grin:



#48 BeeryMiller ONLINE  

BeeryMiller

    Moonsweeper

  • 437 posts
  • Location:Campbellsburg, KY

Posted Wed Apr 18, 2018 1:43 PM

Hope you find it and post it soon, I've 'googled' those names and haven't been able to locate them. We need them archived  :grin:

 

Those two manuals I have and I know exactly where they are.  I will either scan them tonight on my scanner, or tomorrow morning on the work scanner.

 

Beery



#49 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Fri Apr 20, 2018 4:13 PM

Whatcha say?

 



#50 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,269 posts
  • Location:Germany

Posted Sat Apr 21, 2018 4:06 AM

The issue was indeed in the read_track implementation in MAME. Funnily, I found it after my own posting: http://atariage.com/...uals/?p=4011090

 

Reading starts with the leading edge of the first encountered index pulse and continues until the next index pulse. All gap, header, and data bytes are assembled and transferred to the data register and DRQs are generated for each byte. The accumulation of bytes is synchronized to each address mark encountered.

 

You probably know how it feels when you say something and then wonder "ehm, do we actually do that?".

 

Indeed, when I looked into the code, I found that there was a resync, but only for MFM, so I added the FM variant. Of course, it did not immediately work (you know that as well, when you seemingly found the solution, and the solution refused to solve). With this resync, a fraction of a byte remains, and it must be decided whether to deliver or to dispose of it. I increased the threshold (which means you need more bits for the fractioned byte to count as a full byte), and then...

 






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users