/n/dump/2010/0407/usr/cinap_lenrek/code/tuttleboot/sys/src/boot/pc/bootiso.s:120,133 - bootiso.s:120,135 CLR(rDX) LWI(0x0010, rAX) - LWI(100, rCX) + LWI(0xFF, rCX) + CLR(rBX) _nextpvd: CALL16(BIOSread(SB)) - LBPB(Xbuf, rBX) + LBPB(Xbuf, rBL) CMPI(1, rBX) JEQ _pvdfound + CLR(rBX) ADDI(1, rAX) - ADC(rCX, rDX) + ADC(rBX, rDX) LOOP _nextpvd CALL16(srcherror(SB)) /n/dump/2010/0407/usr/cinap_lenrek/code/tuttleboot/sys/src/boot/pc/bootiso.s:158,167 - bootiso.s:160,174 JMP _loop TEXT BIOSread(SB), $0 + LWI(5, rDI) /* retry count (ATAPI ZIPs suck) */ _retry: PUSHA + PUSHS(rDS) + PUSHS(rES) + PUSHS(rFS) + PUSHS(rGS) SBPW(rAX, Xdap+8) SBPW(rDX, Xdap+10) /n/dump/2010/0407/usr/cinap_lenrek/code/tuttleboot/sys/src/boot/pc/bootiso.s:170,187 - bootiso.s:177,195 MW(rBP, rSI) ADDI(Xbuf, rSI) SBPW(rSI, Xdap+4) /* transfer buffer :offset */ - MFSR(rES, rSI) /* transfer buffer seg: */ + MFSR(rSS, rSI) /* transfer buffer seg: */ SBPW(rSI, Xdap+6) MW(rBP, rSI) /* Xdap == BP */ LBPB(Xdrive, rDL) - LBI(0x42, rAH) + LWI(0x4200, rAX) + BIOSCALL(0x13) - JCC _popret + JCC _readok _reset: LWI((0x0E00+'?'), rAX) - BIOSCALL(0x10) + BIOSCALL(0x10) /* reset the drive */ LBPB(Xdrive, rDL) /n/dump/2010/0407/usr/cinap_lenrek/code/tuttleboot/sys/src/boot/pc/bootiso.s:188,194 - bootiso.s:196,207 CLR(rAX) BIOSCALL(0x13) + POPS(rGS) + POPS(rFS) + POPS(rES) + POPS(rDS) POPA + DEC(rDI) JNE _retry /n/dump/2010/0407/usr/cinap_lenrek/code/tuttleboot/sys/src/boot/pc/bootiso.s:219,226 - bootiso.s:232,244 POKEW /* MOVW AX, ES:[BX] */ FARJUMP16(0xFFFF, 0x0000) - _popret: + _readok: + POPS(rGS) + POPS(rFS) + POPS(rES) + POPS(rDS) POPA + RET TEXT walk(SB), $0