about screw mounting schemes /2
ZXNet echo conference «real.speccy»
From Valerij Kozhevnikov (500:95/462. → To All 6 June 1998
Hello All!
I have something lying here, I'm almost sure it's a piece of the Sprinter's disk system. Moreover, it is precisely the piece that works with the screw.
Here is a little bit:
============= Import begin ===============
HD_DRV::
; description of controller ports
hd_dat equ 0fh ; dataport
hd_err equ 2fh ; error port
hd_seccnt equ 4fh ; sector counter port
hd_sect equ 6fh ; sector number
hd_cyllo equ 8fh ; ml. cylinder number byte
hd_cylhi equ 0afh ; Art. cylinder number byte
hd_head equ 0cfh ; head number
hd_comm equ 0efh ; command port
; Since the HDD has a 16-bit bus and the processor has an 8-bit bus for operations
; writing/reading the high byte is latched into the special. buffer (address 010F)
; driver command table
DW HD_RES ; reset HD
DW HD_SEEK ; positioning HD
DW HD_FRM ; formatting HD
DW HD_REC ; recalibrate HD
DW HD_RD ; read sector
DW HD_NOP
DW HD_WR ; record sector
[hamster gnawed]
; read sector
HD_RD: call HD_tst ; checking the presence of HDD (if necessary)
ld d,1 ; sector counter
call hd_set_rw ; preparation for reading
ld a,20h
out (c),a ; command read
call HD_wait ; waiting for HDD
or a
ret nz
ld hl,(DCBUF) ; buffer to read
ld bc,hd_dat ; dataport
inir ; read 1 x 256 bytes
inir ; read 2-x 256 bytes
; ^^^^^^^^^^^^^^^^^^^
ld bc,hd_comm
in a,(c)
and 8
ret z
ld a,_OVERRUN
ret
============== Import end ==============
These are the things. IMHO, INIR/OTIR is not used anywhere in CP/M-e (i8080 does not have such commands) => this is Sprinter. Or MSX.
There are no copyrights in the source code, so I can only guess.
Or here is a piece of the source code of the driver for the ZXNext circuit:
============= Import begin ===============
LLC140 INF
DEC A
JR NZ,LLC140
LD A,#40
LL1 LD B,E
INI
INI
LD B,E
INI
INI
DEC A
JR NZ,LL1
LD B,#C6
LLC156 IN A,(C)
BIT 7,A
JR NZ,LLC156
BIT 3,A
JR Z,LLC19A
LD B,#EE
INA,(C)
LD A,#80
JR NZ,LL1
SRL D
JR C,LL1
LLC16C LD B,E
INI
INI
DEC A
JR NZ,LLC16C
LD A,#80
LD B,E
LLC177 INF
DEC A
JR NZ,LLC177
JR LLC194
LLC17E LD A,#80
SRL D
JR NC,LLC16C
LD B,E
LLC185 INF
DEC A
JR NZ,LLC185
LD A,#80
LLC18C LD B,E
INI
INI
DEC A
JR NZ,LLC18C
LLC194 LD B,#C6
IN A,(C)
CP #50
LLC19A RRCA
LD A,#00
RET NC
LD A,#07
RET
=============== Import end ==============
And getting trdos to work on a screw is not that difficult.
All work with a disk ultimately comes down to reading/writing
a group of sectors (trdos functions 5 and 6). What needs to be done:
1. Take the physical (absolute) coordinate of the current connected image of the trdos floppy disk (cylinder/head/sector).
2. Take the value of the DE pair (which is for commands 5 or 6).
For those who don’t remember: track/sector on the floppy disk. This is kind of like a relative coordinate.
3. Add step 1 and step 2, taking into account the fact that on the screw sector #200
bytes ain trdos - #100. Let us obtain the physical coordinate of the beginning
of the required area on the screw, i.e. the place where what
we need to read lies.
4. Read (starting from the coordinate obtained in step 3) the required
number of sectors to the required address in memory.
5. Make changes to the trdos variables so that the program thinks that
it has read it all from the drive.
6. Return control to this very program.
You can debug this in weeks three maximum. But if you spend, say, 1 hour a month on soft writing, then it’s no wonder to stretch it out for 3 years.
PS: I’m not saying that Smuk is bad. Zonov is a good, even
_very_ good circuit designer and ironworker => Scorp rules!
ZYY: But the _STRATEGY_ of the company SHOULD become more user-friendly. First of all - open information about ports, their capabilities and their use. Let them sand the microcircuits and classify the PLM, for _software writing_ you may not know this, but HOW can you _write_ under the hardware without knowing anything about it???
And you definitely need to kill dishonest traders!
ZYYY If the user is not given information about what he is buying => they don’t trust him.
And if this user is a _programmer_ then such distrust
is tantamount to disrespect.
ZYYYY: In GMX, the Scorpio people have finally understood this. Detailed information on GMX is already available. And that's why II might even buy it.
Jason.
Powered by ScorpionZS256turbo+/SMUC/HDD'IDE130Mb/FDD'800/
/CMOS/Cache8k/Covox/ATkbd/Mouse/CDOS...