;**************************************************************** ;* Module name : AUTOB.ZSM * ;* Purpose : To Autoboot from a B Drive * ;* Created : 12-08-89 * ;* Last edit : 12-08-89 Version 1.0 * ;* Copyright : G R Buckeridge * ;**************************************************************** ORG 100H ;Important (start of TPA) PUSH HL LD C,45 ;SET BDOS ERROR MODE LD E,255 ;return error mode CALL 5 ;call BDOS LD C,13 ;RESET DISK SYSTEM CALL 5 LD C,14 ;SELECT DISK LD E,1 ;drive B CALL 5 LD C,24 ;RETURN LOGIN VECTOR CALL 5 PUSH HL ;save it LD C,17 ;SEARCH FOR FIRST LD DE,FCB ;occurance if file in FCB CALL 5 PUSH AF ;save result LD C,45 ;RESET ERROR MODE LD E,0 ;to default mode CALL 5 POP AF ;profile.sub found (result) POP HL ;login vector BIT 1,L ;drive B found? JR NZ,B.DRV ;YES? POP HL RET ;NO? B.DRV CP 4 JR NC,NO.PRO ;if >3 profile.sub not found LD HL,FOUND-1 ;copy FOUND to DMA CALL DMACPY POP HL LD C,47 ;CHAIN TO PROGRAM LD E,255 ;submit b:profile.sub CALL 5 NO.PRO LD HL,NOT.FND-1 ;copy NOT.FND to DMA CALL DMACPY POP HL LD C,47 ;CHAIN TO PROGRAM LD E,255 ;b:dir CALL 5 DMACPY LD BC,7FH ;copy command line to DMA LOOP INC HL INC BC LD A,(HL) ;from source LD (BC),A ;to destination CP 0 ;zero terminates line JP NZ,LOOP RET FCB DEFB 2 DEFB 'PROFILE SUB' DEFB 0 FOUND DEFB 'B:!A:SUBMIT PROFILE' DEFB 0 NOT.FND DEFB 'B:!A:DIR' DEFB 0 END 2 DEFB 'PROFILE SUB' DEFB 0 FOUND DEFB 'B:!A:SUBMIT PROFILE' DEFB 0 NOT.FND DEFB '