006
23.02.2018, 08:18 Uhr
winielektronik
|
Hallo
hier das SELDR aus meinem BIOS mit eingebautem IDERES. Fehler ist soweit behoben. ;------------------------------- ; LAUFWERK FESTLEGEN aus Drive Tab. FC45 D5 SELDR: PUSH DE FC46 E5 PUSH HL FC47 21 FFAC LD HL,HSTDSK ; NEW DRIVE FC4A 3A FFAD LD A,(DRIVE) ; DRIVE CURRENT FC4D E6 0F AND 0FH FC4F 57 LD D,A ; MAX 16 DRIVE FC50 7E LD A,(HL) ; CP/M DRIVE FC51 E6 0F AND 0FH FC53 5F LD E,A FC54 BA CP D FC55 28 1E JR Z,SELRET ; DRIVE SCHON SELECT -----> Ausgang ohne HDD-Reset FC57 16 00 LD D,0 FC59 21 FDC2 LD HL,TABLE FC5C 19 ADD HL,DE ; DRIVE SELECT FC5D 7E LD A,(HL) FC5E E6 F0 AND 0F0H FC60 B3 OR E ; IN E = DRIVE CP/M FC61 32 FFAD LD (DRIVE),A ; NEW DRIVE SET LBA, SLAVE/MASTER FC64 E6 80 AND 80H ; SET = EXTERN BUS FC66 57 LD D,A FC67 DB 1C IN A,(PIOA) FC69 CB BF RES 7,A ; BIT 7 EXT/INT FC6B B2 OR D FC6C D3 1C OUT (PIOA),A ; TASK UNSCHALTEN FC6E E6 80 AND 80H FC70 28 03 JR Z,SELRET ; Ausgang wenn nicht Extern HDD select dann (LW A: SD/MMC) FC72 CD FC36 CALL IDERES1 ; DRIVE EXTERN RESET FC75 E1 SELRET: POP HL FC76 D1 POP DE FC77 C9 RET ;------------------------------- ; IDE-FESTPLATTE RESET FC31 CD FC36 IDERES: CALL IDERES1 FC34 18 CB JR WAITBSY FC36 C5 IDERES1:PUSH BC FC37 3E 06 LD A,06 FC39 D3 F6 OUT (IDEDOR),A FC3B 06 00 LD B,0 FC3D 10 FE DJNZ $ FC3F 3E 02 LD A,02 FC41 D3 F6 OUT (IDEDOR),A FC43 C1 POP BC FC44 C9 RET |