wok rev 25616
Add emu2
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Aug 26 15:51:29 2023 +0000 (18 months ago) |
parents | f5d6abddcecb |
children | b6605c2b3156 |
files | emu2/receipt memtest-efi32/description.txt memtest-efi64/description.txt memtest/description.txt memtest/stuff/unlz4.S memtest/stuff/unlzsa1.S memtest/stuff/unlzsa2.S memtest/stuff/unzx0.S memtest64/description.txt memtest64/stuff/unlz4.S memtest64/stuff/unlzsa1.S memtest64/stuff/unlzsa2.S memtest64/stuff/unzx0.S plop/stuff/unlz4.S plop/stuff/unlzsa1.S plop/stuff/unlzsa2.S plop/stuff/unzx0.S |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/emu2/receipt Sat Aug 26 15:51:29 2023 +0000 1.3 @@ -0,0 +1,36 @@ 1.4 +# SliTaz package receipt. 1.5 + 1.6 +PACKAGE="emu2" 1.7 +VERSION="2021.01" 1.8 +CATEGORY="system-tools" 1.9 +TAGS="emulator dos vm86 8086" 1.10 +SHORT_DESC="Simple x86 and DOS emulator for the Linux terminal." 1.11 +MAINTAINER="pascal.bellard@slitaz.org" 1.12 +LICENSE="GPL2" 1.13 +TARBALL="$PACKAGE-$VERSION.tar.gz" 1.14 +WEB_SITE="https://github.com/dmsc/emu2" 1.15 +WGET_URL="$WEB_SITE/archive/v$VERSION.tar.gz" 1.16 + 1.17 +BUILD_DEPENDS="gcc83" 1.18 + 1.19 +# What is the latest version available today? 1.20 +current_version() 1.21 +{ 1.22 + wget -O - ${WGET_URL%/arch*}/releases 2>/dev/null | \ 1.23 + sed '/tag\//!d;s|.*tag/v*||;s|".*||;q' 1.24 +} 1.25 + 1.26 +# Rules to configure and make the package. 1.27 +compile_rules() 1.28 +{ 1.29 + mkdir obj 1.30 + make CC=gcc-83 DESTDIR=$DESTDIR install 1.31 +} 1.32 + 1.33 +# Rules to gen a SliTaz package suitable for Tazpkg. 1.34 +genpkg_rules() 1.35 +{ 1.36 + mkdir -p $install/usr/doc $fs/usr 1.37 + cp $src/README.md $install/usr/doc 1.38 + cp -a $install/usr/bin $fs/usr 1.39 +}
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/memtest-efi32/description.txt Sat Aug 26 15:51:29 2023 +0000 2.3 @@ -0,0 +1,6 @@ 2.4 +Memtest86+ is a stand-alone memory tester for x86 architecture computers. 2.5 +It provides a more thorough memory check than that provided by BIOS 2.6 +memory tests. Memtest86+ can be loaded and run either directly by a UEFI 2.7 +PC BIOS or via an intermediate bootloader that supports the Linux 16-bit, 2.8 +32-bit or EFI handover boot protocol. It should work on any Pentium class 2.9 +or later 32-bit or 64-bit x86 CPU.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/memtest-efi64/description.txt Sat Aug 26 15:51:29 2023 +0000 3.3 @@ -0,0 +1,6 @@ 3.4 +Memtest86+ is a stand-alone memory tester for x86-64 architecture computers. 3.5 +It provides a more thorough memory check than that provided by BIOS memory 3.6 +tests. Memtest86+ can be loaded and run either directly by a UEFI PC BIOS 3.7 +or via an intermediate bootloader that supports the Linux 16-bit, 32-bit, 3.8 +64-bit, or EFI handover boot protocol. It should work on any x86-64 class or 3.9 +later 64-bit x86 CPU.
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/memtest/description.txt Sat Aug 26 15:51:29 2023 +0000 4.3 @@ -0,0 +1,6 @@ 4.4 +Memtest86+ is a stand-alone memory tester for x86 architecture computers. 4.5 +It provides a more thorough memory check than that provided by BIOS 4.6 +memory tests. Memtest86+ can be loaded and run either directly by MS-DOS, 4.7 +a legacy PC BIOS or via an intermediate bootloader that supports the Linux 4.8 +16-bit boot protocol. It should work on any 386 class or later 32-bit or 4.9 +64-bit x86 CPU. A minimum of 1MB RAM is required.
5.1 --- a/memtest/stuff/unlz4.S Thu Aug 03 12:03:26 2023 +0000 5.2 +++ b/memtest/stuff/unlz4.S Sat Aug 26 15:51:29 2023 +0000 5.3 @@ -161,7 +161,13 @@ 5.4 xchg AX, SI 5.5 mov DI, SI 5.6 sub BX, SI 5.7 +# ifdef ONLY8086 5.8 +lz4movsb: 5.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 5.10 + loop lz4movsb 5.11 +# else 5.12 rep movsb %es:(SI), %es:(DI) 5.13 +# endif 5.14 xchg AX, SI 5.15 # ifdef FASTFILL 5.16 lz4fast: 5.17 @@ -187,8 +193,8 @@ 5.18 # if defined(PARANOIA) 5.19 lz4movlp: 5.20 xchgw %ax, %cx 5.21 - movw $0x3C00, %cx 5.22 - rep movsl 5.23 + movw $0x7800, %cx 5.24 + rep movsw 5.25 xchgw %ax, %cx 5.26 sub $0xF0, %ch 5.27 # endif
6.1 --- a/memtest/stuff/unlzsa1.S Thu Aug 03 12:03:26 2023 +0000 6.2 +++ b/memtest/stuff/unlzsa1.S Sat Aug 26 15:51:29 2023 +0000 6.3 @@ -151,7 +151,13 @@ 6.4 # endif 6.5 xchg AX, SI // save %si 6.6 lea (BX,DI), SI 6.7 +# ifdef ONLY8086 6.8 +lzsa2movsb: 6.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 6.10 + loop lzsa2movsb 6.11 +# else 6.12 rep movsb %es:(SI), %es:(DI) 6.13 +# endif 6.14 #define lzsa1chunkz lzsa1chunk 6.15 #endif 6.16 xchg AX, SI // restore %si
7.1 --- a/memtest/stuff/unlzsa2.S Thu Aug 03 12:03:26 2023 +0000 7.2 +++ b/memtest/stuff/unlzsa2.S Sat Aug 26 15:51:29 2023 +0000 7.3 @@ -207,7 +207,13 @@ 7.4 # endif 7.5 xchg AX, SI // save %si 7.6 lea (BX,DI), SI 7.7 +# ifdef ONLY8086 7.8 +lzsa2movsb: 7.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 7.10 + loop lzsa2movsb 7.11 +# else 7.12 rep movsb %es:(SI), %es:(DI) 7.13 +# endif 7.14 #define lzsa2chunkz lzsa2chunk 7.15 #endif 7.16 xchg AX, SI // restore %si
8.1 --- a/memtest/stuff/unzx0.S Thu Aug 03 12:03:26 2023 +0000 8.2 +++ b/memtest/stuff/unzx0.S Sat Aug 26 15:51:29 2023 +0000 8.3 @@ -43,14 +43,15 @@ 8.4 cld // make string operations go forward 8.5 movb $0x80, %al // initialize empty bit queue 8.6 // plus bit to roll into carry 8.7 - stc 8.8 + stc 8.9 sbb BX, BX // initialize rep-offset to 1 8.10 8.11 .literals: 8.12 #if !defined(FLAT16) && !defined(FLAT32) 8.13 - cmpw $32768, %si // assume 32767 literals max 8.14 + movw $32768, %dx 8.15 + cmpw %dx, %si // assume 32767 literals max 8.16 jb .si_ok 8.17 - subw $32768, %si 8.18 + subw %dx, %si 8.19 movw %ds, %dx 8.20 addb $8, %dh 8.21 movw %dx, %ds 8.22 @@ -79,7 +80,13 @@ 8.23 #endif 8.24 push SI // save si (current pointer to compressed data) 8.25 lea (BX,DI), SI // point to destination in es:di + offset in bx 8.26 - rep movsb %es:(SI), %es:(DI) // copy matched bytes 8.27 +#ifdef ONLY8086 8.28 +.copy_loop: 8.29 + movsb %es:(SI), %es:(DI) // copy matched bytes using NMOS 8088/8086 workaround. 8.30 + loop .copy_loop 8.31 +#else 8.32 + rep movsb %es:(SI), %es:(DI) // copy matched bytes 8.33 +#endif 8.34 pop SI // restore si 8.35 8.36 addb %al, %al // read 'literal or match' bit
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/memtest64/description.txt Sat Aug 26 15:51:29 2023 +0000 9.3 @@ -0,0 +1,5 @@ 9.4 +Memtest86+ is a stand-alone memory tester for x86-64 architecture computers. 9.5 +It provides a more thorough memory check than that provided by BIOS memory 9.6 +tests. Memtest86+ can be loaded and run either directly by MS-DOS, a legacy 9.7 +PC BIOS or via an intermediate bootloader that supports the Linux 16-bit 9.8 +boot protocol. It should work on any x86-64 class or later 64-bit x86 CPU.
10.1 --- a/memtest64/stuff/unlz4.S Thu Aug 03 12:03:26 2023 +0000 10.2 +++ b/memtest64/stuff/unlz4.S Sat Aug 26 15:51:29 2023 +0000 10.3 @@ -161,7 +161,13 @@ 10.4 xchg AX, SI 10.5 mov DI, SI 10.6 sub BX, SI 10.7 +# ifdef ONLY8086 10.8 +lz4movsb: 10.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 10.10 + loop lz4movsb 10.11 +# else 10.12 rep movsb %es:(SI), %es:(DI) 10.13 +# endif 10.14 xchg AX, SI 10.15 # ifdef FASTFILL 10.16 lz4fast: 10.17 @@ -187,8 +193,8 @@ 10.18 # if defined(PARANOIA) 10.19 lz4movlp: 10.20 xchgw %ax, %cx 10.21 - movw $0x3C00, %cx 10.22 - rep movsl 10.23 + movw $0x7800, %cx 10.24 + rep movsw 10.25 xchgw %ax, %cx 10.26 sub $0xF0, %ch 10.27 # endif
11.1 --- a/memtest64/stuff/unlzsa1.S Thu Aug 03 12:03:26 2023 +0000 11.2 +++ b/memtest64/stuff/unlzsa1.S Sat Aug 26 15:51:29 2023 +0000 11.3 @@ -151,7 +151,13 @@ 11.4 # endif 11.5 xchg AX, SI // save %si 11.6 lea (BX,DI), SI 11.7 +# ifdef ONLY8086 11.8 +lzsa2movsb: 11.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 11.10 + loop lzsa2movsb 11.11 +# else 11.12 rep movsb %es:(SI), %es:(DI) 11.13 +# endif 11.14 #define lzsa1chunkz lzsa1chunk 11.15 #endif 11.16 xchg AX, SI // restore %si
12.1 --- a/memtest64/stuff/unlzsa2.S Thu Aug 03 12:03:26 2023 +0000 12.2 +++ b/memtest64/stuff/unlzsa2.S Sat Aug 26 15:51:29 2023 +0000 12.3 @@ -207,7 +207,13 @@ 12.4 # endif 12.5 xchg AX, SI // save %si 12.6 lea (BX,DI), SI 12.7 +# ifdef ONLY8086 12.8 +lzsa2movsb: 12.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 12.10 + loop lzsa2movsb 12.11 +# else 12.12 rep movsb %es:(SI), %es:(DI) 12.13 +# endif 12.14 #define lzsa2chunkz lzsa2chunk 12.15 #endif 12.16 xchg AX, SI // restore %si
13.1 --- a/memtest64/stuff/unzx0.S Thu Aug 03 12:03:26 2023 +0000 13.2 +++ b/memtest64/stuff/unzx0.S Sat Aug 26 15:51:29 2023 +0000 13.3 @@ -43,14 +43,15 @@ 13.4 cld // make string operations go forward 13.5 movb $0x80, %al // initialize empty bit queue 13.6 // plus bit to roll into carry 13.7 - stc 13.8 + stc 13.9 sbb BX, BX // initialize rep-offset to 1 13.10 13.11 .literals: 13.12 #if !defined(FLAT16) && !defined(FLAT32) 13.13 - cmpw $32768, %si // assume 32767 literals max 13.14 + movw $32768, %dx 13.15 + cmpw %dx, %si // assume 32767 literals max 13.16 jb .si_ok 13.17 - subw $32768, %si 13.18 + subw %dx, %si 13.19 movw %ds, %dx 13.20 addb $8, %dh 13.21 movw %dx, %ds 13.22 @@ -79,7 +80,13 @@ 13.23 #endif 13.24 push SI // save si (current pointer to compressed data) 13.25 lea (BX,DI), SI // point to destination in es:di + offset in bx 13.26 - rep movsb %es:(SI), %es:(DI) // copy matched bytes 13.27 +#ifdef ONLY8086 13.28 +.copy_loop: 13.29 + movsb %es:(SI), %es:(DI) // copy matched bytes using NMOS 8088/8086 workaround. 13.30 + loop .copy_loop 13.31 +#else 13.32 + rep movsb %es:(SI), %es:(DI) // copy matched bytes 13.33 +#endif 13.34 pop SI // restore si 13.35 13.36 addb %al, %al // read 'literal or match' bit
14.1 --- a/plop/stuff/unlz4.S Thu Aug 03 12:03:26 2023 +0000 14.2 +++ b/plop/stuff/unlz4.S Sat Aug 26 15:51:29 2023 +0000 14.3 @@ -161,7 +161,13 @@ 14.4 xchg AX, SI 14.5 mov DI, SI 14.6 sub BX, SI 14.7 +# ifdef ONLY8086 14.8 +lz4movsb: 14.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 14.10 + loop lz4movsb 14.11 +# else 14.12 rep movsb %es:(SI), %es:(DI) 14.13 +# endif 14.14 xchg AX, SI 14.15 # ifdef FASTFILL 14.16 lz4fast: 14.17 @@ -187,8 +193,8 @@ 14.18 # if defined(PARANOIA) 14.19 lz4movlp: 14.20 xchgw %ax, %cx 14.21 - movw $0x3C00, %cx 14.22 - rep movsl 14.23 + movw $0x7800, %cx 14.24 + rep movsw 14.25 xchgw %ax, %cx 14.26 sub $0xF0, %ch 14.27 # endif
15.1 --- a/plop/stuff/unlzsa1.S Thu Aug 03 12:03:26 2023 +0000 15.2 +++ b/plop/stuff/unlzsa1.S Sat Aug 26 15:51:29 2023 +0000 15.3 @@ -151,7 +151,13 @@ 15.4 # endif 15.5 xchg AX, SI // save %si 15.6 lea (BX,DI), SI 15.7 +# ifdef ONLY8086 15.8 +lzsa2movsb: 15.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 15.10 + loop lzsa2movsb 15.11 +# else 15.12 rep movsb %es:(SI), %es:(DI) 15.13 +# endif 15.14 #define lzsa1chunkz lzsa1chunk 15.15 #endif 15.16 xchg AX, SI // restore %si
16.1 --- a/plop/stuff/unlzsa2.S Thu Aug 03 12:03:26 2023 +0000 16.2 +++ b/plop/stuff/unlzsa2.S Sat Aug 26 15:51:29 2023 +0000 16.3 @@ -207,7 +207,13 @@ 16.4 # endif 16.5 xchg AX, SI // save %si 16.6 lea (BX,DI), SI 16.7 +# ifdef ONLY8086 16.8 +lzsa2movsb: 16.9 + movsb %es:(SI), %es:(DI) // NMOS 8088/8086 workaround. 16.10 + loop lzsa2movsb 16.11 +# else 16.12 rep movsb %es:(SI), %es:(DI) 16.13 +# endif 16.14 #define lzsa2chunkz lzsa2chunk 16.15 #endif 16.16 xchg AX, SI // restore %si
17.1 --- a/plop/stuff/unzx0.S Thu Aug 03 12:03:26 2023 +0000 17.2 +++ b/plop/stuff/unzx0.S Sat Aug 26 15:51:29 2023 +0000 17.3 @@ -43,14 +43,15 @@ 17.4 cld // make string operations go forward 17.5 movb $0x80, %al // initialize empty bit queue 17.6 // plus bit to roll into carry 17.7 - stc 17.8 + stc 17.9 sbb BX, BX // initialize rep-offset to 1 17.10 17.11 .literals: 17.12 #if !defined(FLAT16) && !defined(FLAT32) 17.13 - cmpw $32768, %si // assume 32767 literals max 17.14 + movw $32768, %dx 17.15 + cmpw %dx, %si // assume 32767 literals max 17.16 jb .si_ok 17.17 - subw $32768, %si 17.18 + subw %dx, %si 17.19 movw %ds, %dx 17.20 addb $8, %dh 17.21 movw %dx, %ds 17.22 @@ -79,7 +80,13 @@ 17.23 #endif 17.24 push SI // save si (current pointer to compressed data) 17.25 lea (BX,DI), SI // point to destination in es:di + offset in bx 17.26 - rep movsb %es:(SI), %es:(DI) // copy matched bytes 17.27 +#ifdef ONLY8086 17.28 +.copy_loop: 17.29 + movsb %es:(SI), %es:(DI) // copy matched bytes using NMOS 8088/8086 workaround. 17.30 + loop .copy_loop 17.31 +#else 17.32 + rep movsb %es:(SI), %es:(DI) // copy matched bytes 17.33 +#endif 17.34 pop SI // restore si 17.35 17.36 addb %al, %al // read 'literal or match' bit