pushf push.w cs push.w #_test bra.s _new13 _test: nop nop nop _drivecheck: dc.b $80,$FA,$80 ;Compare DL with 0x80 [Gema no compile]. bne.s _check_mapped ;If not equal, check mapped. dc.b $B2 MapNew80 dc.b $80 rts _check_mapped: cs:cmp.b MapNew80, dl ;Want the mapped drive? bne.s _check_done ;No, so continue regardless. move.b #$80, dl ;Give 'em the remapped one. _check_done: rts ************************************* _ret13: pushf cs:push.l TmpStack ; bsr.w _drivecheck ; iret _new13: cmp.b #8, ah ;Get Current Drive Parameters [DL!=Drive] beq.s _call_old ;No Swap. cmp.b #15, ah ;Write Sector Buffer [DL!=Drive]. beq.s _call_old ;No Swap. *--* ss:pop.l TmpStack :Save the calling CS:IP bsr.w _drivecheck ; push cs ;Return to address. push #_ret13 ;Our offset. ***************************************************************************** _call_old: dc.b $EA ;JMP xxxx:xxxx ***************************************************************************** CodeEnd ***************************************************************************** OldHandle ds.w 2 ;The old handler TmpStack ds.w 2 ;Temp storage. Timer ds.w 1 ***************************************************************************** CodeEndDSS *****************************************************************************