# HG changeset patch # User Pascal Bellard # Date 1668530034 0 # Node ID 608a017317a80dc6b1dec57b6c8f44d2dfaa264d # Parent ed5f25d05ff6cec31260a6c66dc3adee8819b707 memtest: typos diff -r ed5f25d05ff6 -r 608a017317a8 memtest/receipt --- a/memtest/receipt Tue Nov 15 16:20:54 2022 +0000 +++ b/memtest/receipt Tue Nov 15 16:33:54 2022 +0000 @@ -30,26 +30,26 @@ { file=$1 shift - for i in lzma lz4 lzsa1 ; do - cp $stuff/*.S $stuff/packx . - sed "s/VERSION/$VERSION/;s|lzma1=|&nice=${1:-64},|" -i packx + for i in lzma lz4 lzsa1 lzsa2 ; do + cp $stuff/*.S $stuff/pack . + sed "s/VERSION/$VERSION/;s|lzma1=|&nice=${1:-64},|" -i pack while [ -n "$2" ]; do sed "s|^#define PROP_$2 .*|#define PROP_$2 $3|" -i unlzma.S shift 2 done - sed -i "s|uncompress|un$i|" unpackx.S + sed -i "s|uncompress|un$i|" unpack.S asm bootloader - asm unpackx - cp packx packx.bak - ./packx --build bootloader.bin unpackx.bin - PACKER=$i ./packx $file $file.$i + asm unpack + cp pack pack.bak + ./pack --build bootloader.bin unpack.bin + PACKER=$i ./pack $file $file.$i if [ $(stat -c %s $file.$i) -ge $((0x101F0)) ]; then rm $file.$i - cp packx.bak packx - sed -e "s|^#define FLAT16.*// lzma case|#define FLAT16 0 // $i|" -i unpackx.S - asm unpackx - ./packx --build bootloader.bin unpackx.bin - PACKER=$i ./packx $file $file.$i + cp pack.bak pack + sed -e "s|^#define FLAT16.*// lzma case|#define FLAT16 0 // $i|" -i unpack.S + asm unpack + ./pack --build bootloader.bin unpack.bin + PACKER=$i ./pack $file $file.$i fi done } diff -r ed5f25d05ff6 -r 608a017317a8 memtest/stuff/pack --- a/memtest/stuff/pack Tue Nov 15 16:20:54 2022 +0000 +++ b/memtest/stuff/pack Tue Nov 15 16:33:54 2022 +0000 @@ -45,7 +45,12 @@ compress() { - xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout + case "$PACKER" in + lz4) lz4 -l --best ;; + lzsa1) cat > /tmp/in$$ ; lzsa -f1 /tmp/in$$ /tmp/out$$ ; cat /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; + lzsa2) cat > /tmp/in$$ ; lzsa -f2 /tmp/in$$ /tmp/out$$ ; cat /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;; + *) xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout + esac } main() diff -r ed5f25d05ff6 -r 608a017317a8 memtest/stuff/unpack.S --- a/memtest/stuff/unpack.S Tue Nov 15 16:20:54 2022 +0000 +++ b/memtest/stuff/unpack.S Tue Nov 15 16:33:54 2022 +0000 @@ -7,7 +7,7 @@ #define UPDATE_SYSSIZE 1 #define HARDCODED_SYSSIZE 1 #define HARDCODED_SETUPSIZE 1 -#define FLAT16 1 +#define FLAT16 1 // lzma case //#define FLAT16OUT 0 #define SAVEREGS 0 #define ELKS 0 @@ -52,7 +52,7 @@ pushw %ds cld #else - pushw %cs + pushw %cs // return adress is %cs:0 # if FLAT16 xorw %di, %di pushw %di @@ -64,96 +64,89 @@ movw $0x100, %ax pushw %ax #else -#if UPDATE_SYSSIZE +# if UPDATE_SYSSIZE pushw %ds // -#else +# else pushw %cs // -#endif +# endif #endif #if FLAT16 # 1- move 9020..9020+stp -> TOPSEG -#if ELKS +# if ELKS movb $TOPSEG/256, %ah movw %ax, %es -#else +# else pushw $TOPSEG - popw %es -#endif - movw $0x200, %si -#if SAVEREGS == 0 + popw %es // %es:%di = TOPSEG:0 +# endif + movw $0x200, %si // %ds:%si = 9000:0200 +# if SAVEREGS == 0 pushw %es -#if ELKS - movw $cont, %ax - pushw %ax -#else - // pushw $cont - .byte 0x6A, cont -#endif - jmp jumpinto -#else -# if HARDCODED_SETUPSIZE + call jumpinto // move setup & jmp %es:cont +# else +# if HARDCODED_SETUPSIZE setup_word: movw $SETUP*256, %cx -# else +# else xorw %cx, %cx movb SETUPSIZE, %ch movw %cx, %dx -# endif +# endif pushw %cx // pushw %es pushw %di rep movsw lret -#endif +# endif cont: # 2- move 1000..1000+sys -> TOPSEG+stp -#if ELKS +# if ELKS movw $0x1000, %ax movw %ax, %ds -#else +# else pushw $0x1000 popw %ds -#endif - xorw %si, %si - subw %di, %cx +# endif + xorw %si, %si // %ds:%si = 1000:0 + subw %di, %cx // %cx = 64K - setupsz rep movsb # 3- unlz(TOPSEG+stp:end, 1000-stp:0) pushw %es // # if HARDCODED_SETUPSIZE setup_seg: -#if ELKS -# if UPDATE_SYSSIZE +# if ELKS +# if UPDATE_SYSSIZE movw $0x1000-(SETUP*32)-32, %ax +# else + movw $0x1000-(SETUP*32), %ax +# endif + movw %ax, %es # else - movw $0x1000-(SETUP*32), %ax +# if UPDATE_SYSSIZE + pushw $0x1000-(SETUP*32)-32 +# else + pushw $0x1000-(SETUP*32) +# endif + popw %es # endif - movw %ax, %es -#else -# if UPDATE_SYSSIZE - pushw $0x1000-(SETUP*32)-32 -# else - pushw $0x1000-(SETUP*32) -# endif - popw %es -#endif # else # if UPDATE_SYSSIZE incb %dh # endif -#if ELKS +# if ELKS shrw $1, %dx shrw $1, %dx shrw $1, %dx -#else +# else shrw $3, %dx -#endif +# endif movw %ds, %ax subw %dx, %ax movw %ax, %es -# endif -#else // FLAT16 +# endif +# else // FLAT16 # 1- move 1000..1000+sys -> 9000-sys # if HARDCODED_SYSSIZE packed_syssize: @@ -185,27 +178,29 @@ # else movb %ss:SETUPSIZE, %ch movw %cx, %ax -#if ELKS +# if ELKS shrw $1, %ax shrw $1, %ax shrw $1, %ax -#else +# else shrw $3, %ax -#endif +# endif subw %ax, %dx # endif +# if SAVEREGS != 0 pushw %cx // +# endif movw %dx, %es - xorw %si, %si - xorw %di, %di + xorw %si, %si // %cs:%si = 9020:0 + xorw %di, %di // %es:%di = 9000-sys-stp:0 rep movsw %cs:(%si),%es:(%di) - pushw %es + pushw %es // # 3- reloc itself in 0x7C00 pushw $0x07C0 popw %es - movw $cont, %si - movw %si, %di + movw $cont, %si // %cs:%si = 9020:cont + movw %si, %di // %es:%di = 7C0:cont movw $end-_start, %cx pushw %es pushw %di @@ -233,9 +228,9 @@ # endif #endif // FLAT16 popw %ds // - movw $end-_start, %si + movw $end-_start, %si // %ds:%si = TOPSSEG:compressed / 9000-sys-stp:compressed #if UPDATE_SYSSIZE - movw $SYSSIZE, %di + movw $SYSSIZE, %di // %es:%di = 1000-setup-bootsector:SYSSIZE #else xorw %di, %di #endif @@ -243,7 +238,7 @@ pushw %es call unpack popw %ds - popw %si + popw %si // %ds:%si = 1000-setup-bootsector:SYSSIZE movw %si, %di # if SAVEREGS != 0 popw %cx // @@ -253,7 +248,7 @@ popw %es // # 5- move 1000-stp..1000 -> 9020 # else - popw %es // + popw %es // %es:%di = 9000:SYSSIZE (the last 12 bytes are missing) jumpinto: # if HARDCODED_SETUPSIZE setup_word: @@ -279,6 +274,6 @@ #if ELKS #define ONLY8086 1 #endif -#include "unlzma.S" +#include "uncompress.S" end: