<none>

ZXNet echo conference «real.speccy»

From Aleksey Malov To All 13 November 2001

Hi, All!

We need to find out which sector (number) is at the beginning of the track.

How to do this?

There is a suspicion that you need to position yourself and issue the “read
header” command, and what procedure to call in order to read the header at the required
address. And, most importantly, how to find out that this sector is at the beginning of the path.

I know that this can be done. RDS can do it, after all. But it reads data about
all sectors of the track (for quite a long time), and I only need to know the number of the first
sector.

I really need it.


Bye, All.
WBR, Vivid^Brainwave.

From Kirill Frolov To All 13 November 2001

Immediately press RESET, Aleksey!

13 Nov 01 21:24, Aleksey Malov wrote to All:


AM> How to do this?

1. Spin up the disk.
2. Position yourself.
3. Wait for the start (transition 1/0) of the index pulse.
4. Issue the “Read” command addresses."


AM> And, most importantly, how to find out that this sector is at the beginning of the track.

Start reading from the beginning of the track...

You need to have access to the status register (port 0x1f).
In normal tr-dos 5.13 this is possible. There is one program at address 0x2740
- look it up yourself with STS...


From Aleksey Malov To All 14 November 2001

Hi, Kirill!

Wed 14 Nov 2001, at 01:53:26 Kirill Frolov told Aleksey Malov about .

AM>> How to do this?

KF> 1. Spin the disk.
KF> 2. Position yourself.
Done.

KF> 3. Wait for the start (transition 1/0) of the index pulse.
What command to issue to the controller after positioning in order to find out in the
status register about the arrival of the index pulse.

Bye, Kirill.
WBR, Vivid^Brainwave.

From Yuri Potapov To All 15 November 2001

Konnichi wa, Aleksey-san !

Somehow Tuesday November 13, 2001 at 21:24:00, Aleksey and All were arguing about

AM> There is a suspicion that it is necessary to position and issue
AM> the command “read
AM> header”, and what procedure to call in order to read the
AM> header at the required
AM> address. And, most importantly, how to find out that this sector is at
AM> the beginning of the track.

AM> I know that this can be done. RDS can do it, after all. But he
AM> reads data about
AM> all sectors of the track (for quite a long time), and I need to find out
AM> only the number of the first
AM> sector.

and this is what the main BrainVawe encoder says...

position yourself, read the entire track, read the header -
You are guaranteed to know the number of the first sector in 2 turns

[El Capitan Trueno] Yurik aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Conceptual Minimalism] \ZX/

From Dmitriy Nesmachny To All 16 November 2001

Hello, Aleksey!

Tuesday 13 Nov 2001 21:24:00, Aleksey Malov -> All:

AM> We need to find out which sector (number) is at the beginning
AM> of the track.
AM> How to do this?
AM> There is a suspicion that we need to position ourselves and issue
AM> the “read header” command, and what procedure to call,

Sometime I've been experimenting with this command for a long time: I sequentially read
the headers from the track - it doesn't keep up: let's say the order of the sectors is
1-2-3-4..., but it reads the buffer in this order: 3,6,9, etc. (I just don’t remember
how much exactly it was missing).

AM> to read the header at the required address. And, most importantly, how

Well, I did this: I pushed the “read address” command into the command register, and then
called a program to “suck” data from the controller.

AM> find out that this sector is at the beginning of the track.

AM> I know that this can be done. RDS can do it, after all. But it
AM> reads data about all sectors of the track (quite
AM> for a long time), and I only need to find out the number of the first sector.

AM> It’s very necessary.

IMHO there is only one way: read the track and analyze its headers.


Regards, Dmitriy.

From Kirill Frolov To All 17 November 2001

Press RESET immediately, Yuri!

15 Nov 01 23:29, Yuri Potapov wrote to Aleksey Malov:

YP> position yourself, read the entire track, read the title -
YP> You are guaranteed to know the number of the first sector in 2 turns

And reading the track will definitely not be interrupted ahead of time?


From Nick Patlaenko To All 18 November 2001

AM>> address. And, most importantly, how to find out that this sector is located
AM>> at the
AM>> beginning of the track.

You need to wait for the index pulse, and then issue the command to read the header!

Load ..... ; Positioning on TRACK!
..... ; We are waiting for the index impulse!
ld a,#c0 ; Read header command!
call reg_1f;command register #2fc3P!
ld hl,buff; buffer where to throw all this stuff.
ld c,#7f; Data register.
call read; read procedure at address #3fe5
ret

From Nick Patlaenko To All 18 November 2001

Hi-ho, Yuri!

Having accidentally overheard a conversation about "", the codes were bastardized by Kirill Frolov with Yuri
Potapov, I
decided to get involved...

