isdos fatal errors

ZXNet echo conference «code.zx»

From Valerij Kozhevnikoff To Igor Krauklis 1 September 1999

Hello, Igor! 01 Jul 99 17:47, Igor Krauklis -> All: Sorry for the harsh brakes, the bad work was completely exhausting. IK>>> So, there is: Seagate 40 MB, Ide-Nemov controller, ST-157A? A difficult case. IK>>> new isdos (newest), screw blocker by Jason, blocker IK>>> memory by Ruiner. IK>>> When formatting text on the screw, it (the text) breaks. IK>>> Chunks of other text come from incomprehensible places (actually IK>>> it’s clear where it comes from - from other files). There are NO glitches there. IK> So: new information on subject troubles. IK> I took ide+3.blk from Leontyev. Everything was formatted normally. IK> Conclusion: Jason screwed it up. Here is exactly the jason.blk that you have the subject. If you find bugs here, feel free to kick me =) And here's a little: ······------====== Monitor glass cutter ======------······ ;(c) Jason. ;idenemo.blk ;HDD IDE driver for IsDOS. ;NEMO controller supported. ;Direct HDD access used. DEFW INSTL ;16 system bytes DEFW BREAD DEFW BWRITE DEFW INIT DEFB #E0 ;driver status bytes DEFB #04 ;disk drive rudimentsDEFW #0000 ;offset to IM2 DEFB #FC ;type tpdosa DEFB #04 ;number of attempts R/W DEFW #0000 ;-----------------------;fopmat "caps" without HEAD DEFB #00 ;geometpia. how many heads SECTOR DEFB #00 ;sectopov HDDMAP DEFW 0 ;initial cylinders DEFW 0 DEFW 0 DEFW 0 DEFW 0 DEFW 0 DEFW 0 DEFW 0 QCYLND DEFW #0270 ;number of BLOCKS in cyl.! DEFB #FA,#02 ;??? unclear CURDEV DEFW #0000 ;start. cil. current. ystpoi CURDRV DEFB #A0 ;mask flow. beer TICKS_ DEFW #1770 ;6000 ticks to disable. ;===============================;further all my INSTL CP #08 ;switching ystances. JR NC,INIT ;A=#FF is called after each move or yset ;A=#FE is called before yremoving RLCA LD HL,HDDMAP LD B,#00 LD C,A ADD HL,BC LD DE,CURDEV LDI LDI HEAT IN A,(#F0) ;screw in turn? CP #50 RET Z ;yes! SRESET DI ;otherwise save it LD A,(CURDRV) OUT (#D0),A LD A,#0C OUT (#C8),A LD B,#001$ DJNZ 1$ ;pause LD A,#08 OUT(#C8),A 2$ IN A,(#F0) ;wait for BSY to be withdrawn RLCA JR C,2$ LD A,#10 OUT (#F0),A ;command "recalibration" EI _WAIT_ CALL BRKTST RET C IN A,(#F0) BIT 7.A JR NZ,_WAIT_ ;waiting for execution CP #50 ;is the screw ok? RET Z JR SRESET BRKTST LD C,9 ;check BREAK RST #10 RET Z CP #16 SCF RET Z OR A RET ;==============================; BREAD LD C,#00 ;read flag JR LLLL BWRITE LD C,#FF ;write flag LLLL CALL WORK__ EI RET WORK__ LD A,B ;!> (quantity) PUSH DE ;start EXX ;changed set ;---------------------------------; POP DE ;job file calculation LD HL,(QCYLND) ;cvol SRL H RR L EX DE,HL SRL H RR L EX AF,AF' ;!> XOR A ; LD C,A ;hl - disp LD B,A ;de - cvolCNTCLD SBC HL,DE ;disp?cvol INC BC JR NC,CNTCLD DEC BC ;bc - disp/cvol = dcyl ADD HL,DE ;hl - disp?cvol = lsec LD A,(SECTOR) ;a - qsec LD E,A XOR A LD D,A CNTHED SBC HL,DE ;hl - lsec INC A JR NC,CNTHED DEC A ;a - lsec/qsec = dhead ADD HL,DE ;hl - lsec?qsec = dsec LD H,A EX DE,HL ;d-thead, e-tsec INC E LD HL,(CURDEV) ;hl - cyl ADD HL,BC ;cyl + dcyl = tcyl! LD A,(CURDRV) OR D LD D,A ;пpивод/головка в D ;-------------------------------; PUSH HL ; LD HL,FLAGS_ EX AF,AF' ;!< кол-во _блоков_ для опеp. LD B,A ;если кооpд. четна - CY=0 LD A,#00 RLA ;четность кооpд. SRL B ;B/2 (счетчик) RLA JR NZ,TASKFL ;что-то нечетно DEC HL DEC HL RRA TASKFL LD C,A LD A,B LD (COUNT),A LD B,#00 ADD HL,BC LD A,(HL) ; IK> ide+3.blk (date: 02-05-98) IK> copy 6078 blocks (32 files) (E: to E:) IK> with buffer 80K : 109 sec. IK> without buffer : 132 sec. IK> Jason.blk (date: 04/29/99) IK> copy 6078 blocks (32 files) (E: to E:) IK> with buffer 80K : 91 sec. IK> without buffer : 112 sec. Hehe, he's chasing even more, guess how =) WBR, Jason. [Team Obituary][Team Friday 13th][Team Evil Maniacs][Team Huge Axes]