# HG changeset patch # User Pascal Bellard # Date 1664295712 0 # Node ID 9a714ac859a35f781bd072d5261925cceaaee656 # Parent ad0bc3efbf3791955ea59582585bfd4fa2d883f8 Update some web_site diff -r ad0bc3efbf37 -r 9a714ac859a3 BootProg/stuff/boot16.asm --- a/BootProg/stuff/boot16.asm Fri Sep 23 08:28:09 2022 +0000 +++ b/BootProg/stuff/boot16.asm Tue Sep 27 16:21:52 2022 +0000 @@ -84,11 +84,12 @@ %define bx(label) bx+label-boot %define si(label) si+label-boot -NullEntryCheck equ 1 ; +3 bytes +NullEntryCheck equ 1 ; +2 bytes ReadRetry equ 1 ; +9 bytes LBAsupport equ 1 ; +16 bytes Over2GB equ 1 ; +5 bytes GeometryCheck equ 1 ; +18 bytes +SectorOf512Bytes equ 1 ; -4/-6 bytes [BITS 16] [CPU 8086] @@ -134,8 +135,8 @@ bsUnused DB 0 ; 0x25 bsExtBootSignature DB 0 ; 0x26 bsSerialNumber DD 0 ; 0x27 -bsVolumeLabel DB "NO NAME " ; 0x2B -bsFileSystem DB "FAT12 " ; 0x36 +bsVolumeLabel times 11 DB " " ; 0x2B "NO NAME " +bsFileSystem times 8 DB " " ; 0x36 "FAT12 " or "FAT16 " ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Boot sector code starts here ;; @@ -223,26 +224,32 @@ push es mul bx ; dx:ax = 0 = LBA (LBA are relative to FAT) - mov cx, word [bx(bpbSectorsPerFAT)] + mov di, word [bx(bpbSectorsPerFAT)] - call ReadCXSectors ; read fat and clear ax & cx; bp = SectorsPerFAT + call ReadDISectors ; read fat; clear ax, cx, di; bp = SectorsPerFAT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; load the root directory in ;; ;; its entirety (16KB max) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +%if SectorOf512Bytes != 0 + mov di, word [bx(bpbRootEntries)] + mov cl, 4 + shr di, cl ; di = root directory size in sectors +%else mov al, 32 mul word [bx(bpbRootEntries)] div word [bx(bpbBytesPerSector)] - xchg ax, cx ; cx = root directory size in sectors, clear ax + xchg ax, di ; di = root directory size in sectors, clear ah +%endif mov al, [bpbNumberOfFATs] - mul bp ; [bx(bpbSectorsPerFAT)], set by ReadCXSectors + mul bp ; [bx(bpbSectorsPerFAT)], set by ReadDISectors push es ; read root directory - call ReadCXSectors ; clear ax, cx & di; bp = first data sector + call ReadDISectors ; clear ax, cx, di; bp = first data sector pop es ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -267,14 +274,16 @@ pop di je FindNameFound %if NullEntryCheck != 0 - scasb - je FindNameFailed ; end of root directory (NULL entry found) - add di, byte 31 + scasb ; Z == NC + cmc + lea di, [di+31] + dec word [bx(bpbRootEntries)] + ja FindNameCycle ; next root entry %else add di, byte 32 -%endif dec word [bx(bpbRootEntries)] jnz FindNameCycle ; next root entry +%endif FindNameFailed: call Error @@ -304,9 +313,9 @@ ;; CH = 0 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -FAT12 equ 1 -FAT16 equ 1 -TINYFAT16 equ 1 +FAT12 equ 1 +FAT16 equ 1 +TINYFAT16 equ 1 push di ; up to 2 * 635K / BytesPerCluster = 2540 bytes %if FAT12 == 1 mov cl, 12 @@ -323,10 +332,11 @@ mov dx, 0FFF6h %if TINYFAT16 == 1 test [bx(bsFileSystem+4)], cl ; FAT12 or FAT16 ? clear C + jne ReadClusterFat16 %else cmp [bx(bpbSectorsPerFAT)], cx ; 1..12 = FAT12, 16..256 = FAT16 + ja ReadClusterFat16 %endif - jne ReadClusterFat16 mov dh, 0Fh %endif %endif @@ -388,9 +398,9 @@ add ax, bp ; LBA for cluster data adc dx, bx ; dx:ax = LBA - call ReadSector ; clear ax, restore dx + call ReadSectors ; clear ax, restore dx - jne ReadClusters + jne ReadClusters ; until end of file pop bp ; ImageLoadSeg @@ -470,14 +480,52 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; retf -ReadCXSectors: - mov bp, cx +;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Error Messaging Code ;; +;;;;;;;;;;;;;;;;;;;;;;;;;; + +Error: + pop si + +PutStr: + mov ah, 0Eh + mov bl, 7 + lodsb + int 10h + cmp al, "." + jne PutStr + + cbw + int 16h ; wait for a key... + int 19h ; bootstrap + +Stop: + hlt + jmp short Stop + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Read sectors using BIOS Int 13h ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Input: DX:AX = LBA relative to FAT ;; +;; BX = 0 ;; +;; DI = sector count ;; +;; ES:BX -> buffer address ;; +;; Output: ES:BX -> next address ;; +;; BX = 0 ;; +;; CX = 0 ;; +;; DI = 0 ;; +;; DL = drive number ;; +;; DX:BP = next LBA from FAT ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +ReadDISectors: + mov bp, di add bp, ax ; adjust LBA for cluster data - mov di, cx ; no file size limit + mov cx, di ; no cluster size limit ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Reads sectors using BIOS Int 13h ;; +;; Read sectors using BIOS Int 13h ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Input: DX:AX = LBA relative to FAT ;; ;; BX = 0 ;; @@ -490,7 +538,7 @@ ;; DL = drive number ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -ReadSector: +ReadSectors: add ax, [bx(bpbHiddenSectors)] adc dx, [bx(bpbHiddenSectors)+2] add ax, [bx(bpbReservedSectors)] @@ -538,10 +586,11 @@ idiv word [bx(bpbHeadsPerCylinder)] ; ax = (LBA / SPT) / HPC = cylinder ; dx = (LBA / SPT) % HPC = head - mov ch, al + + xchg ch, al ; clear al ; ch = LSB 0...7 of cylinder no. - mov al, 64 - mul ah + shr ax, 1 + shr ax, 1 or cl, al ; cl = MSB 8...9 of cylinder no. + sector no. mov dh, dl @@ -577,14 +626,22 @@ %if LBAsupport != 0 pop ax ; al = 16 + %if SectorOf512Bytes != 0 + add word [si+6], byte 32 ; adjust segment for next sector + %else mul byte [bx(bpbBytesPerSector)+1] ; = (bpbBytesPerSector/256)*16 + add [si+6], ax ; adjust segment for next sector + %endif pop cx ; sector count = 1 pop bx - add [si+6], ax ; adjust segment for next sector %else + %if SectorOf512Bytes != 0 + add word [si], byte 32 ; adjust segment for next sector + %else mov al, 16 mul byte [bx(bpbBytesPerSector)+1] ; = (bpbBytesPerSector/256)*16 add [si], ax ; adjust segment for next sector + %endif %endif pop es ; es:0 updated pop ax @@ -611,30 +668,7 @@ ;; Fill free space with zeroes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - times (512-13-20-($-$$)) db 0 - -;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Error Messaging Code ;; -;;;;;;;;;;;;;;;;;;;;;;;;;; - -Error: - pop si - -PutStr: - mov ah, 0Eh - mov bl, 7 - lodsb - int 10h - cmp al, "." - jne PutStr - - cbw - int 16h ; wait for a key... - int 19h ; bootstrap - -Stop: - hlt - jmp short Stop + times (512-13-($-$$)) db 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Name of the file to load and run ;; diff -r ad0bc3efbf37 -r 9a714ac859a3 BootProg/stuff/boot32.asm --- a/BootProg/stuff/boot32.asm Fri Sep 23 08:28:09 2022 +0000 +++ b/BootProg/stuff/boot32.asm Tue Sep 27 16:21:52 2022 +0000 @@ -80,11 +80,14 @@ %define bx(label) bx+label-boot %define si(label) si+label-boot ClusterMask equ 1 ; +9 bytes -NullEntryCheck equ 1 ; +5 bytes +NullEntryCheck equ 0 ; +5 bytes ReadRetry equ 1 ; +7 bytes -LBA48bits equ 1 ; +13 bytes +LBA48bits equ 1 ; +15 bytes CHSsupport equ 1 ; +27 bytes -CHShardDisk equ 0 ; +11 bytes +CHSupTo8GB equ 1 ; +11 bytes +CHSupTo32MB equ 1 ; +7 bytes +SectorOf512Bytes equ 1 ; -5 bytes +Always2FATs equ 0 ; -4 bytes [BITS 16] @@ -99,6 +102,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; boot: +DriveNumber equ boot+0 +HiLBA equ boot+2 jmp short start ; MS-DOS/Windows checks for this jump nop bsOemName DB "BootProg" ; 0x03 @@ -136,17 +141,11 @@ bsBackupBootSectorNo DW 0 ; 0x32 bsreserved times 12 DB 0 ; 0x34 bsDriveNumber DB 0 ; 0x40 -%if LBA48bits != 0 -HiLBA equ boot+0 -DriveNumber equ bsDriveNumber+0 -%else -DriveNumber equ boot+0 -%endif bsreserved1 DB 0 ; 0x41 bsExtendedBootSignature DB 0 ; 0x42 bsVolumeSerialNumber DD 0 ; 0x43 -bsVolumeLabel DB "NO NAME " ; 0x47 -bsFileSystemName DB "FAT32 " ; 0x52 +bsVolumeLabel times 11 DB " " ; 0x47 "NO NAME " +bsFileSystemName times 8 DB " " ; 0x52 "FAT32 " ;;;;;;;;;;;;;;;;;;;; ;; BPB2 ends here ;; @@ -210,8 +209,7 @@ pop es RootDirReadContinue: - call ReadCluster ; read one cluster of root dir - pushf ; save carry="not last cluster" flag + call ReadClusterSector ; read one sector of the root dir ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Look for the COM/EXE file to load and run ;; @@ -243,8 +241,9 @@ dec bp dec bp jnz FindNameCycle ; next root entry - popf ; restore carry="not last cluster" flag - jc RootDirReadContinue ; continue to the next root dir cluster + loop RootDirReadContinue ; next sector in cluster + cmp esi, 0FFFFFF6h ; carry=0 if last cluster, and carry=1 otherwise + jnc RootDirReadContinue ; continue to the next root dir cluster ErrFind: call Error ; end of root directory (dir end reached) db "File not found." @@ -263,7 +262,8 @@ push es FileReadContinue: push di - call ReadCluster ; read one cluster of root dir + call ReadClusterSector ; read one sector of the boot file + dec cx mov di, es add di, bp mov es, di ; es:bx updated @@ -350,56 +350,97 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; retf -ReadCluster: +;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Error Messaging Code ;; +;;;;;;;;;;;;;;;;;;;;;;;;;; + +Error: + pop si +puts: + mov ah, 0Eh + mov bl, 7 + lodsb + int 10h + cmp al, '.' + jne puts + cbw + int 16h ; wait for a key... + int 19h ; bootstrap + +Stop: + hlt + jmp short Stop + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Reads a FAT32 sector ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Inout: ES:BX -> buffer ;; +;; EAX = prev sector ;; +;; CX = rem sectors in cluster ;; +;; ESI = next cluster ;; +;; Output: EAX = current sector ;; +;; CX = rem sectors in cluster ;; +;; ESI = next cluster ;; +;; BP -> para / sector ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +ReadClusterSector: +%if SectorOf512Bytes != 0 + mov bp, 32 ; bp = paragraphs per sector +%else mov bp, [bx(bpbBytesPerSector)] shr bp, 4 ; bp = paragraphs per sector +%endif mov dx, 1 ; adjust LBA for next sector inc cx loop ReadSectorLBA -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Reads a FAT32 cluster ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Inout: ES:BX -> buffer ;; -;; ESI = cluster no ;; -;; Output: ESI = next cluster ;; -;; BP -> para / sector ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - mul ebx ; edx:eax = 0 +%if SectorOf512Bytes != 0 + mov al, 128 ; ax=# of FAT32 entries per sector +%else imul ax, bp, byte 4 ; ax=# of FAT32 entries per sector +%endif lea edi, [esi-2] ; esi=cluster # xchg eax, esi div esi ; eax=FAT sector #, edx=entry # in sector imul si, dx, byte 4 ; si=entry # in sector, clear C %if LBA48bits != 0 - xor dx, dx ; clear C + xor dx, dx %endif - call ReadSectorLBAabsolute ; read 1 FAT32 sector + call ReadSectorLBAfromFAT ; read 1 FAT32 sector %if ClusterMask != 0 and byte [es:si+3], 0Fh ; mask cluster value %endif mov esi, [es:si] ; esi=next cluster # +%if Always2FATs != 0 + imul eax, dword [bx(bsSectorsPerFAT32)], 2 +%else movzx eax, byte [bx(bpbNumberOfFATs)] mul dword [bx(bsSectorsPerFAT32)] +%endif xchg eax, edi movzx ecx, byte [bx(bpbSectorsPerCluster)] ; 8..128 mul ecx ; edx:eax=sector number in data area add eax, edi +%if LBA48bits != 0 + adc dx, bx +%endif -ReadSectorLBAabsolute: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Reads a sector form the start of FAT ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +ReadSectorLBAfromFAT: + add eax, [bx(bpbHiddenSectors)] %if LBA48bits != 0 adc dx, bx mov word [bx(HiLBA)], dx %endif - add eax, [bx(bpbHiddenSectors)] -%if LBA48bits != 0 - adc word [bx(HiLBA)], bx -%endif mov dx, [bx(bpbReservedSectors)] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -432,7 +473,7 @@ push byte 16 ; packet size byte = 16, reserved byte = 0 %if CHSsupport != 0 -%if CHShardDisk != 0 + %if CHSupTo8GB != 0 push eax pop cx ; save low LBA pop ax ; get high LBA @@ -440,12 +481,16 @@ idiv word [bx(bpbSectorsPerTrack)] ; up to 8GB disks, avoid divide error xchg ax, cx ; restore low LBA, save high LBA / SPT -%else + %else ; Busybox mkdosfs creates fat32 for floppies. ; Floppies may support CHS only. + %if CHSupTo32MB != 0 + xor dx, dx ; clear dx (LBA offset <32MB) + %else cwd ; clear dx (LBA offset <16MB) + %endif xor cx, cx ; high LBA / SPT = 0 -%endif + %endif idiv word [bx(bpbSectorsPerTrack)] ; ax = LBA / SPT ; dx = LBA % SPT = sector - 1 @@ -456,13 +501,13 @@ ; ax = (LBA / SPT) / HPC = cylinder ; dx = (LBA / SPT) % HPC = head - mov ch, al + xchg ch, al ; clear al ; ch = LSB 0...7 of cylinder no. -%if CHShardDisk != 0 - shl ah, 6 - or cl, ah + %if CHSupTo8GB != 0 || CHSupTo32MB != 0 + shr ax, 2 + or cl, al ; cl = MSB 8...9 of cylinder no. + sector no. -%endif + %endif mov dh, dl ; dh = head no. mov dl, [bx(DriveNumber)] ; restore BIOS boot drive number @@ -482,11 +527,11 @@ jnc ReadSuccess ; CF = 0 if no error %endif %if ReadRetry != 0 -%if CHSsupport != 0 + %if CHSsupport != 0 cbw ; ah = 0 = reset function -%else + %else xor ax, ax ; ah = 0 = reset function -%endif + %endif int 13h ; reset drive (DL) dec bp ; up to 32 retries @@ -499,43 +544,14 @@ ReadSuccess: popa ; sp += 16 - popa - - stc - loop ReadSectorNext - - cmp esi, 0FFFFFF6h ; carry=0 if last cluster, and carry=1 otherwise - -ReadSectorNext: ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Fill free space with zeroes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - times (512-13-20-($-$$)) db 0 - -;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Error Messaging Code ;; -;;;;;;;;;;;;;;;;;;;;;;;;;; - -Error: - pop si -puts: - mov ah, 0Eh - mov bl, 7 - lodsb - int 10h - cmp al, '.' - jne puts - cbw - int 16h ; wait for a key... - int 19h ; bootstrap - -Stop: - hlt - jmp short Stop + times (512-13-($-$$)) db 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Name of the file to load and run ;; diff -r ad0bc3efbf37 -r 9a714ac859a3 BootProg/stuff/bootex.asm --- a/BootProg/stuff/bootex.asm Fri Sep 23 08:28:09 2022 +0000 +++ b/BootProg/stuff/bootex.asm Tue Sep 27 16:21:52 2022 +0000 @@ -80,6 +80,7 @@ %define si(label) si+label-boot NullEntryCheck equ 1 ; +3 bytes ReadRetry equ 1 ; +8 bytes +SectorOf512Bytes equ 1 ; -13 bytes [BITS 16] [CPU 386] @@ -98,7 +99,7 @@ DriveNumber: jmp short start ; Windows checks for this jump nop -bsOemName DB "EXFAT " ; 0x03 +bsOemName times 8 db " " ; 0x03 "EXFAT " times 53 db 0 ; 0x0B ;;;;;;;;;;;;;;;;;;;;; @@ -182,7 +183,6 @@ RootDirReadContinue: call ReadCluster ; read one sector of root dir - pushf ; save carry="not last sector" flag ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Look for the COM/EXE file to load and run ;; @@ -237,7 +237,8 @@ add di, byte 32 cmp di, bp jne FindNameCycle ; next root entry - popf ; restore carry="not last sector" flag + loop RootDirReadContinue ; continue to the next root dir sector + cmp esi, byte -10 ; carry=0 if last cluster, and carry=1 otherwise jc RootDirReadContinue ; continue to the next root dir cluster FindNameFailed: ; end of root directory (dir end reached) mov dl, [bx(DriveNumber)] ; restore BIOS boot drive number @@ -251,14 +252,24 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;; push es +%if SectorOf512Bytes == 0 xor bp, bp FileReadContinue: shr bp, 4 ; bytes to paragraphs mov di, es add di, bp ; adjust segment for next sector mov es, di ; es:0 updated +%else +FileReadContinue: +%endif call ReadCluster ; read one more sector of the boot file + dec cx sub [bx+FileSize], ebp ; max FileSize is < 640KB : check low 32 bits only +%if SectorOf512Bytes != 0 + mov bp, es + lea bp, [bp+32] + mov es, bp ; es:0 updated +%endif ja FileReadContinue mov dx, [bx(DriveNumber)] ; restore BIOS boot drive number xchg ax, di @@ -340,6 +351,29 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; retf +;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Error Messaging Code ;; +;;;;;;;;;;;;;;;;;;;;;;;;;; + +Error: + pop si + +PutStr: + mov ah, 0Eh + mov bl, 7 + lodsb + int 10h + cmp al, "." + jne PutStr + + cbw + int 16h ; wait for a key... + int 19h ; bootstrap + +Stop: + hlt + jmp short Stop + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Reads a exFAT cluster ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -362,9 +396,13 @@ loop ReadSectorC mul ebx ; edx:eax = 0 +%if SectorOf512Bytes != 0 + mov al, 128 +%else mov cl, -2 add cl, [bx(bpbSectorSizeBits)] bts ax, cx ; eax=# of exFAT entries per sector +%endif lea edi, [esi-2] ; edi=cluster #-2 xchg eax, esi div esi ; eax=FAT sector #, edx=entry # in sector @@ -402,8 +440,11 @@ ;; ES:0 -> next address ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - xor ebp, ebp - inc bp +%if SectorOf512Bytes != 0 + lea ebp, [bx+512] +%else + lea ebp, [bx+1] +%endif pushad @@ -414,7 +455,11 @@ push eax push es push bx +%if SectorOf512Bytes != 0 + push byte 1 ; sector count word = 1 +%else push bp ; sector count word = 1 +%endif push byte 16 ; packet size byte = 16, reserved byte = 0 ReadSectorRetry: mov si, sp @@ -428,53 +473,30 @@ xor ax, ax int 13h ; reset drive (DL) dec bp + %if SectorOf512Bytes != 0 + jne ReadSectorRetry ; up to 511 tries + %else jpe ReadSectorRetry ; up to 3 tries + %endif %endif call Error db "Read error." ReadSuccess: +%if SectorOf512Bytes == 0 mov cl, [bx(bpbSectorSizeBits)] shl word [si+16+8], cl ; (e)bp si+16: EDI ESI EBP ESP EBX EDX ECX EAX +%endif popa ; sp += 16 popad ; real registers - - stc - loop ReadSectorNext - - cmp esi, byte -10 ; carry=0 if last cluster, and carry=1 otherwise -ReadSectorNext: ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Fill free space with zeroes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - times (512-13-20-($-$$)) db 0 - -;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Error Messaging Code ;; -;;;;;;;;;;;;;;;;;;;;;;;;;; - -Error: - pop si - -PutStr: - mov ah, 0Eh - mov bl, 7 - lodsb - int 10h - cmp al, "." - jne PutStr - - cbw - int 16h ; wait for a key... - int 19h ; bootstrap - -Stop: - hlt - jmp short Stop + times (512-13-($-$$)) db 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Name of the file to load and run ;; diff -r ad0bc3efbf37 -r 9a714ac859a3 liblo/receipt --- a/liblo/receipt Fri Sep 23 08:28:09 2022 +0000 +++ b/liblo/receipt Tue Sep 27 16:21:52 2022 +0000 @@ -6,7 +6,7 @@ MAINTAINER="jozee@slitaz.org" LICENSE="LGPL2.1" SHORT_DESC="Lightweight OSC implementation: an implementation of the Open Sound Control protocol for POSIX systems" -WEB_SITE="https://sourceforge.net/projects///liblo" +WEB_SITE="https://sourceforge.net/projects/liblo" TARBALL="$PACKAGE-$VERSION.tar.gz" WGET_URL="$SF_MIRROR/$PACKAGE/$TARBALL" diff -r ad0bc3efbf37 -r 9a714ac859a3 libsdl-pango-dev/receipt --- a/libsdl-pango-dev/receipt Fri Sep 23 08:28:09 2022 +0000 +++ b/libsdl-pango-dev/receipt Tue Sep 27 16:21:52 2022 +0000 @@ -6,7 +6,7 @@ SHORT_DESC="devel files for libsdl-pango" MAINTAINER="slaxemulator@gmail.com" LICENSE="LGPL2.1" -WEB_SITE="http://sdlpango.sourceforge.net/" +WEB_SITE="https://sdlpango.sourceforge.net/" WANTED="libsdl-pango" HOST_ARCH="i486 arm" diff -r ad0bc3efbf37 -r 9a714ac859a3 libsdl-pango/receipt --- a/libsdl-pango/receipt Fri Sep 23 08:28:09 2022 +0000 +++ b/libsdl-pango/receipt Tue Sep 27 16:21:52 2022 +0000 @@ -8,7 +8,7 @@ LICENSE="LGPL2.1" SOURCE="SDL_Pango" TARBALL="$SOURCE-$VERSION.tar.gz" -WEB_SITE="http://sdlpango.sourceforge.net/" +WEB_SITE="https://sdlpango.sourceforge.net/" WGET_URL="$SF_MIRROR/sdlpango/$TARBALL" HOST_ARCH="i486 arm" diff -r ad0bc3efbf37 -r 9a714ac859a3 w3m/receipt --- a/w3m/receipt Fri Sep 23 08:28:09 2022 +0000 +++ b/w3m/receipt Tue Sep 27 16:21:52 2022 +0000 @@ -6,7 +6,7 @@ SHORT_DESC="Text Mode Web Browser" MAINTAINER="mojo@slitaz.org" LICENSE="MIT" -WEB_SITE="http://w3m.sourceforge.net" +WEB_SITE="http://w3m.sourceforge.net/index.en.html" TARBALL="$PACKAGE-$VERSION.tar.gz" WGET_URL="$SF_MIRROR/$PACKAGE/$PACKAGE/$TARBALL" TAGS="web-browser"