YP>> position yourself, read the entire track, read the title
YP>> You are guaranteed to know the number of the first sector in 2
YP>> turns
Why read the whole track, it’s long and unnecessary because
You just need to read the number of the 1st sector!

From Yuri Potapov To All 18 November 2001

[El Capitan Trueno] Yurik aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Conceptual Minimalism] \ZX/

From Aleksey Malov To All 19 November 2001

Hi, Nick!

Sun 18 Nov 2001, at 07:33:39 Nick Patlaenko told Aleksey Malov about

NP> You need to wait for the index pulse, and then issue the read
NP> header command!

NP> Load ..... ; Positioning on TRACK!
NP> ..... ; We are waiting for the index impulse!
NP> ld a,#c0 ; Read header command!
NP> call reg_1f;command register #2fc3P!
NP> ld hl,buff; buffer where to throw all this stuff.
NP> ld c,#7f; Data register.
NP> call read; read procedure at address #3fe5
NP> ret
Thank you. I'll try.

NP> The above algorithm will give you exactly the first sector, if you repeat the reading
NP> then the second, third...
I know that. I was interested in exactly which command to poll the
status register.

From Kirill Frolov To All 19 November 2001

YP>>> You are guaranteed to know the number of the first sector in 2
YP>>> revolutions
KF>> And the reading of the track will definitely not be interrupted ahead of time?

From Yuri Potapov To All 19 November 2001

NP> Why? After all, this is a long time!
NP> Also, you need to find the header of this sector!

I don’t know, I don’t know... but I know for sure that it will work :)

When I analyzed the disk format from zx power 4, I did exactly this

From Yuri Potapov To All 21 November 2001

Konnichi wa, Dmitriy-san!

Once Friday November 16, 2001 at 08:29:08, Dmitriy and Aleksey were arguing on the topic

DN> Once upon a time I experimented with this command:
DN> sequentially read
DN> headings from the track - nothing has time: let's say the order
DN> sectors
DN> 1-2-3-4..., and it reads into the buffer in this order: 3,6,9 and
DN> etc. (I don’t remember just
DN> exactly how many were missing).

nonsense... there’s a ton of space between the headers...

how did you poll the register #1F?

have you seen how Anamnesis or Kag works?

there are 2 headers for each sector
one of them with the 6th bit set to determine exactly where exactly
the head is located

DN> IMHO there is only one way: read the track and
DN> analyze its headlines.

also a way... but it takes a long time

From Nick Patlaenko To All 22 November 2001

Wait for the index pulse and read the address!
I.E
Index...
ld a,#c0
call out_1f;here is the subprogram ld (#1f),a:ret
ld c,#7f
call read;adress #3fe5
ret

this algorithm will read stopudova!!!

DN> Once upon a time I experimented with with this command:
DN> sequentially read the headers from the track - nothing
DN> has time: let's say the order of the sectors is 1-2-3-4...,
DN> and it reads the buffer in this order: 3,6,9, etc. (I don’t remember
DN> just exactly how much was missed).

From Dmitriy Nesmachny To All 25 November 2001

YP> nonsense... there is a lot of space between the headings...

Not nonsense. There really is a lot of space between the headers, but the fact remains.
The controller manages to read the sectors in a row, but for some reason the headers are not.

YP> how did you poll register #1F?

Well, I don’t remember by heart how Larchenko and Rodionov described it. The fact is that my
hole is not raped and the software was not conceived as an only for myself,
so IN (#1F) would not have worked at all.

YP> have you seen how Anamnesis or Kag works?

To be honest, no, I haven’t even had time to watch new demos for a long time,
let alone delve into them.

YP> there, each sector has one 2
YP> headers, one of them with the 6th bit set to accurately determine
YP> exactly where the
YP> head is located

From Yuri Potapov To All 28 November 2001

Konnichi wa, Dmitriy-san!

One day on Sunday November 25, 2001 at 08:53:05, Dmitriy and Yuri were arguing about the topic

DN> In general, if you want, I will find you the sources. But
DN> the principle there was this:
DN> all the same as for loading, but instead of reading the sector
DN> the reading
DN> address was substituted. The sectors were read with a bang, but the headers
DN> skipped.

strange... maybe the disk was formatted by TRDOS?

From Dmitriy Nesmachny To All 30 November 2001

YP> strange... maybe the disk was formatted by TRDOS?

No, no, you formatted it under Windows! ;-)))
Besides tyrdos on spec, how can you format disks according to your needs? I don’t know, maybe it depended on the disc grinder, I only tested it on one, then I gave up and started reading the whole track. And the task was trivial: to determine normal/fast disk.


Regards, Dmitriy.