SMUC-info.
ZXNet echo conference «code.zx»
From 812/19.00 → To All 13 October 1997
Hi, All
So: at the request of Boris, I throw into this echo
information on the work of SMUC by Scorpion.
What I will write here is a “brazen” retelling
from the brochure "SMUC, Instructions for
connection and operation v1.2", with my computers
mentaries. (As it turned out, many
this book is not there.)
So:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Subroutines called via RST 8 in
C number is placed:
C=34 ($hddid) - hard identification
disk.
in: 512-byte buffer, pointer to which
This is specified in workfl (subfunction 9)
out: CY=error (no HDD).
VS: apparently this program was conceived in
mainly to determine the presence of a screw,
but glitches have been noticed: the transfer flag can
come back any way you like, and besides,
in some cases, after this failure
is called to work under $hddmount (see below)
C=35 ($hddmount) - connect the partition to
HD driver.
in: Akk - type of operation, in bits, in brackets
[] priorities are indicated (0 - highest).
7 [2] - auto-connection (set in sec-
re auto settings. (bits 0,1 - N. disk.)
6 [0] - disconnect the subsection from the driver,
bits 0,1 - driver number (similar
DisMount functions in shadow).
5 [1] - connect the subkey to the driver.
In DE, specify the descriptor address (25 bytes),
returned from previous connections
(see bit 4).
4 [4] - return to memory (by HL, 25 bytes)
descriptor of the currently connected partition
la.3 [3] - connection by name, name address
in memory in DE: [dr][]partdos, where
part is the partition name, dos is the disk name.
If dr is not specified, then it connects to the
given by bits 0.1 to the disk.
VS: the name might look like this: GamesDisk01.
deviations from a given standard (for example
measures instead of "" - "/" will not allow you anything -
lit connect.
2 - must be 0.
0.1 - drive number, respectively:
0-A, 1-B, 2-C, 3-D.
out: CY=error (including the section not
found.
VS: imho, the main sub-application for working with wine
vol. But!!! The drive you connect to
this driver is unstable: when using
calling the subroutine TrDos C=1, #3D13
(change driver) return to its place -
The old disk (connected by you from
shadow). This feature makes it impossible
launching 95% of programs from the connected ^^^
thus the disk, because even an appeal
from BASIC to 15619 returns to its place
old disk. For this MOA should be given according to
head and be satisfied only with reading /
recording sectors from connected self-
especially disks. ;(
C=36 ($hddrd) - reading sectors from subdivisions
HDD affairs.
in: HL - address in memory where to read,
DE - starting sector number (counting
from 1!) B - number of sectors (sector size
ra - 512 bytes!!! ).
out: CY=error
C=37 ($hddwr) - writing sectors to subdivisions
HDD affairs.
in: HL - address in memory from where to read,
the rest is the same as $hddwr.
out: CY=errorVS: 36 and 37 have not tested, imho, inconvenient
(512 bytes!!!), and it’s not necessary.
C=38 ($hddpart) - return table (catalog)
log) subsection.
in : Akk must be 0
HL - buffer address for the table (1024
byte).
out : CY=error.
Each subsection in the table is described by 16
bytes, where:
+0 - subsection type:
0 - no
1 - Tr-Dos
2 - McDos
3 - IsDos
4 - Bad
+6 - volume of the subsection in sectors
VS: to count the number of disks
in a subsection, you need the volume of the subsection
divide by 1281.
+10 - subsection name (6 bytes).
!!! If the $hddmount function is set to
cases without specifying a drive name (for example
Games), then you can get information
for each subpartition disk (in the above-
written format).
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
89h (R8time) - read/write time from
CMOS (RST 8: DB #89).
In register D the bits set:
7 - (1) write down the time/date value
(0) read the time/date value.
6 - (1) read into buffer (only if
bit 7=0. (see bit 5).
5 - (1) direct read (6 bytes of data
from CMOS).
(0) read in ASCII format.
0 - (1) work with date
(0) work with time.
In addition, in HL - the buffer address (if you count
tapping occurs in the buffer), at 5 and 2
CPU banks. Register E contains the format
reading: low-order 5 bits - symbol
divider (+32!!!) (VS: for example for sym-
ox ":" should be 26), bits 7,6 and 5allow clock output accordingly,
minutes and seconds, or to display the date:
bit 7 - output day of the week
bit 6 - put "0" in front of the number
bit 5 - display the month as a word and before
add "19" for the year.
The function returns data either to a buffer,
(as an ASCII string or 6 bytes:
seconds, minutes, hours, date, month,
year), or in registers:
C - seconds/day
B - minutes/month
E - hours/year
L - day of the week
Values are set in these registers
to change the time/date.
out: CY=error (no CMOS chip).
VS: MOA succinctly noted that the data
can be returned to the buffer (in ASC format.)
But if you do this, you will notice
that you always come back alone and
same meanings! In fact, time in
ASCII is stored somewhere in the 8th bank,
from where it is returned to you. And updating
Only available when Reset is initialized or
Magic!!! I learned how to bypass this feature
thus: first time is called
in registers (at this moment the data in
buffer are also updated), after which
I’m putting my time back into my buffer. And for this
since this is true time. (Exactly like this
This is how I poll the time in BBS 3.20).
Thus, the challenge of time occurs
dit in 2 passes: first to registers
(via RST 8), then directly to the buffer
(again via RST 8). For this MOA is needed
hit you over the head too ;)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-I hope it helps someone that I'm here
I wrote it, it will be useful. Bye everyone!
Farvel, Vega from Style Group...
-+- ZxAsm v3.0 - rulezzz!
From 812/01.14 → To Vlad Sotnikov 20 October 1997
A huge friendly greeting to you, Vlad!!!
One day, rattling the keys, numbers somewhere
10/18/97 exactly at 20:35 Vlad Sotnikov pi-
sal to Yuri Burawtsow:
YB>> Area : CODE.ZX
YB>> from : All
VS> Damn, the glitches of IsDos are cool
VS> does !!! ;)
In fact, there are no glitches on the part of IS-DOS
it was, it’s just my macro except for replacement
fields from <>tu does not write in from May
name... :)))))
[skipatizhi]
VS> By the way, you're cunning: you bypassed the glitch with
VS> for hours, but it’s interesting: can you squeeze
VS> bypass the glitch with fixing a subsection/
VS> disk to drive? Or maybe none
VS> Isn’t there a glitch there? ;)
Just try to retune to the mouth
swarm and/or floppy disk. I came across that
It's a glitch, but this glitch exists in the shadows too.
The point is this: I think you fell for
eyes are such a program, it's called
REST_SCR.B... A wine I once wrote
that have-nots, she did not re-adjust to
disk. As a result, when I launched it on Windows
those, and in the shadows I chose another pseudodisk, then
work continued on the disk from which
the program was launched! Moreover, if open
release the pseudo and work with the physical
drive, then - and rightly so - it works
with a physical floppy disk, but it's worth cutting upThere is a new pseudo in the SHADOWS, and again I see screenshots
from the disk where the program was loaded from!..
What is it - my REST_SCR! - PRO-TRACKER
and it does not reconfigure to disk!!!! :(
At the same time, Trubinov’s boot programs
then Commander, our favorite “little blue”
- work normally after reinstallation
logical drives. But every time they
when accessing the disk, perform function 1,
and to be more precise, then:
LD C,1 ; setting to disk drive
LD A,x ;instead of x - number
; devices (0..3)
CALL #3D13
That's all the parsley. And there is no need for cunning people here
be...
(by the way, just checked: use
exactly this function, and everything will be...
...okob (c) *MAS*)
VS> Farvel, Vega/Style Group...
Best regards, Yuri.
-+- iS-DOS v4.5 with macro