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]