_
How to determine if the hard drive
_
We found this article in FIDO, in
echo ZX.SPECTRUM. Material is useful, but
Access FIDO is not all.
Material used in this article
writing a loader for this number.
------------------------------- Cut -
--- LaraCroft 3.80 + turbo T 3144A
* Origin: ... Altering The Future ...
(2:5020 / 689,100)
FIDO Echos (2:5063 / 47.11)
ZX.SPECTRUM
Msg: 3028 of 3160
From: Valerij Kozhevnikoff
2:5020 / 689.100
Thu 28 January 1999 22:36
To: Alex Letaev Sat 30 January 1999 23:42
Subj: BestView 2.6 on the way
-------------------------------- Cut ----
In general, tell a little about skorpovy screw. Ports are in
trdose and read them in ROM trdosa at # 3FF3
There are teams
IN A, (C)
RET
If the port # FFBE contains # FF, then
screw is. Bits 6 and 7 of port # 7FBA indicate the status of
devices A and B, respectively. If the bit is set, then the
device is a virtual drive, and climb to it must be strictly for
# 3D13.
Yeah, and here it is:
======== Import file detect ============
Here a little bit of every disk imaging.
Determination of the screw and the status
discs.
All the reasons mentioned below is valid for
Controllers SMUC versions from 1.1 to 1.3.
Code ROM version - 96 and above.
Version of the controller 1. 3 recognizes the final. A
version 1.0 is beta and glyukodrom and wide sale has been
received.
By the way, under the port is tuned from 1.0
flashing code 95. A firm of documentation with the hard drive
can operate ROM code is not below 96.
The contents of the port # 7FBA in space
I / trdos allows you to quickly learn the status of
devices A and B. In essence this port
a memory cell into two bits.
Designed to nowhere
climbing quickly learn where and how to
handle. Available as on record, so
and reading.
For any (manually or programmatically)
connecting / disconnecting images trdosnyh
floppy disks, shadow businesses always results in a value
this port, in line with the changed status of the devices.
Reading it is usually already very trdos, when it is needed.
Bits 6 and 7 define status for the A and B, respectively.
If the bit is set, then the device
connected to the hard disk drive, and
floppy image is available through either # 3D13
through the RST 8.
If the bit is cleared, then the device
is a real drive, and is available
standard for disk drives means.
All other bits are currently
not used, and should always be
unity.
Drives C and D can not be real
drives controller does not support this. # Disclaimer: although
originally Scorpio fee and does not support drives C and D, but
the desire and ability, they can be connected, that it should be
view.
; Check skorpovosti and the availability of the screw
; Output: flag C = 1 - no screws
CHECKHD DI
LD A, (# 0008)
CP # C3
JR NZ, NO_HDD; this not Scorpion
LD BC, # 1FFD
LD A, # 02
OUT (C), A; incl. shadow businesses
LD A, (# 00F1); took the code version
LD E, # 00
OUT (C), E; off. shadow businesses
CP 1996
JR C, NO_HDD; old ROM
LD BC, # FFBE
CALL RD_DOS
CP # FF
JR Z, NO_HDD; reg.sost.pust
XOR A
RET; screw is
NO_HDD SCF
RET; no screws
; -------------------------------------; Check the drive itself
, The variable must lie DRIVE
; Number 0 ... 3
; Output: flag C = 1 - a real drive
DRIVE EQU # 5CF6; number of drive
TEST LD A, (DRIVE)
AND # 3
CP # 2
JR NC, OK_HDD; C and D always
, On a screw
RRA
JR C, TEST_B
TEST_A LD BC, # 7FBA; check A
CALL RD_DOS
BIT 6, A
JR NZ, OK_HDD; A on the screw
SCF
RET; A diskette
TEST_B LD BC, # 7FBA; check B
CALL RD_DOS
BIT 7, A
JR NZ, OK_HDD; B on the screw
SCF
RET; B on diskette
OK_HDD OR A; device on the screw
RET
RD_DOS LD HL, # 3FF3
PUSH HL
JP # 3D2F
WBR, Jason.