# HG changeset patch # User Pascal Bellard # Date 1650643256 0 # Node ID 584e67527789a4565d03dc9ad5b8d622a0f062cf # Parent 27c5a4be1423b23a5516497d915f72c31460f5f4 fix BootProg diff -r 27c5a4be1423 -r 584e67527789 BootProg/stuff/boot16.asm --- a/BootProg/stuff/boot16.asm Fri Apr 22 16:44:33 2022 +0100 +++ b/BootProg/stuff/boot16.asm Fri Apr 22 16:00:56 2022 +0000 @@ -64,12 +64,12 @@ ;; ;; ;; Boot Image Startup (register values): ;; ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; -;; dl = BIOS boot drive number (e.g. 0, 80H) ;; +;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; +;; bx = cx = 0, dl = BIOS boot drive number (e.g. 0, 80H) ;; ;; cs:ip = program entry point ;; ;; ss:sp = program stack (don't confuse with boot sector's stack) ;; ;; COM program defaults: cs = ds = es = ss = 50h, sp = 0, ip = 100h ;; ;; EXE program defaults: ds = es = EXE data - 10h (fake MS-DOS psp), ;; -;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; ;; cs:ip and ss:sp depends on EXE header ;; ;; Magic numbers: ;; ;; si = 16381 (prime number 2**14-3) ;; @@ -78,6 +78,7 @@ ;; The magic numbers let the program know whether it has been loaded by ;; ;; this boot sector or by MS-DOS, which may be handy for universal, bare- ;; ;; metal and MS-DOS programs. ;; +;; The command line contains no arguments. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -213,7 +214,7 @@ mul bx ; dx:ax = 0 = LBA (LBA are relative to FAT) mov cx, word [bx(bpbSectorsPerFAT)] - call ReadCXSectors ; read fat and clear ax & cx + call ReadCXSectors ; read fat and clear ax & cx; bp = SectorsPerFAT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; load the root directory in ;; @@ -230,7 +231,7 @@ mul bp ; [bx(bpbSectorsPerFAT)], set by ReadCXSectors push es - call ReadCXSectors ; read root directory; clear ax, cx and di + call ReadCXSectors ; read root directory; clear ax, cx & di; bp = first data sector pop es ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -334,6 +335,7 @@ ;; SI = cluster list ;; ;; DI = file sectors ;; ;; CH = 0 ;; +;; BP = 1st data sec ;; ;; Output: BP:0 -> buffer ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff -r 27c5a4be1423 -r 584e67527789 BootProg/stuff/boot32.asm --- a/BootProg/stuff/boot32.asm Fri Apr 22 16:44:33 2022 +0100 +++ b/BootProg/stuff/boot32.asm Fri Apr 22 16:00:56 2022 +0000 @@ -59,12 +59,12 @@ ;; ;; ;; Boot Image Startup (register values): ;; ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; -;; dl = BIOS boot drive number (e.g. 80H) ;; +;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; +;; bx = cx = 0, dl = BIOS boot drive number (e.g. 0, 80H) ;; ;; cs:ip = program entry point ;; ;; ss:sp = program stack (don't confuse with boot sector's stack) ;; ;; COM program defaults: cs = ds = es = ss = 50h, sp = 0, ip = 100h ;; ;; EXE program defaults: ds = es = EXE data - 10h (fake MS-DOS psp), ;; -;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; ;; cs:ip and ss:sp depends on EXE header ;; ;; Magic numbers: ;; ;; si = 16381 (prime number 2**14-3) ;; @@ -73,6 +73,7 @@ ;; The magic numbers let the program know whether it has been loaded by ;; ;; this boot sector or by MS-DOS, which may be handy for universal, bare- ;; ;; metal and MS-DOS programs. ;; +;; The command line contains no arguments. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -303,8 +304,10 @@ dec word [bx+06h] ; reloc items, 32768 max (128KB table) jns ReloCycle - add [bx+0Eh], bp - lss sp, [bx+0Eh] ; ss:sp for EXE + les si, [bx+0Eh] + add si, bp + mov ss, si ; ss for EXE + mov sp, es ; sp for EXE lea si, [bp-10h] ; ds and es both point to the segment push si ; containing the PSP structure @@ -336,7 +339,7 @@ ReadCluster: mov bp, [bx(bpbBytesPerSector)] shr bp, 4 ; bp = paragraphs per sector - add eax, byte 1 ; adjust LBA for next sector + add eax, byte 1 ; adjust LBA for next sector inc cx loop ReadSectorLBA @@ -349,7 +352,7 @@ ;; BP -> para / sector ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - imul ax, bp, byte 2 ; ax=# of FAT32 entries per sector + imul ax, bp, byte 4 ; ax=# of FAT32 entries per sector cwde lea edi, [esi-2] ; esi=cluster # xchg eax, esi @@ -369,7 +372,7 @@ xchg eax, edi movzx ecx, byte [bx(bpbSectorsPerCluster)] - mul ecx ; edx:eax=sector number in data area + mul ecx ; edx:eax=sector number in data area add eax, edi adc word [bx(HiLBA)], dx @@ -408,7 +411,7 @@ int 13h ; extended read sectors (DL, DS:SI) jnc ReadSuccess ; CF = 0 if no error - cbw ; ah = 0 = reset function + xor ax, ax ; ah = 0 = reset function int 13h ; reset drive (DL) dec bp diff -r 27c5a4be1423 -r 584e67527789 BootProg/stuff/bootex.asm --- a/BootProg/stuff/bootex.asm Fri Apr 22 16:44:33 2022 +0100 +++ b/BootProg/stuff/bootex.asm Fri Apr 22 16:00:56 2022 +0000 @@ -58,12 +58,12 @@ ;; ;; ;; Boot Image Startup (register values): ;; ;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;; -;; dl = BIOS boot drive number (e.g. 80H) ;; +;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; +;; bx = cx = 0, dl = BIOS boot drive number (e.g. 0, 80H) ;; ;; cs:ip = program entry point ;; ;; ss:sp = program stack (don't confuse with boot sector's stack) ;; ;; COM program defaults: cs = ds = es = ss = 50h, sp = 0, ip = 100h ;; ;; EXE program defaults: ds = es = EXE data - 10h (fake MS-DOS psp), ;; -;; ax = 0ffffh (both FCB in the PSP don't have a valid drive identifier), ;; ;; cs:ip and ss:sp depends on EXE header ;; ;; Magic numbers: ;; ;; si = 16381 (prime number 2**14-3) ;; @@ -72,6 +72,7 @@ ;; The magic numbers let the program know whether it has been loaded by ;; ;; this boot sector or by MS-DOS, which may be handy for universal, bare- ;; ;; metal and MS-DOS programs. ;; +;; The command line contains no arguments. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -226,8 +227,8 @@ popa ; restore ax, cx, si, di add di, byte 32 - sub bp, byte 32 - jnz FindNameCycle ; next root entry + cmp di, bp + jne FindNameCycle ; next root entry popf ; restore carry="not last sector" flag jc RootDirReadContinue ; continue to the next root dir cluster FindNameFailed: ; end of root directory (dir end reached) @@ -242,6 +243,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;; push es + xor bp, bp FileReadContinue: shr bp, 4 ; bytes to paragraphs mov di, es @@ -298,8 +300,10 @@ dec word [bx+06h] ; reloc items, 32768 max (128KB table) jns ReloCycle - add [bx+0Eh], bp - lss sp, [bx+0Eh] ; ss:sp for EXE + les si, [bx+0Eh] + add si, bp + mov ss, si ; ss for EXE + mov sp, es ; sp for EXE lea si, [bp-10h] ; ds and es both point to the segment push si ; containing the PSP structure @@ -344,16 +348,16 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ReadCluster: + add eax, byte 1 + inc cx ; jcxnz - add eax, byte 1 loop ReadSectorC + mul ebx ; edx:eax = 0 mov cl, [bx(bpbSectorSizeBits)] dec cx - dec cx - mul ebx ; edx:eax = 0 - inc ax - shl eax, cl ; eax=# of exFAT entries per sector + stc + rcl eax, cl ; eax=# of exFAT entries per sector lea edi, [esi-2] ; edi=cluster #-2 xchg eax, esi div esi ; eax=FAT sector #, edx=entry # in sector @@ -404,8 +408,7 @@ push es push bx push bp ; sector count word = 1 - mov cx, 16 - push cx ; packet size byte = 16, reserved byte = 0 + push byte 16 ; packet size byte = 16, reserved byte = 0 ReadSectorRetry: mov si, sp mov ah, 42h ; ah = 42h = extended read function no. @@ -416,7 +419,7 @@ xor ax, ax int 13h ; reset drive (DL) - loop ReadSectorRetry + loop ReadSectorRetry ; sector count retries (8 .. 65536) call Error db "Read error." diff -r 27c5a4be1423 -r 584e67527789 drupal/receipt --- a/drupal/receipt Fri Apr 22 16:44:33 2022 +0100 +++ b/drupal/receipt Fri Apr 22 16:00:56 2022 +0000 @@ -6,7 +6,7 @@ SHORT_DESC="PHP content management system." MAINTAINER="slaxemulator@gmail.com" LICENSE="GPL2" -WEB_SITE="https://www.drupal.org/" +WEB_SITE="https://git.drupalcode.org/project/drupal" TARBALL="$PACKAGE-$VERSION.tar.gz" WGET_URL="https://ftp.drupal.org/files/projects/$TARBALL" @@ -17,8 +17,8 @@ # What is the latest version available today? current_version() { - wget -O - ${WGET_URL%/*} 2>/dev/null | \ - sed "/latest/d;/$PACKAGE-[0-9]/!d;/dev/d;/-rc/d;/-beta/d;/-alpha/d;/tar/!d;s|.*$PACKAGE-\\(.*\\).tar.*|\\1|" | sort -Vr | sed q + wget -O - https://git.drupalcode.org/project/drupal/-/tags?sort=updated_desc 2>/dev/null | \ + sed '/item-title/!d;/alpha/d;s|.*">||;s|<.*||' | sort -Vr | sed q } # Rules to gen a SliTaz package suitable for Tazpkg. diff -r 27c5a4be1423 -r 584e67527789 memtest-serial/receipt --- a/memtest-serial/receipt Fri Apr 22 16:44:33 2022 +0100 +++ b/memtest-serial/receipt Fri Apr 22 16:00:56 2022 +0000 @@ -7,8 +7,8 @@ MAINTAINER="pascal.bellard@slitaz.org" LICENSE="GPL2" WEB_SITE="http://www.memtest.org/" +PROVIDE="memtest" WANTED="memtest" -PROVIDE="memtest" # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() diff -r 27c5a4be1423 -r 584e67527789 memtest/receipt --- a/memtest/receipt Fri Apr 22 16:44:33 2022 +0100 +++ b/memtest/receipt Fri Apr 22 16:00:56 2022 +0000 @@ -52,7 +52,7 @@ -e 's/SERIAL_BAUD_RATE 9600/SERIAL_BAUD_RATE 115200/' config.h make clean make - tune_lzma 179,mf=bt2 LC 2 + tune_lzma 179,mf=bt3 LC 2 ./pack memtest.bin memtest.packed-115200 mv memtest.bin memtest.bin.serial }