.Z80 ;******************************************************** ;* * ;* WILHELM - PIECK - UNIVERSITAET ROSTOCK * ;* Institut fuer sozialistische Wirtschaftsfuehrung * ;* EDV - Labor * ;* * ;* SELDSK85 Vers. 1.0 * ;* * ;* Bearbeiter: M. Ohlerich Stand: 12/07/88 * ;* K.-D. Kirves * ;******************************************************** ; ; Dieses Programm dient zur menuegesteuerten Einstellung ; der Disketten - Parameter fuer den KC 85/3. ; ASEG ORG 100H ; BDOS EQU 5 OFFVER EQU -52 ; Offset VERS - DPH0 ; POS MACRO LINE,COLUMN DEFB 1BH DEFB LINE+84H DEFB COLUMN+87H ENDM ; LD SP,STACK JP START ; CI: PUSH HL PUSH DE PUSH BC LD C,1 CALL BDOS POP BC POP DE POP HL CP 03H JP Z,SYSTEM RET ; CO: PUSH HL PUSH DE PUSH BC PUSH AF LD E,A LD C,2 CALL BDOS POP AF POP BC POP DE POP HL RET ; PSTR: PUSH HL PUSH DE PUSH BC PUSH AF LD C,9 CALL BDOS POP AF POP BC POP DE POP HL RET ; START: LD A,0CH CALL CO LD DE,ULC CALL HSTARS LD DE,URC CALL VSTARS LD DE,ULC CALL VSTARS LD DE,LLC CALL HSTARS LD DE,NAMMSG CALL PSTR LD C,0 LD E,24 CALL BIOS EX DE,HL LD HL,OFFVER ADD HL,DE LD B,(HL) INC HL LD C,(HL) LD HL,'85' OR A SBC HL,BC JP NZ,BADVER JP SELDSK ; NAMMSG: POS 2,8 DEFM 'VEB Mikroelektronik "Wilhelm Pieck" Muehlhausen' POS 4,16 DEFM 'MicroDOS - Diskettenformateinstellung' DEFB '$' ; HSTARS: CALL PSTR LD B,62 LD A,'*' HST1: CALL CO DJNZ HST1 RET ; VSTARS: CALL PSTR LD B,15 VST1: LD DE,VSTR CALL PSTR DJNZ VST1 RET VSTR: DEFB '*' DEFB 0AH DEFB 08H DEFB '$' ; ULC: POS 0,1 DEFB '$' URC: POS 0,62 DEFB '$' LLC: POS 15,1 DEFB '$' ; CLRSCR: LD B,58 LD DE,CLRMSG CALL PSTR CLR1: LD A,20H CALL CO DJNZ CLR1 LD HL,LINE INC (HL) LD A,92H CP (HL) JR NZ,CLRSCR LD (HL),89H RET ; CLRMSG: DEFB 1BH LINE: DEFB 89H DEFB 8BH DEFB '$' ; SELDSK: CALL CLRSCR SELDK1: LD DE,LUNMSG CALL PSTR CALL CI AND 0DFH SUB 'A' JR C,SELDK1 CP 2 JR C,SELDK1 CP 8 JR NC,SELDK1 LD (LUN),A SELDK2: LD DE,PUNMSG CALL PSTR CALL CI SUB '0' JR C,SELDK2 CP 3 JR NC,SELDK2 LD (PUN),A SELDK3: LD DE,TYPMSG CALL PSTR CALL CI SUB '1' JR C,SELDK3 CP 5 JR NC,SELDK3 INC A LD (TYP),A CALL CLRSCR LD DE,FMTMSG CALL PSTR LD A,(TYP) LD HL,FMTTAB-2 LD DE,2 SELDK4: ADD HL,DE DEC A JR NZ,SELDK4 LD E,(HL) INC HL LD D,(HL) CALL PSTR SELDK5: LD DE,CHCMSG CALL PSTR CALL CI SUB '1' JR C,SELDK5 CP 8 JR NC,SELDK5 LD (FMT),A LD A,(TYP) DEC A ADD A,A ADD A,A ADD A,A LD HL,FMT ADD A,(HL) ADD A,A LD D,0 LD E,A LD HL,PARTAB ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD A,D OR E JR Z,SELDK5 PUSH DE PUSH AF LD A,(LUN) LD C,A LD E,24 CALL BIOS POP AF LD DE,0 LD (HL),E INC HL LD (HL),D LD DE,9 ADD HL,DE LD E,(HL) INC HL LD D,(HL) POP HL PUSH HL PUSH DE LD DE,20 ADD HL,DE LD A,(PUN) LD (HL),A POP DE POP HL LD BC,26 LDIR ; SELDK6: LD DE,REPMSG CALL PSTR CALL CI AND 5FH CP 'J' JP Z,SELDSK CP 'N' JR NZ,SELDK6 JR SYSTEM ; BADVER: LD DE,BADMSG CALL PSTR CALL CI ; SYSTEM: LD C,25 CALL BDOS LD C,A LD E,24 CALL BIOS LD DE,ENDMSG CALL PSTR JP 0 ; BIOS: LD D,0 LD HL,(1) ADD HL,DE JP (HL) ; LUNMSG: POS 6,5 DEFM 'Welches logische Laufwerk soll eingestellt werden (C-H) ? ' DEFB 08H DEFB '$' ; PUNMSG: POS 7,5 DEFM 'Welches physische Laufwerk soll verwendet werden (0-3) ? ' DEFB 08H DEFB '$' ; TYPMSG: POS 8,5 DEFM 'Welcher Laufwerkstyp wird verwendet ? ' POS 9,10 DEFM '1 - MFS 1.2' POS 10,10 DEFM '2 - MFS 1.4' POS 11,10 DEFM '3 - MFS 1.6' CHCMSG: POS 13,15 DEFM 'Geben Sie die entsprechende Ziffer ein: ' DEFB 08H DEFB '$' ; FMTMSG: POS 6,5 DEFM 'Folgende Formate koennen eingestellt werden: ' DEFB '$' ; FMTTAB: DEFW TAB1,TAB2,TAB3 ; TAB1: POS 8,10 POS 9,10 DEFM '1 - 16 * 256 * 40 * 1' POS 10,10 DEFM '2 - 8 * 512 * 40 * 1' POS 11,10 DEFM '3 - 5 * 1024 * 40 * 1' POS 8,34 DEFM '4 - 5 * 1024 (-SCP-)' DEFB '$' ; TAB2: POS 8,10 DEFM '1 - 16 * 256 * 40 * 1' POS 9,10 DEFM '2 - 8 * 512 * 40 * 1' POS 10,10 DEFM '3 - 5 * 1024 * 40 * 1' POS 11,10 DEFM '4 - 16 * 256 * 80 * 1' POS 8,34 DEFM '5 - 5 * 1024 * 80 * 1' DEFB '$' ; TAB3: POS 8,10 DEFM '1 - 16 * 256 * 40 * 1' POS 9,10 DEFM '2 - 5 * 1024 * 40 * 1' POS 10,10 DEFM '3 - 8 * 512 * 40 * 2' POS 11,10 DEFM '4 - 16 * 256 * 80 * 1' POS 8,34 DEFM '5 - 5 * 1024 * 80 * 1' POS 9,34 DEFM '6 - 16 * 256 * 80 * 2' POS 10,34 DEFM '7 - 9 * 512 * 80 * 2' POS 11,34 DEFM '8 - 5 * 1024 * 80 * 2' DEFB '$' ; ENDMSG: DEFB 0CH POS 19,0 DEFB '$' ; REPMSG: POS 13,15 DEFB ' Wiederholung (j/n) ? ' DEFB 08H DEFB '$' ; BADMSG: POS 12,25 DEFB 'Falsches Betriebssystem !' DEFB '$' ; LUN: DEFB 0 PUN: DEFB 0 TYP: DEFB 0 FMT: DEFB 0 ; ; DISKETTEN - PARAMETER - BLOECKE ; PARTAB: DEFW PAR12,PAR13,PAR14, 0 DEFW 0, 0, 0, 0 DEFW PAR22,PAR23,PAR24,PAR25 DEFW PAR26, 0, 0, 0 DEFW PAR32,PAR33,PAR34,PAR35 DEFW PAR36,PAR37,PAR39,PAR38 ; ; MFS 1.2, 16*256*40*1 ; PAR12: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 73 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 041H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.2, 8*512*40*1 ; PAR13: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 73 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 002H ; PSH DEFB 003H ; PSM DEFB 008H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 041H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.2, 5*1024*40*1 ; PAR14: DEFW 40 ; SPT DEFB 3 ; BSH DEFB 7 ; BLM DEFB 0 ; EXM DEFW 199 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 041H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.4, 16*256*40*1 ; PAR22: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 73 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 052H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.4, 8*512*40*1 ; PAR23: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 73 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 002H ; PSH DEFB 003H ; PSM DEFB 008H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 052H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.4, 5*1024*40*1 ; PAR24: DEFW 40 ; SPT DEFB 3 ; BSH DEFB 7 ; BLM DEFB 0 ; EXM DEFW 199 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 052H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.4, 16*256*80*1 ; PAR25: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 146 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 042H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.4, 5*1024*80*1 ; PAR26: DEFW 40 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 199 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 042H ; TYP DEFB 0FFH ; PRE DEFB 0BFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 16*256*40*1 ; PAR32: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 73 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 053H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 5*1024*40*1 ; PAR33: DEFW 40 ; SPT DEFB 3 ; BSH DEFB 7 ; BLM DEFB 0 ; EXM DEFW 199 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 053H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 8*512*40*2 ; PAR34: DEFW 64 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 160 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 002H ; PSH DEFB 003H ; PSM DEFB 008H ; EOT DEFB 025H ; GAP DEFB 028H ; NTR DEFB 000H ; PUN DEFB 053H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 16*256*80*1 ; PAR35: DEFW 32 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 1 ; EXM DEFW 146 ; DSM DEFW 63 ; DRM DEFB 80H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 3 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 043H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 5*1024*80*1 ; PAR36: DEFW 40 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 0 ; EXM DEFW 199 ; DSM DEFW 63 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 043H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 16*256*80*2 ; PAR37: DEFW 64 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 0 ; EXM DEFW 319 ; DSM DEFW 127 ; DRM DEFB 0C0H ; AL0 DEFB 0 ; AL1 DEFW 16 ; CKS DEFW 0 ; OFF ; DEFB 001H ; PSH DEFB 001H ; PSM DEFB 010H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 043H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 9*512*80*2 ; PAR39: DEFW 72 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 0 ; EXM DEFW 350 ; DSM DEFW 127 ; DRM DEFB 0C0H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 2 ; OFF ; DEFB 002H ; PSH DEFB 003H ; PSM DEFB 009H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 043H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; ; MFS 1.6, 5*1024*80*2 ; PAR38: DEFW 80 ; SPT DEFB 4 ; BSH DEFB 15 ; BLM DEFB 0 ; EXM DEFW 389 ; DSM DEFW 127 ; DRM DEFB 0C0H ; AL0 DEFB 00H ; AL1 DEFW 16 ; CKS DEFW 2 ; OFF ; DEFB 003H ; PSH DEFB 007H ; PSM DEFB 005H ; EOT DEFB 025H ; GAP DEFB 050H ; NTR DEFB 000H ; PUN DEFB 043H ; TYP DEFB 0FFH ; PRE DEFB 0EFH ; SRT DEFB 014H ; HLT DEFB 0FFH ; CUR ; DEFS 64 STACK: ; END