dosutil: update mdiskchk, add Makefile
authorH. Peter Anvin <hpa@zytor.com>
Sun, 5 Jul 2009 08:04:50 +0000 (01:04 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 5 Jul 2009 08:04:50 +0000 (01:04 -0700)
Update mdiskchk and add a Makefile.  Note that since this needs
OpenWatcom to compile, we still check in the binary file (which is
quite small, anyway.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
dosutil/.gitignore [new file with mode: 0644]
dosutil/Makefile [new file with mode: 0644]
dosutil/mdiskchk.c
dosutil/mdiskchk.com

diff --git a/dosutil/.gitignore b/dosutil/.gitignore
new file mode 100644 (file)
index 0000000..0aec5f2
--- /dev/null
@@ -0,0 +1 @@
+!mdiskchk.com
diff --git a/dosutil/Makefile b/dosutil/Makefile
new file mode 100644 (file)
index 0000000..6a11f51
--- /dev/null
@@ -0,0 +1,18 @@
+#
+# OpenWatcom compile and link utility
+#
+WCL           = wcl
+WCLOPT_DOSCOM = -3 -osx -mt -bt=DOS -l=COM
+
+UPX           = upx
+
+%.com: %.c
+       $(WCL) $(WCLOPT_DOSCOM) -fe=$@ $<
+       $(UPX) --ultra-brute --lzma $@ || \
+               $(UPX) --ultra-brute $@ || \
+               true
+
+all: mdiskchk.com
+
+clean:
+       rm -f *.o *.obj *.com *.sys
index eec5be4..42aa511 100644 (file)
@@ -58,12 +58,12 @@ struct memdiskinfo *query_memdisk(int drive)
 
     __asm {
        .386;
-       mov eax, 454 d0800h;
-       mov ecx, 444 d0000h;
-       mov edx, 53490000 h;
+       mov eax, 454d0800h;
+       mov ecx, 444d0000h;
+       mov edx, 53490000h;
        mov dl, _dl;
-       mov ebx, 3f 4 b0000h;
-       int 13 h;
+       mov ebx, 3f4b0000h;
+       int 13h;
        mov _eax, eax;
        mov _ecx, ecx;
        mov _edx, edx;
@@ -99,21 +99,20 @@ const char *bootloadername(uint8_t id)
        uint8_t id, mask;
        const char *name;
     } *lp, list[] = {
-       {
-       0x00, 0xf0, "LILO"}, {
-       0x10, 0xf0, "LOADLIN"}, {
-       0x31, 0xff, "SYSLINUX"}, {
-       0x32, 0xff, "PXELINUX"}, {
-       0x33, 0xff, "ISOLINUX"}, {
-       0x34, 0xff, "EXTLINUX"}, {
-       0x30, 0xf0, "SYSLINUX family"}, {
-       0x40, 0xf0, "Etherboot"}, {
-       0x50, 0xf0, "ELILO"}, {
-       0x70, 0xf0, "GrUB"}, {
-       0x80, 0xf0, "U-Boot"}, {
-       0xA0, 0xf0, "Gujin"}, {
-       0xB0, 0xf0, "Qemu"}, {
-       0x00, 0x00, "unknown"}
+       {0x00, 0xf0, "LILO"}, 
+       {0x10, 0xf0, "LOADLIN"},
+       {0x31, 0xff, "SYSLINUX"},
+       {0x32, 0xff, "PXELINUX"},
+       {0x33, 0xff, "ISOLINUX"},
+       {0x34, 0xff, "EXTLINUX"},
+       {0x30, 0xf0, "SYSLINUX family"},
+       {0x40, 0xf0, "Etherboot"},
+       {0x50, 0xf0, "ELILO"},
+       {0x70, 0xf0, "GrUB"},
+       {0x80, 0xf0, "U-Boot"},
+       {0xA0, 0xf0, "Gujin"},
+       {0xB0, 0xf0, "Qemu"},
+       {0x00, 0x00, "unknown"}
     };
 
     for (lp = list;; lp++) {
index 07e1471..7825751 100755 (executable)
Binary files a/dosutil/mdiskchk.com and b/dosutil/mdiskchk.com differ