P64
#10
(12-31-2013, 07:07 PM)BeRo Wrote: I'm the designer of the P64 file format, and one of the authors of the new 1541 drive emulation logic code in VICE (and Micro64).

And why P64 files are not big:

  1. The P64 files contains the raw NRZI flux pulses, but only the actual existing NRZI flux pulses in a sparse array list (and as linked list while emulation run time, for fast insertions and deletions of NRZI flux pulses at emulated write accesses), and not in a dense array list.

What do you mean by "existing"? SCP generates a list of flux transitions, representing every transition that occurs. This is the only way to provide complete flux data support. Are you building data as it is used or something? Wouldn't formatting a disk fill in all of the data?


(12-31-2013, 07:07 PM)BeRo Wrote:
  • And the P64 files are encoded with a range coder, so they are basically compressed. The range coder stuff is also descripted in the P64 file specification.
  • And the 1541 drive electronics has a lowpass-filter-like valid pulse detector, which only passes pulses that are at least 2.5 microseconds in duration. Any pulses than 2.5 microseconds are suppressed, so this effectively rejects any noise above 400 kHz. So 16 MHz sampling rate at circa 300 RPM +/- are really more than enough here.

    That is not quite correct. Pulse widths can be less than 1 microsecond and as long as tens of thousands of microseconds. The LPF circuitry ends up helping invalid flux times being caused with low flux durations, which is why there is some much of a drive to drive difference. This was corrected by the 2nd version of the ASIC w/preamp circuity used in the 1541-II and 1571 drives. There are some protections (weakbit related) that must have these widths available or you won't have weakbit support. SCP can duplicate all of the Mindscape weakbit programs (using a single revolution, not comparing multiple revolutions) because I do support the correct range that is available from the data separator. I spent a considerable amount of time reverse engineering the ASIC and comparing that with information I got from Commodore back in the 80's.
    Reply


    Messages In This Thread
    P64 - by LordCrass - 12-30-2013, 10:31 AM
    RE: P64 - by admin - 12-30-2013, 10:51 AM
    RE: P64 - by LordCrass - 12-30-2013, 12:43 PM
    RE: P64 - by admin - 12-30-2013, 12:51 PM
    RE: P64 - by jupp - 12-30-2013, 04:55 PM
    RE: P64 - by admin - 12-31-2013, 05:54 PM
    RE: P64 - by BeRo - 12-31-2013, 07:07 PM
    RE: P64 - by admin - 12-31-2013, 08:09 PM
    RE: P64 - by LordCrass - 12-31-2013, 08:55 PM
    RE: P64 - by BeRo - 12-31-2013, 09:05 PM
    RE: P64 - by LordCrass - 12-31-2013, 07:41 PM
    RE: P64 - by BeRo - 12-31-2013, 07:44 PM
    RE: P64 - by admin - 12-31-2013, 08:43 PM
    RE: P64 - by admin - 12-31-2013, 10:12 PM
    RE: P64 - by BeRo - 12-31-2013, 11:54 PM
    RE: P64 - by admin - 01-01-2014, 01:51 PM
    RE: P64 - by BeRo - 01-01-2014, 10:36 PM
    RE: P64 - by admin - 01-01-2014, 11:01 PM
    RE: P64 - by BeRo - 01-02-2014, 05:06 AM
    RE: P64 - by admin - 01-02-2014, 08:16 AM
    RE: P64 - by LordCrass - 01-02-2014, 09:21 AM
    RE: P64 - by admin - 01-02-2014, 12:49 PM
    RE: P64 - by LordCrass - 01-02-2014, 03:57 PM
    RE: P64 - by admin - 01-02-2014, 05:03 PM



    Users browsing this thread: 2 Guest(s)