Changeset 30 for trunk/TOOLS/DOS/INITHDD/INITHDD.ASM
- Timestamp:
- May 6, 2011, 4:25:19 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/TOOLS/DOS/INITHDD/INITHDD.ASM
r29 r30 20 20 21 21 Include ..\..\..\include\asm.inc 22 include ..\..\..\include\dos\airboot.inc22 ;include ..\..\..\include\dos\airboot.inc 23 23 24 24 .386p … … 36 36 TXT_ERROR_NotNeeded db 'INITHDD: Initialization not needed.', 13, 10, 0 37 37 TXT_Done db 'INITHDD: HDD was successfully initialized.', 13, 10, 0 38 TXT_Cleared db 'INITHDD: Reserved Sectors successfully cleared.', 13, 10, 0 ; Rousseau: added 38 39 39 40 StandardMBR: … … 68 69 dw 00000h, 00000h, 00000h, 0AA55h 69 70 70 Include ..\..\..\include\DOS\Const.asm71 ; Include ..\..\..\include\DOS\Const.asm 71 72 72 73 INITHDD_Start: mov ax, cs … … 84 85 mov ax, 0201h ; Read 1 sector 85 86 int 13h 87 jnc Clear ; Rousseau: added (only clear) 86 88 jnc LoadMBR_NoError 87 89 mov si, offset TXT_ERROR_IO … … 91 93 ; Check Master-Boot-Record Signature 92 94 cmp wptr ds:[CurMBR+01FEh], 0AA55h 93 je AlreadyInitialized95 ;;je AlreadyInitialized ; Rousseau: always initialize 94 96 95 97 mov ax, cs … … 107 109 mov si, offset TXT_Done 108 110 call MBR_Teletype 111 112 ; Rousseau: added 113 Clear: 114 call MBR_ClearReservedSectors 115 mov si, offset TXT_Cleared 116 call MBR_Teletype 117 ; Rousseau: end added 118 109 119 jmp GoByeBye 110 120 … … 132 142 MBR_Teletype EndP 133 143 144 145 ; Rousseau: added 146 MBR_ClearReservedSectors Proc Near 147 mov ax, cs 148 mov es, ax ; Make sure that ES is right 149 mov cx, 2 ; Index of first reserved sector to clear 150 MBR_ClearReservedSectors_loop: 151 push cx ; Put on stack for later use 152 mov bx, offset ZeroSEC ; Block of 0's 153 mov dx, 0080h ; First harddrive, Sector in cx 154 ;mov cx, 0001h 155 mov ax, 0301h ; Function 03, 1 sector to write 156 int 13h 157 pop cx ; Pop sector-index 158 inc cx ; Next sector 159 cmp cx, 62 ; If below 63 (Possible LVM) then... 160 jbe MBR_ClearReservedSectors_loop ; Repeat 161 ret 162 MBR_ClearReservedSectors EndP 163 164 165 134 166 CurMBR db 512 dup (?) 167 ZeroSEC db 512 dup (0) ; Rousseau: added 135 168 136 169 code_seg ends
Note:
See TracChangeset
for help on using the changeset viewer.