CMOS in Scorpion driver

ZXNet эхоконференция «real.speccy»

От Valerij Kozhevnikoff Кому All 16.11.1998

=============================================================== =
*Forwarded by Valerij Kozhevnikoff
*Orig.Area: ZXNET.SOFT
*Orig.From: Klim Gromov
*Orig.To : Viktor Kuzmin
*Orig.Subj: CMOS in Scorpion driver
*Orig.Date: 11 Nov 98
*Orig.Time: 23:53:29
=============================================================== =

Вот ты спрашивал.
От себя поясню - чтение регистра:

LD A, REG_NUMBER
LD BC,#DFBA
CALL WRDOS
CALL RDDOS
RET

WRDOS LD HL,#3FF0
M1 PUSH HL
JP #3D2F

RDDOS LD HL,#3FF3
JR M1

Приветствую, Viktor !

Очень хотелось бы видеть в твоих прогах работающие часы CMOS, если они
встроены в комп, а поддержка не реализована, то любыми средствами пытаешся
разместить там свои драйверочки и таму подобное, а качество проги от этого может
уходшится, учитывая, что лезет в прогу не Автор, а хакер.
Если в дальнейшем ты будешь делать драйвера для ЕМС и другой полезный софт,
то предусматривай пожалуйста там возм. юзания часиков. Далее рамещаю сабж,
написанный мной, который показывает как можно использовать CMOS по Скорповской
схеме, при желании можно написать и другой. Так же размещаю несколько других
полезных процедур.


CHECK;---------------------------------------------------------
;проверка компьютера Скорпион или нет
;--------------------------------------------------------------

LD A,(8)
CP #C3
JP NZ,не скорпион

TURBO;---------------------------------------------------------
;включает турбо скорость компьютера
;(желательно использовать при работе с TR_DOS).
;--------------------------------------------------------------

RST 8
DEFB #87
RET

NORMAL;--------------------------------------------------------
;выключение турбо скорости компа.
;--------------------------------------------------------------


RST 8
DEFB #88
RET

CHECK_CMOS;----------------------------------------------------
;проверка наличия часов CMOS
;--------------------------------------------------------------

LD A,1
CALL WR_DOS
CALL RD_DOS
CP #FF
RET NZ
LD A,201
LD (ERR_1),A
RET

TIME?;---------------------------------------------------------
;
;
;--------------------------------------------------------------

ERR_1 NOP ;для #C9 (RET)

XOR A
CALL READ_DALLAS ;СЕКУ ДЫ
LD HL,R_SEC
CP (HL)
JR Z,EX_T ;выход, в эту секунду уже работали
LD (HL),A

LD DE,SEC
CALL PEEK_4TIME

LD A,2
CALL READ_DALLAS ;МИ УТЫ
LD (R_MIN),A
LD DE,MIN_
CALL PEEK_4TIME

LD A,4
CALL READ_DALLAS ;ЧАСЫ
LD (R_HOUR),A
LD DE,HOUR
CALL PEEK_4TIME

EX_T POP AF
POP BC
POP DE
POP HL
RET

T_STR
DEFB "["
HOUR DEFB "**"
DEFB ":"
MIN_ DEFB "**"
DEFB ":"
SEC DEFB "**"
DEFB "]"
E_T_STR

R_HOUR DEFB 0 ;ПОКАЗА ИЯ ПОРТОВ CMOS
R_MIN DEFB 0
R_SEC DEFB 0

PEEK_4TIME;---------------------

LD C,A
PEEK_1 LD HL,TABL-1
PN_2 INC HL
LD C,A
SUB 10
JR NC,PN_2
LD A,(HL)
LD (DE),A

LD HL,TABL-1
LD A,C
PN_3 INC HL
SUB 1
JR NC,PN_3
LD A,(HL)
INC DE
LD (DE),A

RET

TABL DEFB "0123456789"

READ_DALLAS;--------------------

DI

PUSH AF
LD BC,#DFBA
NR2 LD A,10
CALL WR_DOS
CALL RD_DOS
BIT 7,A
JR NZ,NR2
POP AF
CALL WR_DOS
CALL RD_DOS
RET

RD_DOS;--------------------------------------------------------

LD HL,#3FF3
PUSH HL
JP #3D2F

WR_DOS;--------------------------------------------------------

LD HL,#3FF0
PUSH HL
JP #3D2F


Sinserely yours, Klim.


От Klim Gromov Кому All 18.11.1998

Приветствую, Andrey !

Как-то 16 Nov 98, когда в Москве было 05:16:36, господин Valerij Kozhevnikoff
писал к Andrey Isaev:

VK> LD A, REG_NUMBER
VK> LD BC,#DFBA
VK> CALL WRDOS
VK> CALL RDDOS
VK> RET

А точнее надо вот так:

PUSH AF
NR LD A,10
CALL WR5DOS
CALL RDDOS
BIT 7,A
JR NZ,NR ;часики не готовы
POP AF
....... ;продолжение алгороитма как раньше

Сие необходимо если часы не DALLAS, например, а ВИ1. Метка 'NR' именно на этом
месте должна быть, проверено.

SY, Klim Gromov.


От Kirill Frolov Кому All 20.11.1998

├┤i, Valerij !

16-11-98 05:16:36 Valerij Kozhevnikoff ==> Andrey Isaev
CMOS in Scorpion driver

VK> CHECK;---------------------------------------------------------
VK> ;проверка компьютера Скорпион или нет
VK> ;--------------------------------------------------------------

VK> LD A,(8)
VK> CP #C3
VK> JP NZ,не скорпион

А не приходило в голову, что и например в спринтере тоже так
может быть ?

И лазать к скорповским часам/дискам по рст-8 это сакс и
так делать не надо. Hапрямую лучше, если есть возможность.

W!7h Be$7 W!5he$, FK0.

От Dmitry Sharikov Кому All 21.11.1998

Приветик тебе, Kirill !!!

Как-то раз числа 20 Nov 98 ровно в 02:07:00 Kirill Frolov
написал to Valerij Kozhevnikoff на тему 'CMOS in Scorpion driver':

KF> И лазать к скорповским часам/дискам по рст-8 это сакс и
KF> так делать не надо. Hапрямую лучше, если есть возможность.

Я бы не сказал, что к винту лазить через рст8 - это тормоз...

With best wishes, Dmitry.