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/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,0BD)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=ORP6T(+[ MZ[^^PG0@=@JP[IW<`RC=)F$K8IHN2/%?F$Z]'5=')S>6_V MI[B_N)N,OMGKP!"M123:TY9"]9ANM((=RH/^K/QK57K]Y)F8V[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&.ERD&*31"$X'&^*@M=.%L'WKG-7-ZB='UC,;IU)@T7>@_A]G&X2] M@[+WGD-;0$$E-.$<=MD0N[6TY6&4LG(LLQB"`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&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(3WB'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@-':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 с открытым гмх'овским экраном ) вот такие вот дела .....




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

Похожие статьи:
Были - Были древних русичей.
Страницы истории - Толкин: окончание рассказа о культовом писателе.
Развитие Spectrum - Новый Speccy - AZXMONSTRUM 512K.
Под звуком "ПИ" - "Мне страшно за SPECTRUM! Из всей армии его поклонников, лишь единицы истинные спектрумисты!"
Softland - новые программы для спектрума: Monster 4, Fun Top'98 gfx pack, Real Commander v1.8, Sed Editor, MegaTetris 2000, 4x4 PuZzLe.

В этот день...   8 мая