ZXNet эхоконференция «code.zx»


тема: IS_DOS *.blk



от: Oleg Grigoriev
кому: Valeriy Kovalev
дата: 17 Apr 1999

Пусть враги твои, Valeriy, умрут без сыновей!

Sun 11 Apr 1999 at 19:58:41, Valeriy Kovalev => All:

VK> Вот товарищ попросил месаг закинуть, сам он не может т.к.
VK> у него вообще нет телефона:
VK> ───────────────────────────────────────────────────────────
VK> Кто знает формат драйвера *.blk под IS-DOS? Если можно, то
VK> пример на asm'e.
VK> ───────────────────────────────────────────────────────────


────[ Здесь начинается файл прил_04 .t ]───────────────────────
ПРИЛОЖЕНИЕ 4. Cтруктура тела дискового драйвера (sys_driv.blk)

смещение имя длина комментарии
0 INSTL 2 Адрес процедуры (АП) инсталляции (если 0, то не нужна)
2 BREAD 2 АП чтения /read(D) /
4 BWRIT 2 АП записи /write(E)/
6 BINIT 2 АП инициализации /binit(F)/
8 SCCSR 1 Регистр состояния
9 DRCSR 1 регистр состояния (см.ПРИЛОЖЕНИЕ 6.)
10 OFIM2 2 Смещение от начала драйвера до кода IM2 (если 0,
то при выходе IM 2 принудительно не устанавливается)
12 TPSYS 1 тип TR-DOS'а (0: 5.01, 1: 5.03, 5.04T и т.п.)
13 QRDWR 1 Число попыток чтения/записи
14 TMBUF 2 Адрес буфера драйвера (1Kb)
20 2 Номер текущего сектора в буфере драйвера
30 1 Тип дисковода. Биты(0/1): 0 - 40/80 дорожек, 1 - 1/2
стороны
31 TMWT 1 Задержка начала чтения сектора
32 HTIME 1 Время перемещения головок дисковода
33 1 Тип диска. Биты(0/1): 0 - 40/80 дорожек, 1 - 1/2 стороны
34 1 Размер сектора: 1/2/4: 256/512/1024 байт
35 1 Количество секторов на дорожке
36 16 Таблица номеров секторов
.
────[ Здесь кончается файл прил_04 .t ]────────────────────────

