ld hl, (_blk_op+BLKPARAM_ADDR_OFFSET) ; blkparam.addr
ld bc, #IDE_REG_DATA ; setup port number
; and count
+ push af
#ifdef SWAPDEV
cp #2
jr nz, not_swapin
doread:
inir ; transfer first 256 bytes
inir ; transfer second 256 bytes
+ pop af
+ or a
+ ret z
jp map_kernel ; else map kernel then return
__endasm;
}
ld hl, (_blk_op+BLKPARAM_ADDR_OFFSET) ; blkparam.addr
ld bc, #IDE_REG_DATA ; setup port number
; and count
+ push af
#ifdef SWAPDEV
cp #2
jr nz, not_swapout
dowrite:
otir ; transfer first 256 bytes
otir ; transfer second 256 bytes
+ pop af
+ ret z
jp map_kernel ; else map kernel then return
__endasm;
}