diff options
Diffstat (limited to 'os/boot/pc/pbslba.s')
| -rw-r--r-- | os/boot/pc/pbslba.s | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/os/boot/pc/pbslba.s b/os/boot/pc/pbslba.s index 56388868..4f7b8325 100644 --- a/os/boot/pc/pbslba.s +++ b/os/boot/pc/pbslba.s @@ -24,6 +24,7 @@ * FAT directory entry. */ #define Dname 0x00 +#define Dnamesz 0x0B #define Dext 0x08 #define Dattr 0x0B #define Dtime 0x16 @@ -125,7 +126,7 @@ TEXT _nxt(SB), $0 /* rCX contains 0x0001 */ SBPWI(0x0010, Xdap+0) /* reserved + packet size */ - SBPWI(rCX, Xdap+2) /* reserved + # of blocks to transfer */ + SBPW(rCX, Xdap+2) /* reserved + # of blocks to transfer */ DEC(rCX) SBPW(rCX, Xdap+12) @@ -147,7 +148,7 @@ _jmp00: _cmp00: PUSHR(rDI) /* save for later if it matches */ LWI(bootfile(SB), rSI) - LWI(Dattr, rCX) + LWI(Dnamesz, rCX) REP CMPSB POPR(rDI) @@ -357,6 +358,6 @@ TEXT bootfile(SB), $0 /* "PBS..." */ TEXT confidence(SB), $0 - BYTE $'P'; BYTE $'B'; BYTE $'S'; BYTE $'.'; - BYTE $'.'; BYTE $'.'; + BYTE $'P'; BYTE $'B'; BYTE $'S'; BYTE $'2'; + BYTE $'.'; BYTE $'.'; BYTE $'.'; BYTE $'\z'; |
