Commit dd2293f
fatfs.c: fix earlier fix, update dir_size in map_cluster loop
Earlier fix was #242 (this got the
cluster value to use wrong).
Original problem recorded in #241
Reset disk scriptlet:
nasm -I ~/proj/lmacros/ ~/proj/bootimg/bootimg.asm \
-D_PAYLOADFILE=::empty -o diskempt.img
cp -a ~/proj/kernel/bin/kernel.sys fdkernel.sys
Run dosemu2 with -I "floppy { device diskempt.img }"
After a test, run /sbin/dosfsck -n diskempt.img
The following Script for lDebug files are test cases:
=== testshrt.sld
e 200 "A:\test.dat" 0
f 300 l 100 26
a
mov ah, 3C
mov cx, 0
mov dx, 200
int 21
xchg bx, ax
mov ax, 4200
mov cx, 1000
mov dx, cx
int 21
mov dx, 300
mov cx, 10
mov ah, 3F
int 21
.
r v0 := aao
a
mov ah, 40
int 21
int3
int3
jmp (v0)
.
=== testfull.sld
e 200 "A:\test.dat" 0
f 400 l 400 38
a
mov ah, 3C
mov cx, 0
mov dx, 200
int 21
xchg bx, ax
mov ax, 4200
mov cx, ((#1424 * #1024 - 1) >> 10)
mov dx, ((#1424 * #1024 - 1) & FFFF)
int 21
mov ah, 40
mov dx, 400
mov cx, 1
int 21
mov ah, 68
int 21
mov ax, 4202
mov cx, -1
mov dx, -10
int 21
mov ah, 40
mov dx, 400
mov cx, 10
int 21
int3
mov ah, 68
int 21
nop
int3
nop
jmp 100
.
=== testful2.sld
e 200 "A:\test.dat" 0
f 400 l 400 38
a
mov ah, 3C
mov cx, 0
mov dx, 200
int 21
xchg bx, ax
mov ax, 4200
mov cx, ((#1424 * #1024 - #512 - 1) >> 10)
mov dx, ((#1424 * #1024 - #512 - 1) & FFFF)
int 21
mov ah, 40
mov dx, 400
mov cx, 1
int 21
mov ah, 68
int 21
mov ax, 4202
mov cx, -1
mov dx, -10
int 21
mov ah, 40
mov dx, 400
mov cx, 10
int 21
int3
mov ah, 68
int 21
nop
int3
nop
jmp 100
.
=== testful3.sld
e 200 "A:\test.dat" 0
f 400 l 400 38
a
mov ah, 3C
mov cx, 0
mov dx, 200
int 21
xchg bx, ax
mov ax, 4200
mov cx, ((#1424 * #1024 - #512) >> 10)
mov dx, ((#1424 * #1024 - #512) & FFFF)
int 21
mov ah, 40
mov dx, 400
mov cx, 0
int 21
mov ah, 68
int 21
mov ax, 4202
mov cx, -1
mov dx, -10
int 21
mov ah, 40
mov dx, 400
mov cx, 10
int 21
int3
mov ah, 68
int 21
nop
int3
nop
jmp 100
.
===1 parent 6734c10 commit dd2293f
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1029 | 1029 | | |
1030 | 1030 | | |
1031 | 1031 | | |
1032 | | - | |
| 1032 | + | |
1033 | 1033 | | |
1034 | 1034 | | |
1035 | 1035 | | |
| |||
0 commit comments