driver (Re: iS-DOS 5.0)

ZXNet echo conference «zx.spectrum»

From Tyukaev Eugene Vladimirovich To All 1 December 1997


Hi Igor Gruzdev !
> Hello, Tyukaev!
>
> But no. I have. But here's what there is (from Misha Kondratyev, in the distributed
> archive with compiled drivers):
> I hope it won't be difficult to compile into what you need (for those who understand this
>). I don't. ;(
tried to compile - ASM doesn’t understand a damn thing, but that’s not the point,
I practically figured out how it is and what compiles!
only there is one problem:
>
> .z80
> .ideal
> title ZX-128 RamDisk Driver
[skip]
> .dw Blk_Read
> .dw Blk_Write
> .dw Blk_Init
> db 0xE0
> db 4
who knows what these bytes are?
[skip]
> Pages: db 0x51,0x53,0x54,0x56,0x57 ; size=320
and here is the problem:
I added these to the pages bytes: #11,#13,#14,#16,#17 - the usual 128 pages
and also this: #50,#52,#55 - this is something that was not there before (with the 6th bit)
and the last - combinations with the 7th bit: #90,#91,..,#97,#d0,#d1,..,#d7
so here I have IS-DOS shuts down on pages with the 7th bit!!! 512 are comingOk!
>
maybe someone knows what’s wrong, please look below, maybe
something will be clear here, because for me it turned out to be a problem ;(
> Blk_Read: xor a
> jr _common
>
> Blk_Write: ld a, 0xEB
>
> _common:
> .c< ld (_xchg_1), a >
> .c< ld (_xchg_2), a >
> ld a, h
> add a, b
> jr c, too_high
> add a, 40h
> jr nz, too_high
> dec a
> add a, l
> too_high: ld a, 7
> ret c
> jr bot
>
> top: ld a, e
> or 0xC0
> push af
> neg
> ld c, b
> cp b
> jr nc, _enough
> ld c, a
> _enough: ld a, b
> sub c
> ld b, 0
> ex de, hl
> push hl
> add hl, bc
> ex (sp), hl
> add hl, hl
> add hl, hl
> ld l, h
> ld h, b
> ld b, a
> push bc
> .c< ld bc, Pages >
> add hl, bc
> pop bc
> ld a, (hl)
> pop hl
> ex (sp), hl
> push bc
> ld b, c
> ld c, 0
> ld l, c
> di
> out (0xFD), a
> _xchg_1: ex de, hl
> ldir
> _xchg_2: ex de, hl
> ld a, 0x50
>out (0xFD), a
> ei
> ex de, hl
> pop bc
> pop de
> bot: inc b
> djnz top
> Blk_Init: xor a
> ret
>
> ltable
>
> end
or maybe IS-DOS throws it somewhere and stores something in the pages with 7 bit?


> With all kinds of regards and wishes.
> Igor.
Eugene AKA Point777 of CrazyBrothers/Phantasy 2:4621/2.777