![]() |
questions to di and did debugger commands
Code:
>di r 0 2. what are the numbers and letters stand for? DSKLEN: drive 0 motor on cylinder 0 sel yes rw mfmpos 52533/101344 5295 5555 5255 5555|5495 5555 5555 5555 5495 5555 5555 5555 5295 5555 5255 5555 5295 side 0 dma 2 off 1 word 5555 pt 00002064 len 9CBE bytr 80AA adk 1100 sync 0000 3. also with Code:
>did 4 did <log level> Enable disk logging. 5. for what is this breakpoint and logging feature helpful? maybe to understand mfm/gcr-encoding? or disc data structure? |
Quote:
Quote:
MFMPOS = current bit position of track/total length. Raw bit stream dump (| = current position) Quote:
Quote:
|
I try to understand:
first line: DSKLEN: - info label, like SYNC: drive 0 - ok, it's df0: motor on - motor state cylinder 0 - track 0, side 0 (info) sel yes rw - ? mfmpos 52533/101344 - ok, current bit position total length: 101344? 1 track = 11*512 Bytes*8= 45056 Bits MFM=11*(2*(64Byte+512Byte))*8=101376 Bits second line: data - 17 words, mfm data (but not synchronized) data are not from the beginning of a track? the current position stands anywhere? like here: 52533? (Then a breakpoint for a certain mfmpos would be good? To analyze mfm-data from beginning of a track) | = current position - ok, from the raw bit stream dump third line: side 0 - ok, see cylinder 0 dma 2 - ? dma is always 2? off 1 - ? off with different numbers from 1 to 13? word 5555 - ok, current value pt 00002064 - DSK pointer ($dff020,22 DSKPTH, DSKPTL) len 9CBE - ok, length ($dff024 DSKLEN) bytr 80AA - ok, DSKBYTR ($dff01A DSKBYTR) adk 1100 - ok, ADKCON ($dff010 ADKCONR) sync 0000 - ok, DSKSYNC ($dff07E DSKSYNC) SYNC: drive 0 motor on cylinder 69 sel yes rw mfmpos 5648/101344 AAAA AAAA AAAA 4489|4489 5545 2AA5 552A AAA9 2AAA AAAA AAAA AAAA AAAA AAAA AAAA AAAA side 0 dma 2 off 0 word 4489 pt 00070000 len 9F40 bytr 8044 adk 1500 sync 4489 What means SYNC? It's this preamble and syncword? AAAA AAAA 4489|4489 But why there are three times AAAA AAAA AAAA and not only 2 times? |
Quote:
Quote:
Quote:
PAL: 3546895 / (7 * 5) NTSC: 3579545 / (7 * 5) (7 = clocks per bit, 5 = 5 revs/second) Quote:
0 = off. 1 = first DSKLEN write only done. 2 = read DMA active. 3 = write DMA active. Quote:
Quote:
Quote:
|
thank you for the information.
What I'm missing at the end is an example of what it could be useful. So, how I have to interpret the raw bit stream data? I see no connection between the data on an adf file and the raw bit stream. I also don't get a connecetion between the current bitposition 98972 and to the hex data, e.g. of an adf file. |
Learn how Amiga MFM encoding works :)
WinUAE does not care or need to know. Raw bit stream is DMA'd to memory. MFM decoding is done by Amiga side software (trackdisk.device or game/demo trackloader). In theory UAE could decode it but it would return garbage if format is not standard AmigaDOS. |
All times are GMT +2. The time now is 13:05. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.