────[ Здесь начинается файл прил_06 .t ]───────────────────────
ПРИЛОЖЕНИЕ 6. Структура вектора блочного устройства
(БУ) / g_bldv(#13) DOS.SYS /

смещение имя длина комментарий
-10 CRBLK 1 Номер канала текущего БУ
-9 BREAD 3 Переход на процедуру (ПП) чтения /dread(#D)/
-6 BWRIT 3 ПП записи /write(#E)/
-3 BINIT 3 ПП инициализации /binit(#F)/
0 SCCSR 1 Регистр состояния. Биты 0/1
0..3 - номер устройства для кэша
3 - драйвер без буфера/ с буфером
4 - auto-flush при записи (1)
5 - запрет/разрешение чтения для RST
6 - запрет/разрешение записи для RST
7 - мимо кэша / через него
1 DRCSR 1 Регистр состояния. Биты 0/1:
0 - запрос по адресу в QVST при обращении к устройству
(ПРИЛОЖЕНИЕ 3
1 - флаг авто-флаша (сбрасывается пользователем)
2 - TRDOS/нет
7 - не/отрабатывать ошибки (erdrv(#1F))
2 6 (см. ПРИЛОЖЕНИЕ 4.)
.
────[ Здесь кончается файл прил_06 .t ]────────────────────────

────[ Здесь начинается файл Rhdd .a ]───────────────────────
;Rhdd.blk
;(r) MK '1997
;(c) Ruiner '1998
;16-04-98 at 08:49:26
;------------------------------------------------------------;
CONST EQU #23

ORG #BEAF

DEFW INSTL
DEFW BREAD
DEFW BWRIT
DEFW BINIT

DEFB #E0
DEFB #04
DEFW #0000
DEFW #0000
DEFW #0000
DEFW #0000

DEFW #BEAF ;signature
TABL DEFS #0048
;-----------------------------;
BREAD LD C,#24
JR $+#04
BWRIT LD C,#25
LD (FOR_SP+#01),SP
CALL TST_BR
SRL D
RR E
INC DE
JR NC,HDD000
LD A,#01
CALL RS_BLK
DEC B
RET Z
INC H
INC DE
HDD000 SRL B
JR Z,HDD001
PUSH AF
PUSH BC
RST #08
DEFB #81
EI
JR C,ERROR7
POP BC
POP AF
HDD001 RET NC
XOR A
;----------------------;
RS_BLK
;IN: [HL] - ADDR
; [DE] - NUMB OF BLOCK
; [C] - COMMAND: #24 - READ, #25 - WRITE
; [A] - NUMBER OF HALF
;--------;
PUSH HL
PUSH DE
PUSH BC

PUSH DE
PUSH BC

PUSH AF
PUSH BC
PUSH HL
BLK_NM LD HL,#FFFF
AND A
SBC HL,DE
LD HL,BUFFER
JR Z,RS_BL0

LD (BLK_NM+#01),DE
LD BC,#0124
RST #08
DEFB #81
EI
JR C,ERROR7
DEC H
DEC H

RS_BL0 POP DE
POP BC
POP AF

ADD A,H
LD H,A
BIT 0,C
JR Z,$+#03
EX DE,HL
LD BC,#0100
LDIR
POP BC
POP DE

BIT 0,C
JR Z,RS_BL1
LD B,#01
LD HL,BUFFER
RST #08
DEFB #81
EI
JR C,ERROR7

RS_BL1 POP BC
POP DE
POP HL
BINIT XOR A
RET
;-----------------------------;
TST_BR CALL #1F54
RET C
LD A,#14 ;BREAK
FOR_SP LD SP,#DEAD
SCF
RET
;----------------------;
ERROR7 LD A,#07 ;R/W ERROR
JR FOR_SP
;-----------------------------;
INSTL CP #08
RET NC
LD HL,TABL
LD C,A
ADD A,A
ADD A,A
ADD A,A
ADD A,C
LD C,A
LD B,#0
ADD HL,BC
LD A,(HL)
AND #1F
CP #03
LD A,CONST
EX DE,HL
LD HL,#FFFF
LD (BLK_NM+#01),HL
JR NZ,LBFCF
LD C,#23
RST #08
DEFB #81
EI
RET NC
LBFCF LD A,#9
SCF
RET

BUFFER DEFM "SMUC IDE driver v1.0 Beta "
DEFM "based on original version by MK (r). "
DEFM "Written by Ruiner."
DEFM " 16-04-98 at 07:47:44."

L_END EQU $-BUFFER

DEFS #0200-L_END

.
────[ Здесь кончается файл Rhdd .a ]────────────────────────

────[ Здесь начинается файл ed_gmx0 .a ]───────────────────────
;21-01-98
;ed_gmx0.blk
;(c)Ruiner
;Last edit: 23-04-98
;
ORG #8000
;-----------------------------;
DEFW #0000 ;п/п инсталяции драйвера
DEFW LOAD ;п/п чтения блока
DEFW SAVE ;п/п записи блока
DEFW INIC ;п/п инициализации драйвера
DEFB %11111000 ;
DEFB %00000110
;-----------------------------;
LOAD XOR A
JR $+#04
;-----------------------------;
SAVE LD A,#EB
LD (LLLL),A
LD (MMMM),A
;-----------------------------;
LD A,H
ADD A,B
JR Z,E_EXIT
CP #C0
JR C,$+#06
E_EXIT LD A,#07
SCF
RET
;----------------;
SLA E
RL D
SLA E
RL D
LD (LLL2+#01),HL ;D-BANK,HL=DEST
LD A,E
RRCA
RRCA
ADD A,#C0
LD H,A
MOVE XOR A
LD L,A ;HL=откуда
SUB H ;сколько блоков из этой банки
LD C,A ;можно перебросить
LD A,B ;всего надо перебросить
SUB C
JR Z,LL1
JR C,LL2
LL3 LD B,A
JR LLL
;-----------------------------;
LL2 LD C,B
LL1 XOR A
JR LL3
;-----------------------------;
LLL DI ;B=остаток,C=сколько
LD A,D
ADD A,#09
EXX
LD D,A
LD E,A
LD BC,#7FFD
AND #07
OR #10
OUT (C),A
LD B,#1F
LD A,D
AND #08
RLCA
OUT (C),A
LD A,E
LD B,#DF
RLCA
RLCA
RLCA
RLCA
AND #07
OUT (C),A
EXX ;B=остаток,C=сколько
LD A,D
EX AF,AF'
LD A,B
LLL2 LD DE,#0000 ;DE=куда
LD B,C
LD C,#00
LLLL DEFB #00
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
LDI
JP PE,$-#20
AND A
JR Z,MOVE1
LD B,A
EX AF,AF'
LD C,A
LD A,#00
MMMM EQU $-#01
AND A
JR NZ,$+#04
LD H,D
LD L,E
LD (LLL2+#01),HL ;HL=SOURCE
LD D,C
INC D
LD H,#C0
JR MOVE
;-----------------------------;
MOVE1 EX AF,AF'
INIC LD BC,#7FFD
LD A,#10
OUT (C),A
XOR A
LD B,#1F
OUT (C),A
LD B,#DF
OUT (C),A
EI
RET
.
────[ Здесь кончается файл ed_gmx0 .a ]────────────────────────

VK> Дело в следующем : купил он веник, подключил, написал
VK> драйвера - все работает. Попробовал написать драйвера
VK> под ис-дос ( в соответствии с рекомендациями в ZF ) -
VK> работает, но сильно глючит.

Описание структуры, драйвер винта через МОА и драйвер рамдиска. Хватит,
надеюсь? Могу дать ещё и "правильный" драйвер винта, если надо будет - мыль.
Да, компилит он, надеюсь, в исдосном асме? :)

WBR, Oleg.

от: Michael Kondratyev
кому: Oleg Grigoriev
дата: 25 Apr 1999
Hi Oleg!

Sat Apr 17 1999 01:36 you wrote to Valeriy Kovalev:

OG> ────[ Здесь начинается файл Rhdd .a ]───────────────────────
OG> ────[ Здесь начинается файл ed_gmx0 .a ]───────────────────────

already obsoleted both ;)

section 1 of file zhdd_14.zip

filetime 647366784
begin 644 zhdd_14.zip
M4$L#!!0````(`(`(EB8$"^`#9P$``!$$```)````6FAD9%T+B1#BI(28DW
M45!P7K]/E)F!99)NXW[>_0+[*_<_8&&`@O7[E/ MMKAN_VFKT]+"!IQVC&>M]K.>4!$^;:'!_O5XV+EX7UC]>O7HUZ-/%?__
MW_XV2'=?@V^M%.^QE5&$$*E%55+Q[^+0E_;2C!N-K1@;&MQL>'KRHP<$&
MEF65/OAP_4D[=L.U]T[^X[B@>'A?G/*^$^7M[>UM_FP,G,IUS^3_,5>_!AJM
MY+1?@8U/&:CI@AVG^4E>+H5@WU!G!475X64HLRRU"(%A3)#/1,%QYR"C$1>
M+HUD305#2TM+!5]OH%(%A:3$XM04A?PA?RBS/3,O,0 MHX)&D29886)>BD)R?E%1:G)):HI^?D%)9FYF%5`KR`:@TJ#2S#P@"V2NJ4%
M+Q?#JE$P$.#__W7[-NS;M&_+/JG]:OO=]_ON;]D_?S^UDO``!02P,$%```
M``@`@`B6)BJO4:W@!```%0P```@```!::&1D+DTX,(U66U,B1Q1^;JKX#R=;
MKD!$,WC)(FO)XH(5:KVDU"2/U$Q/X_0Z3+/=`ZB_/J=O M'+SV@V8#W"_G>RP6T(+[
MZ[^^PG0@=@JP[IW<`RC=)F$K8I M@K,*T0M M`^H2EL4+'=!GX&H_%@K4BK9`IB40B)6S%2S,9G>HN2/%?F$Z]'5=')S>6_V
MI[B_N)N,OMGKP!"M123:TY9"]9ANM((=RH/^K/QK57K]Y)F8V M<)_$L8S=_G>[WTBW_V2!3;8A9G.>1PSH4PLUR+4UX&5T]?PS2UE2%#VH5A
MI"/ERS2%3T;TG.[CC9,#+K-"9:CIJ,I(JYLP@/]Z`]C$`E*?0[6`DOE,5\n
M7EM(E9.^7L01*:(U$KR:YU08WXO&. MKI7?,8>ERD&*31"$X'&^*@M=.%L'WKG-7-ZB='UC,;IU)@T7>@_A]G&X2]
M@[+WGD-;0$$E-.$<=MD0N[6TY6&4LG(LL MVHY)%OF!D!OC!L?K="6L-UX[ZTWI5=V0HL(L9>UIZ%9'>41=Z
MM:;XC`.),.S%B@<<2$SH8OTJ?9WUSF#^+/Y$65L2N9DMA$(8EI:9Y1=+>.
M^,)8*'QDPX10YY1D(F-OB.$*O9H5JYK[:GNL^G-_,BT_=].'
M2;&;WDP?7$3!)$C MOJ)("3G,<4PU>QB"`8IDX,$O)D9JA0R)-ZEXY'AK"1I%3+'[OYY67/%Y,@$.
M2JJP9.4%GX]&*&+"WI+92)-'S4?!<^_RY-A=AUVPQ&FNJ640EA-JI@;.C%![
M-E-Y2)75!+T(U2K[16^BY)AK:^?&%KEI7@/8VC88QIA=V7LIG<@.TV1DGD
M+;[ZQDBJ'6+Q!K:'(F?H5=O)0V[2N5RIA(3:3KO.EGTB<_$;([2IE*H()9&
MWD(,K/6,VJ>6D& M2?.P[.SU7-(2)-G@61.!/K#.8/@1-3?:DDVH$[48-I^-9*%,8MGXJE6Q,)@
M1,8C7K&7#-U+7>F3M=L:2RT%DLK`U,:N,BR2YDE^ZM)")IZOY(?-1=,'%&
M^"0%7:#5V,=K`*CZ.%1?8O
MK8W^)UM)9%UJ0$9;)G2#AC>&11]9=K-U+^$&OA)G-XV&V[6R%9;J"4&.<;A
M3RH8COU,@]*E??9]-]>[!/D)_!<&IK"=I)UBWE*G[@^+:=1=@V>N-*YB/[/V
M2)9_PC*W@1.-^.2@&VU0KEU/C7D[[5OCAY( MBEDF9)Z,06&KJNI]+)%G=RGIQG,@C-U03WB'L0WL'
M_S@'O4P8)A6Z)_8[PBSQK-GX%U!+`P04````"`"`")8FEL5:&H"```1!```
M"P```%IH9&1397)V+B1#U5#12Q-Q'/^=V[.<[13TC]7X=R%0"629CZKFF
MS0IRH)00);O;;O-*-MNF9>+`7GQ=+_T!!3T(-7VQGHR)%D-*L.*XAUP8Q&,

M>^FE*)C=V?;0G]#G!Y_?A^_OQ^?W^WQNS(;#4W)B<10$O19@76$I6M48&_"U

MS?#7^33T1O5)=S-CQ?1):]_OC-M:QOLLPL,!51X4TKSKC MBDK4.=75*5%=6>@-':S"VY);1(;4IX0HXPU!(7K^U<@2H.OG64+-X)B&(K4
MH`D<^6OO;]:1:,&&4CB*6%#,BB8(Y"`PW
M&*,!(MEU!"5)J*%$E8JJ%*'6JUGA>YY/OX0KDO,+UD)D,ZY>477W:KP!,R+6
M"$IDNISE6OD7989CC/&90;%D

от: Oleg Dokukin
кому: Oleg Grigoriev
дата: 07 May 1999


Привет Oleg!
однажды 05-05-99 ровно в 22:04:02
Oleg Grigoriev писал к Igor Krauklis про IS_DOS *.blk ...

Hу ладно , раз пошли баги фиксить .... пора свои выкладывать.
странная система Исдос + странная железка GMX дают вместе очень
странные результаты.
1 не моа дрижер ни твой + моа ни хрена не работают.
моа видит подмаунченый диск тр доса , но при попытке ченить
копирнуть нагло мя обламывает с воплями еггог 87
твой + моа - вобще паталог какой то , мало того что он видит
подмаунченый диск (и то не всегда) только при инициализации
(при повторном всегда лезет к дисководу) дык он когда видит
маунченое ,при попытке копирования тоже вопит 87 еггог
к тому же они оба начисто игнорируют драйв Б:
2 или я чего-то не понимаю в установке рам диска ( хотя
обычный скорповский рам диск устанавливается нормально)
или где то нехилые глюки.
твоя версии не пашет , я уже не помню видео эффекты с которыми
она слетает , но факт остается фактом.
версия Мичаэла Кондратьева тоже не работает , (тутошный эффект
я помню - при попытке перейти на рам_гмх мы бесстрашмо вывалились
в бейсик 48 с открытым гмх'овским экраном )
вот такие вот дела .....




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Обо всем - тексты с IBM: Андрей СМИРЯГИН - "ОНА".
Обо всем - в самаре открылась спектрумовская сеть SаmZхNet.
Наша анкета - 30 вопросов от редакции.

В этот день...   15 октября