From: Tom Trebisky
Date: Sun, Mar 28, 2021 at 4:08 PM
Subject: More time with AWS
To: Convergent MightyFrame
Date: Sun, Mar 28, 2021 at 4:08 PM
Subject: More time with AWS
To: Convergent MightyFrame
I decided to trace signals, working my way back from the MFM drive
through the motherboard wire list to be sure I knew
what was talking to what on the HDC schematic (and hence in the code).
This will lead to more notes in the code,
right now it is 3 tables on sheets of paper on my desk.
One interesting thing turned up.
They seem to "abuse" DS3 and DS4 on pins 30 and 32 of the MFM drive
cable. They read these two signals and give
them their own name DRTYPE0 and 1. This is suggestive, but let's see
where it leads.
As you may know there are 4 pins (DS1, 2, 3, 4) and you set jumpers on
the drive for only one of them, which
gives the drive it's identity (so an MFM system can actually thus handle
4 drives). But as you know, typical
MFM systems only handle two and the AWS seems to only handle one. So
signals DS3 and DS4 are in almost
all cases unused. BUT, you may want to inspect any drives you have that
actually work with your AWS
systems. With 2 bits, we could have 4 different supported drive types.
In short, your drive should have a place for 4 jumpers (only one should
be present) or a switch with 4 switches.
If more than one jumper/switch is present or set that would suggest that
CT is up to other business.
I will continue to pursue this, and other things.
Tom
the drive for only one of them, which
gives the drive it's identity (so an MFM system can actually thus handle
4 drives). But as you know, typical
MFM systems only handle two and the AWS seems to only handle one. So
signals DS3 and DS4 are in almost
all cases unused. BUT, you may want to inspect any drives you have that
actually work with your AWS
systems. With 2 bits, we could have 4 different supported drive types.
In short, your drive should have a place for 4 jumpers (only one should
be present) or a switch with 4 switches.
If more than one jumper/switch is present or set that would suggest that
CT is up to other business.
I will continue to pursue this, and other things.
Tom
The following is from Tom Trebisky's Disassembly of these ROMS
; the aim in what follows is to load a value into aux
; We essentially have 4 tables of 5 values
; r1 is the inner loop.
; r3 is set once outside the loop.
; So, r3 determines what the drive type is.
;
; type 0 -- 77 tracks, 1 head, 16 sectors per track
; type 1 -- 256 tracks, 2 head, 32 sectors per track
; type 2 -- 256 tracks, 4 head, 32 sectors per track
; type 3 -- 256 tracks, 6 head, 32 sectors per track
; type 4 -- 153 tracks, 4 head, 32 sectors per track
0100: 81 04 x0100: xec x0104,r1
0101: cf 3e xmit M_STATUS,ivr
0102: da 20 xmit 0h,driv[5]
0103: e0 ee jmp x00ee ; loop up
0104: 83 09 x0104: xec x0109,r3 ; r1 = 0
0105: 83 0e xec x010e,r3 ; r1 = 1
0106: 83 13 xec x0113,r3 ; r1 = 2
0107: 83 18 xec x0118,r3 ; r1 = 3
0108: e0 18 jmp x0018 ; r1 = 4 (done)
0109: c0 4d x0109: xmit 4dh,aux ; tracks (lsb)
010a: c0 00 xmit 0h,aux
010b: c0 00 xmit 0h,aux
010c: c0 00 xmit 0h,aux
010d: c0 99 xmit 99h,aux
010e: c0 00 x010e: xmit 0h,aux ; tracks (msb)
010f: c0 01 xmit 1h,aux
0110: c0 01 xmit 1h,aux
0111: c0 01 xmit 1h,aux
0112: c0 00 xmit 0h,aux
0113: c0 01 x0113: xmit 1h,aux ; heads
0114: c0 02 xmit 2h,aux
0115: c0 04 xmit 4h,aux
0116: c0 06 xmit 6h,aux
0117: c0 04 xmit 4h,aux
0118: c0 10 x0118: xmit 10h,aux ; sectors per track
0119: c0 20 xmit 20h,aux
011a: c0 20 xmit 20h,aux
011b: c0 20 xmit 20h,aux
011c: c0 20 xmit 20h,aux
; ---------------------------
; CMD - seek
; seek is followed by 2 bytes
; A = HHHH TTTT
; B = TTTT TTTT
; byte A gives head and 4 msb of track
; byte B gives 8 lsb of track.
No comments:
Post a Comment