PAGE 64 TITLE CONFIGURATOR 21-JAN-1983 MACLIB ZMACRO.LIB ;******************************************************** ;* * ;* -System configurator for mixed bios- * ;* * ;* Copyright (C) 1983 by L.Koopman. * ;* Waarbekenplein 13 * ;* 7553 KK Hengelo (o) * ;* 074-913022 * ;* Nederland * ;* * ;* Last edit date 19-May-1983 * ;* * ;******************************************************** SYSRAM EQU 0FF00H BDOS EQU 5 BEGIN: XOR A LD (ACTIV),A STARTA: PRINT <1AH,09H,09H,1BH,'G','4','CONFIG PROGRAM',1BH,'G','0'> PRINT PRINT <1Bh,'G','1','Warning',1BH,'G','0',' This program is to be used'> PRINT PRINT CALL TYPECON ;DISPLAY CONFIG. PRINT LD A,(ACTIV) OR A JP NZ,STEPCNT PRINT 'WANT TO MAKE ANY CHANGE ? (A-D) OR (CR) TO SKIP - ' CHARIN RES 5,A CP 13 JR Z,STEPCNT CP 'A' JP C,BEGIN CP 'D'+1 JP NC,BEGIN AND 7 ;MAKE IT 1-4 LD B,A LD A,80H GETMSK: RLCA DJNZ GETMSK LD B,A LD A,(TYPEFLAG) ;GET CONFIG BYTE XOR B LD (TYPEFLAG),A ;STORE NEW CONFIG JP STARTA ;DISPLAY IT STEPCNT: PRINT CHARIN RES 5,A CP 13 JR Z,TIME8 CP 'A' ;CHECK VALIDITY JP C,STARTA CP 'D'+1 JP NC,STARTA AND 7 ;MAKE IT 1-4 LD B,A LD A,1 GTSPMSK: RRCA DJNZ GTSPMSK LD B,A LD A,(TYPEFLAG) XOR B LD (TYPEFLAG),A LD A,0FFH LD (ACTIV),A JP STARTA TIME8: PRINT call getres ld a,b or a jr z,time5 xor a ld (hl),a hexin buffer ld (speed8),a time5: PRINT call getres ld a,b or a jr z,retry xor a ld (hl),a hexin buffer LD (SPEED5),A RETRY: PRINT call getres ld a,b or a jr z,quit xor a ld (hl),a hexin buffer LD (MAXRWT),A QUIT: PRINT RET getres: ld b,0 ;char count ld hl,buffer inloop: push bc push hl ld c,1 call bdos pop hl pop bc cp cr ret z call makebig ;convert to upper case ld (hl),a ;store in buffer inc hl inc b ;inc char count jr inloop makebig: cp 60h ret c res 5,a ret TYPECON: PRINT LD A,(TYPEFLAG) LD C,A LD B,4 ;MAX DRIVE NO LD A,'A' TYPEIT: SRL C CALL C,TYPE8 ;8 INCH CALL NC,TYPE5 ;5 INCH INC A DJNZ TYPEIT RET TYPE8: SAVE PUSH AF PRINT POP AF PUSH AF CHAROUT PRINT ' IS CONFIGURED AS "8 INCH"' POP AF RESTORE RET TYPE5: SAVE PUSH AF AND 7 ;MAKE IT DRIVE NO: LD B,A LD A,(TYPEFLAG) TYPE5LP: SLA A DJNZ TYPE5LP JR NC,TYPE5S TYPE5D: POP AF RESTORE JR T5DOUB TYPE5S: POP AF RESTORE JR T5SING T5DOUB: SAVE PUSH AF PRINT POP AF PUSH AF CHAROUT PRINT ' IS CONFIGURED AS "5 1/4 INCH DOUBLE STEPS"' POP AF RESTORE RET T5SING: SAVE PUSH AF PRINT POP AF PUSH AF CHAROUT PRINT ' IS CONFIGURED AS "5 1/4 INCH SINGLE STEPS"' POP AF RESTORE RET ACTIV: DEFS 1 BUFFER: BUFF2 EQU $+1 DEFS 80 .XLIST .PHASE SYSRAM INCLUDE MEMDEF.MAC .DEPHASE .LIST END BEGIN