Keith Bergelt

Keith Daniel Bergelt (born September 11, 1958) is an American corporate executive and former U.S. diplomat. He is CEO of Open Invention Network where he is responsible for coordinating the establishment and maintenance of a patent ‘‘no-fly” zone around Linux. As such, he is responsible for safeguarding an open and competitive landscape in key technology markets such as back-office transaction processing, mission critical IT applications, mobile communications/smartphones, and desktop computing.
Early life.
Bergelt was born in New York City and was raised in the village of Bayville, New York on the North Shore of Long Island. He attended St. Boniface Martyr School in Sea Cliff, New York and is a graduate of Locust Valley High School. He was a high school classmate of Eileen Chamberlain Donahoe, U.S. Ambassador to the UN Human Rights Council in Geneva, Switzerland.
Education.
Bergelt holds degrees from Duke University’s Trinity College (AB), the Dedman School of Law at Southern Methodist University (JD), and Edhec Business School (Theseus MBA). In addition, he has studied management at INSEAD and Institut National des Telecommunications (INT) in France and economics and technology policy at University of San Francisco's McLaren Graduate School of Business.
1982-2000.
Upon graduation from law school, he entered public service and held diplomatic postings at the UN in New York City and the American Embassy in Tokyo, Japan. During his 12-year public service career he also lived in San Francisco, California and Washington, D.C. He was a colleague and tennis partner of U.S. Treasury Secretary Tim Geithner during their time together at the American Embassy in Tokyo in the early 1990s.
After the Berlin Wall fell in the wake of the collapse of the Soviet Union, Bergelt left government service and embarked on a private sector career in C-level strategy consulting focused on innovation at SRI Consulting in Menlo Park, CA. While at SRI Consulting, he co-founded the first strategy consulting practice in the area of intellectual asset management at a major strategy consulting firm. This practice enabled companies to develop strategies to more effectively build, manage and leverage the value of their codified (patents, trademarks, copyrights) and non-codified (knowledge, know-how, etc.) intellectual capital through licensing, joint ventures, donation, abandonment and the creation of spin-outs, spin-ups and spin-ins uniquely suited to monetize corporate intangible assets.
2000-present.
Bergelt was then brought into Motorola Corporation in Schaumburg, IL to establish and serve as General Manager of its Strategic Intellectual Asset Management business unit focused on distilling value from Motorola’s intellectual property. In addition, he served as Director of Technology Strategy during his tenure at Motorola.
Following his experience at Motorola and coincident with the departure of Bob Galvin from the Motorola Board of Directors, he was recruited by Kelso & Company, the New York-based private equity firm, to manage IP strategy, business development and licensing for its IP-based portfolio company – Cambridge Display Technology (CDT) – in Cambridge, England.
After establishing the strategy and licensing program at CDT for Kelso, Bergelt was then engaged by Texas Pacific Group (TPG) as a full-time advisor to its Technology Investment Group, until he was recruited by Principal Financial Group to establish and run the first-of-its-kind IP Fund and financial services advisory firm, focused on transforming IP into a viable source of collateral and a fourth lending vertical to complement asset-based lending backed by property/plant/equipment, accounts receivable and inventory.
During his tenure as the CEO of Paradox Capital, Bergelt worked with professionals from banking and IP law to raise over $350MM in capital that enabled Paradox to pioneer the emergence of IP as a viable asset class in asset-based lending and, in so doing, obviate the necessity for second lien lending into IP-rich companies.
Bergelt was then recruited by IBM, Red Hat, Sony, NEC, Philips and Novell to serve as the CEO of Open Invention Network, a pro-competitive defensive patent management organization established to enable freedom to operate in Linux and to support the democratization of innovation occasioned by open source projects such as Linux.
'Bergelt has been the chief executive officer of Open Invention Network since 2008. He is responsible for defending the integrity of the Linux ecosystem. Previously, Bergelt had criticized Microsoft several times for its behavior towards the open source community. When Microsoft changed its behavior, embraced the open source community and signed the Open Invention Network cross license, Bergelt was pleased with the company.
He has also been interviewed by Linux.com at the 2008 LinuxWorld Expo.


LOADER.EXE


Executable and Linkable Format

In computing, the Executable and Linkable Format (ELF, formerly named Extensible Linking Format), is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.
By design, the ELF format is flexible, extensible, and cross-platform. For instance it supports different endiannesses and address sizes so it does not exclude any particular central processing unit (CPU) or instruction set architecture. This has allowed it to be adopted by many different operating systems on many different hardware platforms.
File layout.
Each ELF file is made up of one ELF header, followed by file data. The data can include:
The segments contain information that is needed for run time execution of the file, while sections contain important data for linking and relocation. Any byte in the entire file can be owned by one section at most, and orphan bytes can occur which are unowned by any section.
File header.
The ELF header defines whether to use 32-bit or 64-bit addresses. The header contains three fields that are affected by this setting and offset other fields that follow them. The ELF header is 52 or 64 bytes long for 32-bit and 64-bit binaries respectively.
Program header.
The program header table tells the system how to create a process image. It is found at file offset , and consists of entries, each with size . The layout is slightly different in 32-bit ELF vs 64-bit ELF, because the are in a different structure location for alignment reasons. Each entry is structured as:
Applications.
Unix-like systems.
The ELF format has replaced older executable formats in various environments.
It has replaced a.out and COFF formats in Unix-like operating systems:
Non-Unix adoption.
ELF has also seen some adoption in non-Unix operating systems, such as:
Game consoles.
Some game consoles also use ELF:
PowerPC.
Other (operating) systems running on PowerPC that use ELF:
Mobile phones.
Some operating systems for mobile phones and mobile devices use ELF:
Some phones can run ELF files through the use of a patch that adds assembly code to the main firmware, which is a feature known as "ELFPack" in the underground modding culture. The ELF file format is also used with the Atmel AVR (8-bit), AVR32
and with Texas Instruments MSP430 microcontroller architectures. Some implementations of Open Firmware can also load ELF files, most notably Apple's implementation used in almost all PowerPC machines the company produced.
Specifications.
The Linux Standard Base (LSB) supplements some of the above specifications for architectures in which it is specified. For example, that is the case for the System V ABI, AMD64 Supplement.
86open.
86open was a project to form consensus on a common binary file format for Unix and Unix-like operating systems on the common PC compatible x86 architecture, to encourage software developers to port to the architecture. The initial idea was to standardize on a small subset of Spec 1170, a predecessor of the Single UNIX Specification, and the GNU C Library (glibc) to enable unmodified binaries to run on the x86 Unix-like operating systems. The project was originally designated "Spec 150".
The format eventually chosen was ELF, specifically the Linux implementation of ELF, after it had turned out to be a "de facto" standard supported by all involved vendors and operating systems.
The group began email discussions in 1997 and first met together at the Santa Cruz Operation offices on August 22, 1997.
The steering committee was Marc Ewing, Dion Johnson, Evan Leibovitch, Bruce Perens, Andrew Roach, Bryan Wayne Sparks and Linus Torvalds. Other people on the project were Keith Bostic, Chuck Cranor, Michael Davidson, Chris G. Demetriou, Ulrich Drepper, Don Dugger, Steve Ginzburg, Jon "maddog" Hall, Ron Holt, Jordan Hubbard, Dave Jensen, Kean Johnston, Andrew Josey, Robert Lipe, Bela Lubkin, Tim Marsland, Greg Page, Ronald Joe Record, Tim Ruckle, Joel Silverstein, Chia-pi Tien, and Erik Troan. Operating systems and companies represented were BeOS, BSDI, FreeBSD, Intel, Linux, NetBSD, SCO and SunSoft.
The project progressed and in mid-1998, SCO began developing lxrun, an open-source compatibility layer able to run Linux binaries on OpenServer, UnixWare, and Solaris. SCO announced official support of lxrun at LinuxWorld in March 1999. Sun Microsystems began officially supporting lxrun for Solaris in early 1999, and later moved to integrated support of the Linux binary format via Solaris Containers for Linux Applications.
With the BSDs having long supported Linux binaries (through a compatibility layer) and the main x86 Unix vendors having added support for the format, the project decided that Linux ELF was the format chosen by the industry and "declare[d] itself dissolved" on July 25, 1999.
FatELF: universal binaries for Linux.
FatELF is an ELF binary-format extension that adds fat binary capabilities. It is aimed for Linux and other Unix-like operating systems. Additionally to the CPU architecture abstraction (byte order, word size, CPU instruction set etc.), there is the potential advantage of software-platform abstraction e.g., binaries which support multiple kernel ABI versions. , FatELF has not been integrated into the mainline Linux Kernel.


Microport (software)

Microport (1985–2002) was a software development group that pioneered a new approach towards software ports that dramatically reduced development costs and, consequently, the price charged for UNIX. Microport created the first ports of AT&T's UNIX System V for the IBM 286 and 386 personal computers, as well as IBM's PS/2 systems. Microport was critical to enabling the Free Software Foundation (FSF) to port its GNU C compiler (gcc) and associated utilities, onto the x86 architecture by donating a complete 386 development system to the Richard Stallman-led group. Microport also played a key role in Kevin Mitnick's first arrest, after he broke into the internal computer networks of both Microport and The Santa Cruz Operation.
History.
Founding.
In 1983, AT&T announced UNIX System V at the West Coast Computer Faire in Anaheim, California. In an effort to promote System V, AT&T created a program with Intel, Motorola, Zilog, and other major CPU manufacturers at the time. Through this program, AT&T paid each of the processor manufacturers to port System V onto a standard hardware "reference" platform for each companies' flagship CPU. By providing this software with the reference hardware, computer manufacturers could easily put UNIX onto their new systems, with a substantial reduction in cost. Prior to this, each hardware platform required its own UNIX port that required significant resources and time to develop. By providing a port for similar hardware designs, development cost was substantially reduced, typically only requiring minor modifications. This new porting process required only a few developers and led to the name Microport.
Microport's early days were characterized by an early hacker-driven environment. Founder Chuck Hickey realized that the AT&T port for the Intel platform could be easily modified for the IBM 286 personal computer (PC), bringing the AT&T System V UNIX technology to the PC for the first time. Hickey was able to assemble a small team of four developers in September 1985 using stock and royalty incentives and little pay for compensation. Because of the lean operation, the reduced cost allowed the software to be sold at $99. At the time, Microport's main competitor, Santa Cruz Operation (SCO), sold their base XENIX Operating System for $500.
Microport demonstrated their product for the first time at the COMDEX trade-show in November 1985 after only two months of development. This demo and announcement paved the way for its initial business opportunities and brought Microport to the attention of IBM, SCO, and Microsoft. NCR was Microport's first customer, giving them a contract worth $100,000. With this money, Microport was able to complete the final version of System V for the IBM 286 PC and begin work on the System V port to the IBM 386 PC in September 1986. It took SCO several years to catch up with the System V, Release 3 (SVR3) technology that Microport brought out in the mid 1980s for the IBM 386 PC.
Following its founding days, Microport gradually adopted an increasingly corporate environment that catered more towards large OEM and VAR deals. This change also marked the beginning of a period plagued by severe financial mismanagement that ultimately sank the company.
Major Events.
Applications.
Microport ran into an early problem competing for business contracts due to a lack of application software for its operating system (OS) ports. Due to a lack of funds, Microport could not contract application companies to port and certify their software to each new OS. As an alternative, Microport attempted to develop compatibility with any Xenix application (i.e. Xenix binary compatibility) to allow all SCO and Microsoft Xenix OS applications to also run on UNIX. SCO and Microsoft threatened to sue Microport, consequently ending any development efforts for Xenix binary compatibility. Microport was able to eventually gain application software support by using the AT&T funded application development for the 6300+ Personal Computer, which was compatible with the standard System V. Because Microport had adhered to the System V standard, their OS ports were easily made compatible with all applications developed for the 6300+.
The 386 version of System V.
In 1986, Microport became the first company to put System V UNIX on the newly released IBM 386 PC by using Interactive Systems Corporation's (ISC) System V port for Intel's 386 Tahoe platform. Microport beat ISC on delivery for the PC port by three weeks. This product later moved from its beta version to production status when AT&T announced the full availability of SVR3 the next year.
Investment and Bankruptcy.
In 1986 after its deployment of its version of the 386 port, Microport received an investment from Televideo of over $1M for 51% of the company stock and established an international division. Beginning in 1988, sales declined as ISC, Bell Technologies, Everex, and others started selling their version of the 386 port, eroding Microport's market position and making continued inflow of investment capital unlikely. Realizing that survival of the company was now dependent upon full acquisition of the company by Televideo or another company, Hickey stepped down as CEO putting CFO Greg Chavez in charge.
Greg Chavez attempted to sell the company without success. By early 1989, Microport had run up debts of about $1M. In the spring of that year, Chavis left and Televideo resigned from the board of directors. The company entered Chapter 11 bankruptcy and a court-approved specialist was selected to run the company. Microport continued to operate under Chapter 11 bankruptcy provisions for nearly two years with reduced staff size.
Post-Bankruptcy.
In May 1990, Microport was purchased from bankruptcy by Abraxas software. It joined Unix International and participated in the software development for the first multiprocessor with Unisys, Intel, and Sequent Computer Systems. Microport was among the first to compile System V, Release 4 (SVR4) for the Pentium processor and was credited with having the best serial device driver among all of the UNIX vendors.
In 1992, Microport dropped its own UNIX development and became a reseller of UnixWare (SVR4.2) after Novell bought the rights to UNIX. Microport maintained development for select drivers and still closed large OEM deals until SCO bought the rights to UnixWare from Novell in December 1995. Microport became a reseller for SCO, which failed to recognize the threat posed by Linux and Berkeley Software Distribution (BSD). Microport's CEOs never took the FSF or Open Source movement seriously despite the fact that some of its original development staff had assisted the FSF. Mike Grinder, an early Microport employee, took over as the head of Microport prior to its final bankruptcy and closing in 2002.
Impact.
Microport was the first group to create a low-cost UNIX implementation that was accessible to hobbyist and the average consumer.
Previously, access to UNIX was limited to either expensive minicomputers or XENIX and other UNIX derivatives that were targeted toward large OEM and VAR commercial deals. Although Microport later targeted sales towards OEMs and VARs, they had created a new market opportunity for other low-cost UNIX technology to follow, including Linux and BSD for the PCs in the 1990s.


Concise Command Language

Concise Command Language (CCL) was the term used by Digital Equipment Corporation for the Command-line interpreter / User interface supplied on several of their computing systems; its successor was named DIGITAL Command Language (DCL).
CCL provides the user with an extensive set of terminal commands.
The first system to include CCL was DEC's PDP-10.
History.
The PDP-6 monitor came with a simple set of commands. To compile and run a FORTRAN program, one would
The PDP-10 had CCL. Key to its improvements over its predecessor were:
Commands.
The following table contains a list of CCL commands.


FAT SAVENAME


CCPMNET.SYS


X86 virtualization

x86 virtualization is the use of hardware-assisted virtualization capabilities on an x86/x86-64 CPU.
In the late 1990s x86 virtualization was achieved by complex software techniques, necessary to compensate for the processor's lack of hardware-assisted virtualization capabilities while attaining reasonable performance. In 2005 and 2006, both Intel (VT-x) and AMD (AMD-V) introduced limited hardware virtualization support that allowed simpler virtualization software but offered very few speed benefits. Greater hardware support, which allowed substantial speed improvements, came with later processor models.
Software-based virtualization.
The following discussion focuses only on virtualization of the x86 architecture protected mode.
In protected mode the operating system kernel runs at a higher privilege such as ring 0, and applications at a lower privilege such as ring 3. In software-based virtualization, a host OS has direct access to hardware while the guest OSs have limited access to hardware, just like any other application of the host OS. One approach used in x86 software-based virtualization to overcome this limitation is called "ring deprivileging", which involves running the guest OS at a ring higher (lesser privileged) than 0.
Three techniques made virtualization of protected mode possible:
These techniques incur some performance overhead due to lack of MMU virtualization support, as compared to a VM running on a natively virtualizable architecture such as the IBM System/370.
On traditional mainframes, the classic type 1 hypervisor was self-standing and did not depend on any operating system or run any user applications itself. In contrast, the first x86 virtualization products were aimed at workstation computers, and ran a guest OS inside a host OS by embedding the hypervisor in a kernel module that ran under the host OS (type 2 hypervisor).
There has been some controversy whether the x86 architecture with no hardware assistance is virtualizable as described by Popek and Goldberg. VMware researchers pointed out in a 2006 ASPLOS paper that the above techniques made the x86 platform virtualizable in the sense of meeting the three criteria of Popek and Goldberg, albeit not by the classic trap-and-emulate technique.
A different route was taken by other systems like Denali, L4, and Xen, known as paravirtualization, which involves porting operating systems to run on the resulting virtual machine, which does not implement the parts of the actual x86 instruction set that are hard to virtualize. The paravirtualized I/O has significant performance benefits as demonstrated in the original SOSP'03 Xen paper.
The initial version of x86-64 (AMD64) did not allow for a software-only full virtualization due to the lack of segmentation support in long mode, which made the protection of the hypervisor's memory impossible, in particular, the protection of the trap handler that runs in the guest kernel address space. Revision D and later 64-bit AMD processors (as a rule of thumb, those manufactured in 90 nm or less) added basic support for segmentation in long mode, making it possible to run 64-bit guests in 64-bit hosts via binary translation. Intel did not add segmentation support to its x86-64 implementation (Intel 64), making 64-bit software-only virtualization impossible on Intel CPUs, but Intel VT-x support makes 64-bit hardware assisted virtualization possible on the Intel platform.
On some platforms, it is possible to run a 64-bit guest on a 32-bit host OS if the underlying processor is 64-bit and supports the necessary virtualization extensions.
Hardware-assisted virtualization.
In 2005 and 2006, Intel and AMD (working independently) created new processor extensions to the x86 architecture. The first generation of x86 hardware virtualization addressed the issue of privileged instructions. The issue of low performance of virtualized system memory was addressed with MMU virtualization that was added to the chipset later.
Central processing unit.
Virtual 8086 mode.
Based on painful experiences with the 80286 protected mode, which by itself was not suitable enough to run concurrent DOS applications well, Intel introduced the virtual 8086 mode in their 80386 chip, which offered virtualized 8086 processors on the 386 and later chips. Hardware support for virtualizing the protected mode itself, however, became available 20 years later.
AMD virtualization (AMD-V).
AMD developed its first generation virtualization extensions under the code name "Pacifica", and initially published them as AMD Secure Virtual Machine (SVM), but later marketed them under the trademark "AMD Virtualization", abbreviated "AMD-V".
On May 23, 2006, AMD released the Athlon 64 ("Orleans"), the Athlon 64 X2 ("Windsor") and the Athlon 64 FX ("Windsor") as the first AMD processors to support this technology.
AMD-V capability also features on the Athlon 64 and Athlon 64 X2 family of processors with revisions "F" or "G" on socket AM2, Turion 64 X2, and Opteron 2nd generation and third-generation, Phenom and Phenom II processors. The APU Fusion processors support AMD-V. AMD-V is not supported by any Socket 939 processors. The only Sempron processors which support it are APUs and Huron, Regor, Sargas desktop CPUs.
AMD Opteron CPUs beginning with the Family 0x10 Barcelona line, and Phenom II CPUs, support a second generation hardware virtualization technology called Rapid Virtualization Indexing (formerly known as Nested Page Tables during its development), later adopted by Intel as Extended Page Tables (EPT).
As of 2019, all Zen-based AMD processors support AMD-V.
The CPU flag for AMD-V is "svm". This may be checked in BSD derivatives via dmesg or sysctl and in Linux via codice_1. Instructions in AMD-V include VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT, and STGI.
With some motherboards, users must enable AMD SVM feature in the BIOS setup before applications can make use of it.
Intel virtualization (VT-x).
Previously codenamed "Vanderpool", VT-x represents Intel's technology for virtualization on the x86 platform. On November 13, 2005, Intel released two models of Pentium 4 (Model 662 and 672) as the first Intel processors to support VT-x. The CPU flag for VT-x capability is "vmx"; in Linux, this can be checked via codice_1, or in macOS via codice_3.
"VMX" stands for Virtual Machine Extensions, which adds 13 new instructions: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID, and VMFUNC. These instructions permit entering and exiting a virtual execution mode where the guest OS perceives itself as running with full privilege (ring 0), but the host OS remains protected.
, almost all newer server, desktop and mobile Intel processors support VT-x, with some of the Intel Atom processors as the primary exception. With some motherboards, users must enable Intel's VT-x feature in the BIOS setup before applications can make use of it.
Intel started to include Extended Page Tables (EPT), a technology for page-table virtualization, since the Nehalem architecture, released in 2008. In 2010, Westmere added support for launching the logical processor directly in real mode a feature called "unrestricted guest", which requires EPT to work.
Since the Haswell microarchitecture (announced in 2013), Intel started to include "VMCS shadowing" as a technology that accelerates nested virtualization of VMMs.
The "virtual machine control structure" (VMCS) is a data structure in memory that exists exactly once per VM, while it is managed by the VMM. With every change of the execution context between different VMs, the VMCS is restored for the current VM, defining the state of the VM's virtual processor. As soon as more than one VMM or nested VMMs are used, a problem appears in a way similar to what required shadow page table management to be invented, as described above. In such cases, VMCS needs to be shadowed multiple times (in case of nesting) and partially implemented in software in case there is no hardware support by the processor. To make shadow VMCS handling more efficient, Intel implemented hardware support for VMCS shadowing.
VIA virtualization (VIA VT).
VIA Nano 3000 Series Processors and higher support VIA VT virtualization technology compatible with Intel VT-x. EPT is present in Zhaoxin ZX-C, a descendant of VIA QuadCore-E & Eden X4 similar to Nano C4350AL.
Interrupt virtualization (AMD AVIC and Intel APICv).
In 2012, AMD announced their "Advanced Virtual Interrupt Controller" ("AVIC") targeting interrupt overhead reduction in virtualization environments. This technology, as announced, does not support x2APIC.
In 2016, AVIC is available on the AMD family 15h models 6Xh
(Carrizo) processors and newer.
Also in 2012, Intel announced a similar technology for interrupt and APIC virtualization, which did not have a brand name at its announcement time.
Later, it was branded as "APIC virtualization" ("APICv")
and it became commercially available in the Ivy Bridge EP series of Intel CPUs, which is sold as Xeon E5-26xx v2 (launched in late 2013) and as Xeon E5-46xx v2 (launched in early 2014).
Graphics processing unit.
Graphics virtualization is not part of the x86 architecture. Intel Graphics Virtualization Technology (GVT) provides graphics virtualization as part of more recent Gen graphics architectures. Although AMD APUs implement the x86-64 instruction set, they implement AMD's own graphics architectures (TeraScale, GCN and RDNA) which do not support graphics virtualization. Larrabee was the only graphics microarchitecture based on x86, but it likely did not include support for graphics virtualization.
Chipset.
Memory and I/O virtualization is performed by the chipset. Typically these features must be enabled by the BIOS, which must be able to support them and also be set to use them.
I/O MMU virtualization (AMD-Vi and Intel VT-d).
An input/output memory management unit (IOMMU) allows guest virtual machines to directly use peripheral devices, such as Ethernet, accelerated graphics cards, and hard-drive controllers, through DMA and interrupt remapping. This is sometimes called "PCI passthrough".
An IOMMU also allows operating systems to eliminate bounce buffers needed to allow themselves to communicate with peripheral devices whose memory address spaces are smaller than the operating system's memory address space, by using memory address translation. At the same time, an IOMMU also allows operating systems and hypervisors to prevent buggy or malicious hardware from compromising memory security.
Both AMD and Intel have released their IOMMU specifications:
In addition to the CPU support, both motherboard chipset and system firmware (BIOS or UEFI) need to fully support the IOMMU I/O virtualization functionality for it to be usable. Only the PCI or PCI Express devices supporting "function level reset" (FLR) can be virtualized this way, as it is required for reassigning various device functions between virtual machines. If a device to be assigned does not support Message Signaled Interrupts (MSI), it must not share interrupt lines with other devices for the assignment to be possible.
All conventional PCI devices routed behind a PCI/PCI-X-to-PCI Express bridge can be assigned to a guest virtual machine only all at once; PCI Express devices have no such restriction.
Network virtualization (VT-c).
PCI-SIG Single Root I/O Virtualization (SR-IOV).
"PCI-SIG Single Root I/O Virtualization (SR-IOV)" provides a set of general (non-x86 specific) I/O virtualization methods based on PCI Express (PCIe) native hardware, as standardized by PCI-SIG:
In SR-IOV, the most common of these, a host VMM configures supported devices to create and allocate virtual "shadows" of their configuration spaces so that virtual machine guests can directly configure and access such "shadow" device resources. With SR-IOV enabled, virtualized network interfaces are directly accessible to the guests,
avoiding involvement of the VMM and resulting in high overall performance; for example, SR-IOV achieves over 95% of the bare metal network bandwidth in NASA's virtualized datacenter and in the Amazon Public Cloud.


Ntoskrnl.exe

In computing ntoskrnl.exe (short for Windows NT operating system kernel executable), also known as kernel image, provides the kernel and executive layers of the Microsoft Windows NT kernel space, and is responsible for various system services such as hardware abstraction, process and memory management, thus making it a fundamental part of the system. It contains the cache manager, the executive, the kernel, the security reference monitor, the memory manager, and the scheduler (Dispatcher).
Overview.
This system binary is not a native application (in that it is not linked against codice_1), instead containing a standard 'start' entry point in its-own, a function that calls the architecture-independent kernel initialization function. While ntoskrnl.exe is not linked against codice_1, it is linked against codice_3, codice_4 and codice_5. Because it requires a static copy of C Runtime objects it depends on, the executable is usually about 2 MB in size.
Overall, there are four kernel image files for each revision of Windows, and two kernel image files for each Windows system. Multiprocessor or uniprocessor files are selected at install time, and PAE or non-PAE files are selected by boot.ini or BCD option, according to the .
Routines in ntoskrnl use prefixes on their names to indicate in which component of ntoskrnl they are defined. The following table lists some of them.
Initialization.
When the kernel receives control, it gets a pointer to a structure as parameter. This structure is passed by the bootloader and contains information about the hardware, the path to the registry file, kernel parameters containing boot preferences or options that change the behavior of the kernel, path of the files loaded by the bootloader (codice_6 Registry hive, nls for character encoding conversion and vga font). The definition of this structure can be retrieved by using the kernel debugger or downloading it from the Microsoft symbol database.
In the x86 architecture, the kernel receives the system already in protected mode, with the GDT, IDT and TSS ready. But since it does not know the address of each one, it has to load them one by one to fill the PCR structure.
The main entry point of ntoskrnl.exe performs some system dependent initialization then calls a system independent initialization then enters an idle loop.
Interrupt handling.
Modern operating systems use interrupts instead of I/O port polling to wait for information from devices.
In the x86 architecture, interrupts are handled through the Interrupt Dispatch Table (IDT). When a device triggers an interrupt and the interrupt flag (IF) in the FLAGS register is set, the processor's hardware looks for an interrupt handler in the table entry corresponding to the interrupt number to which in turn has been translated from IRQ by PIC chips, or in more modern hardwares, APIC. Interrupt handlers usually save some subset of the state of registers before handling it and restore them back to their original values when done.
The interrupt table contains handlers for hardware interrupts, software interrupts, and exceptions. For some IA-32 versions of the kernel, one example of such a software interrupt handler (of which there are many) is in its IDT table entry 2E16 (hexadecimal; 46 in decimal), used in assembly language as codice_7 for system calls. In the real implementation the entry points to an internal subroutine named (as per symbol information published by Microsoft) codice_8. For newer versions, different mechanisms making use of codice_9 instruction and in x86-64 codice_10 instruction are used instead.
One notable feature of NT's interrupt handling is that interrupts are usually conditionally masked based on their priority (called "IRQL"), instead of disabling all IRQs via the interrupt flag. This permits various kernel components to carry on critical operations without necessarily blocking services of peripherals and other devices.
Memory manager.
Microsoft Windows divides virtual address space into two regions. The lower part, starting at zero, is instantiated separately for each process and is accessible from both user and kernel mode. Application programs run in processes and supply code that runs in user mode.
The upper part is accessible only from kernel mode, and with some exceptions, is instantiated just once, system-wide. Ntoskrnl.exe is mapped into this region, as are several other kernel mode components. This region also contains data used by kernel mode code, such as the kernel mode heaps and the file system cache.
The entire physical memory (RAM) address range is broken into many small (usually 4 KB) blocks. A few of the properties of each block are stored in structures called page table entries, which are managed by the OS and accessed by the processor's hardware. Page tables are organized into a tree structure, and the physical page number of the top-level table is stored in control register 3 (CR3).
Registry.
Windows Registry is a repository for configuration and settings information for the operating system and for other software, such as applications. It can be thought of as a filesystem optimized for small files. However, it is not accessed through file system-like semantics, but rather through a specialized set of APIs, implemented in kernel mode and exposed to user mode.
The registry is stored on disk as several different files called "hives." One, the System hive, is loaded early in the boot sequence and provides configuration information required at that time. Additional registry hives, providing software-specific and user-specific data, are loaded during later phases of system initialization and during user login, respectively.
Drivers.
The list of drivers to be loaded from the disk are retrieved from the codice_11 key of the current control set's key in the codice_6 registry hive. That key stores device drivers, kernel processes and user processes. They are all collectively called "services" and are all stored mixed on the same place.
During initialization or upon driver load request, the kernel traverses that tree looking for services tagged as kernel services.


Ballz

Ballz is a two-player 3D action fighting video game for the Sega Mega Drive/Genesis, the Super NES (SNES) and the 3DO. It was developed by PF Magic and published by Accolade in 1994. The 3DO version was released as a director's cut in 1995. "Ballz" offered three difficulty levels over a total of 21 matches. Its distinguishing quality was that each of the characters were composed completely of spheres, granting a pseudo-3D look.
Although the game was not a tremendous success, PF Magic reused its graphics technology in a successful line of virtual pet titles, "Petz", "Dogz", "Catz" and "Oddballz".
Development and publishing.
The idea to use spheres to represent characters in the game was proposed by Keith Kirby, the team decided on implementing the idea as it would save processor power, as well as the fact that characters would look the same regardless of the angle the camera is situated at when they're constructed from spheres, which are also relatively quite easy to represent in the game's code.
The Genesis/Mega Drive version was originally intended for use with the Edge 16, a modem system for multiplayer gaming which was eventually cancelled.
The opening PF Magic developed for the game stated "To be the champion, you gotta have "Ballz"!". Due to its racy double-entendre ("balls" may be used as a slang term for testicles), Nintendo demanded the wording be changed for the SNES version. The SNES version of the game states "...you gotta play "Ballz"", while the Sega version uses the original intro. The game was also notably bizarre for its lineup of fighters, which included a farting monkey, a jumping clown, a sumo wrestler, an ostrich, a caveman, a bodybuilder, a ballerina, a rhinoceros and a "superhero".
Fighters.
These are the characters in the game's lineup of fighters:
Bosses.
These are the bosses who appear in One-Player mode. Each boss defeated earns a different colored belt, and these change the fighter's coloring scheme.
Reception.
"Electronic Gaming Monthly" gave the Genesis version a 6.2 out of 10 average, commenting that "The fighters were interesting, with their various taunts and other poses, and the whole idea is innovative, but in the end it just never really came together for me." "GamePro" gave the Genesis version a positive review. They praised the balanced gameplay, smooth scaling effects, and humorous sound effects, and concluded, ""Ballz" takes the increasingly routine genre of fighting games and gives it a new bounce, injecting a wicked sense of humor into the action." They were less enthusiastic about the SNES version, saying that the graphics are better than in the Genesis version, but the irritating new soundtrack, overcomplicated control configuration, and especially the frequent slowdown combine to make the game much less enjoyable. The four reviewers of "Electronic Gaming Monthly" had mixed reactions to the SNES version. Two of them praised its original design and good graphics, and the other two praised the humorous sounds, but all but one felt the game was not as enjoyable as other fighting games, with the biggest problem being the fighters' limited set of moves. They gave it a 6.75 out of 10 average.
"GamePro" gave the 3DO version a highly positive review, applauding the additions and improvements such as enhanced graphics, increased play speed, rendered backgrounds, new character, character-specific theme songs, and arena rotation, as well as the humor and "non-conformist attitude" of the game itself.
"Ballz" was ranked seventh in a 2011 list of "Top Ten Fighting Games We'd Like to Forget", compiled by "Game Informer". The author of the list, Dan Ryckert, criticized it for its sexual innuendo and its design representing more of a 2D look.
"Next Generation" reviewed the 3DO version of the game, rating it two stars out of five, and stated that "If you accept its looks, it plays fine, but this is as much yesterday's technology as any sprite-based fighter attempting to get away with digitized characters. It's almost too bad, but it's just a game out of time."


VESA BIOS Extensions

VESA BIOS Extensions (VBE) is a VESA standard, currently at version 3, that defines the interface that can be used by software to access compliant video boards at high resolutions and bit depths. This is opposed to the "traditional" int 10h BIOS calls, which are limited to resolutions of 640×480 pixels with 16 color (4-bit) depth or less. VBE is made available through the video card's BIOS, which installs during boot up some interrupt vectors that point to itself.
Most newer cards implement the more capable VBE 3.0 standard. Older versions of VBE provide only a real mode interface, which cannot be used without a significant performance penalty from within protected mode operating systems. Consequently, the VBE standard has almost never been used for writing a video card's drivers; each vendor has thus had to invent a proprietary protocol for communicating with its own video card. Despite this, it is common that a driver thunk out to the real mode interrupt in order to initialize screen modes and gain direct access to a card's linear frame buffer, because these tasks would otherwise require handling many hundreds of proprietary variations that exist from card to card.
In EFI 1.x systems, the INT 10H and the VESA BIOS Extensions (VBE) are replaced by the EFI UGA protocol. In widely used UEFI 2.x systems, the INT 10H and the VBE are replaced by the UEFI GOP.
Standards.
Early VBE.
VBE 1.0 (VS891001) was defined in 1989. VBE 1.1 (VS900602) was defined in 1990. VBE 1.2 (VS911022) was defined in 1991. These versions of VBE require real mode to work.
VBE defines several new functions called through INT 10H. The function numbering start with AX=4F00, or (AH=4F, AL=00), for "Function 00h". 00h to 05h were defined in VBE 1.0, 06h and 07h in 1.1, and 08h in 1.2.
VESA BIOS Extensions (VBE core) 2.0 [November 1994].
This standard provides the primary functionality of the VESA BIOS Extensions. It allows applications to determine the capabilities of the graphics card and provides the ability to set the display modes that are found. VBE 2.0 adds some new features above the prior VBE 1.2 standard including linear framebuffer access and protected mode banking. Some of the VBE Core 2.0 features include:
VESA BIOS Extensions (VBE core) 3.0 [September 1998].
A superset of the VBE 2.0 standard. This standard adds refresh rate control, facilities for stereo glasses, improved multi-buffering and other functions to the VBE 2.0 standard.
A new "Protected Mode Entry Point" was added as an alternative to "Function 0Ah".
VBE/accelerator functions (VBE/AF) [August 1996].
VBE/AF provides a low-level, standard interface to common acceleration functions available on most hardware. Some of the functions defined in the standard are access to hardware cursors, Bit Block Transfers (Bit Blt), off screen sprites, hardware panning, drawing and other functions. It is defined to work under protected mode.
Supplemental specifications.
Supplemental specifications provides device independent interface between application software and Super VGA hardware. Function numbers are assigned by VESA Software Standards Committee (SSC).
Power management extensions (PM).
DPMS is a hardware standard that allows graphics cards to communicate with DPMS-compliant monitors via a special signaling system that can be used with existing graphics controllers and monitor cables. This signaling system allows the graphics card to tell the monitor to go into a number of different power management or power saving states, which effectively allow the monitor to turn itself off when it is not in use.
Flat panel interface extensions (FP).
Allows access to special features in flat panel controllers.
Audio interface extensions (AI).
Provides standard to audio services.
Currently (version 1.00), the VBE/AI specification defines three device classes: WAVE, MIDI, and VOLUME. Device types not covered:
OEM extensions.
Provides standard entry to vendor-specific extensions.
Display Data Channel (DDC).
The Display Data Channel or DDC is a digital connection between a computer display and a graphics adapter that allows the display to communicate its specifications to the adapter. The standard was created by VESA.
Serial Control Interface (SCI).
Provides hardware independent means for operating system and application to read and write data over I²C serial control interface.
VBE mode numbers.
Although mode number is a 16-bit value, the optional VBE mode numbers are 14 bits wide. Bit 15 is used by VGA BIOS as a flag to clear or preserve display memory.
VBE defined mode numbers as follows:
Starting in VBE/Core 2.0, VESA no longer defines new VESA mode numbers and no longer requires a device to implement the old numbers. To properly detect information of a screen mode, use "Function 01h - Return VBE Mode Information".
Mode 81FFh is a special video mode designed to preserve current memory contents and give access to the entire video memory.
Modes defined by VESA.
Beginning with the VBE 2.0 standard, no new modes will be defined by VESA, and old modes are no longer mandatory. The use of defined modes should be considered deprecated: modern video cards may or may not use these mode numbers (even though most do for backward compatibility), and modern software should not use them. The correct way for software to discover available display modes is to obtain a list of modes (using "Function 00h - Return VBE Controller Information") and then to check each mode (using "Function 01h: Return VBE Mode Information") until it finds the mode/s it requires.
Modes 264–268 are text modes. 264 (0108h) is 80 columns × 60 rows (80×60), 265 (0109h) is 132×25, 266 (010Ah) is 132×43, 267 (010Bh) is 132×50 and 268 (010Ch) is 132×60.
Other commonly available graphics modes.
The table below combines the modes defined by VESA (the values denoted in black) along with modes commonly used, but which may not work on all graphics cards as they are not defined by any standard ().
Mode detection.
A few tools have been written to detect VBE modes available on a system. They generally work by invoking "Function 01h", which is more reliable than assuming a table of extented modes as it's part of the device's self-documentation.
Linux video mode numbers.
The Linux kernel allows the user to select the VESA mode at boot time by passing a code in memory to the kernel. The LILO boot loader passes this code based on a "vga" parameter in its configuration file. It takes the form 'vga=XXX', where XXX is the decimal value, or 'vga=0xHHH', where HHH is the hexadecimal value. However, the 'vga=' boot loader parameter does not directly accept VESA video mode numbers; rather, the Linux video mode number is the VESA number plus 512 (in the case of the decimal representation) or plus 0x200 (in the case of the hexadecimal representation). For example, the defined VESA value of 257 (0x101), representing 640x480 and 256 colours, has an equivalent Linux video mode value of 769 (0x301).
As indicated earlier, the VESA standard defines a limited set of modes; in particular, none above × are covered and, instead, their implementation is completely optional for graphics adapter manufacturers. As vendors are free to utilize whatever additional values they please, this means that, in the table below, the modes (and expressed in decimal form) may not apply to your graphics adapter!
vga= also appears to select ×800 (8-bit) for various laptops' displays. <br>
vga= is ×
Modes available in Parallels.
The VESA BIOS emulation in the Parallels virtual machine has a different set of non-standard VESA modes. As of build 3214, LRMI vbetest reveals these modes:


Portable Sound Format

The Portable Sound Format (PSF) is a music file format ripped directly from video games from a variety of video game consoles. The format was originally used for PlayStation video games, but has since been adapted to support other systems.
The PSF format was publicly documented by Neill Corlett in 2003, who also wrote a Winamp plug-in named "Highly Experimental" that plays PSF1 and PSF2 files.
Generally, PSF files contain a number of samples and a music sequencer player program. This takes far less space than an equivalent streamed format of the same music (WAV, MP3) while still sounding high fidelity. Background music stored in PSF files can usually be looped forever, as the sequencer handles its own loop points.
Several PSF sub-formats also have a "miniPSF/PSFlib" capability, wherein data used by multiple tracks is stored only once in an accompanying "PSFlib" file. Further differences are stored in a "miniPSF" file, which can be compressed via zlib to further increase storage efficiency.
A PSF2 file is the PlayStation 2 equivalent of a PSF. PSF2 is internally structured as a file system, rather than PSF, which is a single PS executable. PSF's native sample rate is 44,100 Hz, while PSF2's is 48,000 Hz. Rates may vary from 8,000 Hz to 96,000 Hz.
Both PSF and PSF2 files contain a header which specifies the type of video game system the file contains data for, and an optional set of tags at the end which can give detailed information such as game name, artist and length.
PSF sub-formats.
PSF initially stood only for "PlayStation Sound Format", but with the addition of the PSF2, SSF (Sega Saturn Sound Format), DSF (Dreamcast Sound Format), USF (Nintendo Ultra 64 Sound Format), QSF (Capcom Q-Sound Format), GSF (Game Boy Advance Sound Format), and 2SF (Nintendo DS Sound Format) sub-formats, the more generic backronym "Portable Sound Format" was developed. As a result, PSF and PSF1 interchangeably refer to PlayStation sound data files.
GSF.
GBA Sound Format (GSF) is an emulated Game Boy Advance audio format developed by Caitsith2 and Zoopd. The basic GSF file structure is a sub-format of PSF.
GSF players emulate the files as sound-only Game Boy Advance ROMs, and as such can be processor intensive when compared to mainstream audio formats.
USF.
Nintendo Ultra64 Sound Format (USF) is a file format by Adam Gashlin that contains the sound-generating code from a Nintendo 64 video game. The basic USF file structure is a sub-format of PSF.


RENAME


Bob Fabry

Bob Fabry, while a computer science professor at the University of California, Berkeley, conceived of the idea of obtaining DARPA funding for a radically improved version of AT&T Unix and started the Computer Systems Research Group.


REN (command)


MDOS.SYS


Executable compression

Executable compression is any means of compressing an executable file and combining the compressed data with decompression code into a single executable. When this compressed executable is executed, the decompression code recreates the original code from the compressed code before executing it. In most cases this happens transparently so the compressed executable can be used in exactly the same way as the original. Executable compressors are often referred to as "runtime packers", "software packers", "software protectors" (or even "polymorphic packers" and "obfuscating tools").
A compressed executable can be considered a self-extracting archive, where a compressed executable is packaged along with the relevant decompression code in an executable file. Some compressed executables can be decompressed to reconstruct the original program file without being directly executed. Two programs that can be used to do this are CUP386 and UNP.
Most compressed executables decompress the original code in memory and most require slightly more memory to run (because they need to store the decompressor code, the compressed data and the decompressed code). Moreover, some compressed executables have additional requirements, such as those that write the decompressed executable to the file system before executing it.
Executable compression is not limited to binary executables, but can also be applied to scripts, such as JavaScript. Because most scripting languages are designed to work on human-readable code, which has a high redundancy, compression can be very effective and as simple as replacing long names used to identify variables and functions with shorter versions and/or removing white-space.
Advantages and disadvantages.
Software distributors use executable compression for a variety of reasons, primarily to reduce the secondary storage requirements of their software; as executable compressors are specifically designed to compress executable code, they often achieve better compression ratio than standard data compression facilities such as gzip, zip or bzip2 . This allows software distributors to stay within the constraints of their chosen distribution media (such as CD-ROM, DVD-ROM, or Floppy disk), or to reduce the time and bandwidth customers require to access software distributed via the Internet.
Executable compression is also frequently used to deter reverse engineering or to obfuscate the contents of the executable (for example, to hide the presence of malware from antivirus scanners) by proprietary methods of compression and/or added encryption. Executable compression can be used to prevent direct disassembly, mask string literals and modify signatures. Although this does not eliminate the chance of reverse engineering, it can make the process more costly.
A compressed executable requires less storage space in the file system, thus less time to transfer data from the file system into memory. On the other hand, it requires some time to decompress the data before execution begins. However, the speed of various storage media has not kept up with average processor speeds, so the storage is very often the bottleneck. Thus the compressed executable will load faster on most common systems. On modern desktop computers, this is rarely noticeable unless the executable is unusually big, so loading speed is not a primary reason for or against compressing an executable.
On operating systems which read executable images on demand from the disk (see virtual memory), compressed executables make this process less efficient. The decompressor stub allocates a block of memory to hold the decompressed data, which stays allocated as long as the executable stays loaded, whether it is used or not, competing for memory resources with other applications all along. If the operating system uses a swap file, the decompressed data has to be written to it to free up the memory instead of simply discarding unused data blocks and reloading them from the executable image if needed again. This is usually not noticeable, but it becomes a problem when an executable is loaded more than once at the same time—the operating system cannot reuse data blocks it has already loaded, the data has to be decompressed into a new memory block, and will be swapped out independently if not used. The additional storage and time requirements mean that it has to be weighed carefully whether to compress executables which are typically run more than once at the same time.
Another disadvantage is that some utilities can no longer identify run-time library dependencies, as only the statically linked extractor stub is visible.
Also, some older virus scanners simply report all compressed executables as viruses because the decompressor stubs share some characteristics with those. Most modern virus scanners can unpack several different executable compression layers to check the actual executable inside, but some popular anti-virus and anti-malware scanners have had troubles with false positive alarms on compressed executables. In an attempt to solve the problem of malware obfuscated with the help of runtime packers the IEEE Industry Connections Security Group has introduced a software taggant system.
Executable compression used to be more popular when computers were limited to the storage capacity of floppy disks, which were both slow and low capacity media, and small hard drives; it allowed the computer to store more software in the same amount of space, without the inconvenience of having to manually unpack an archive file every time the user wanted to use the software. However, executable compression has become less popular because of increased storage capacity on computers. It has its use in the demoscene where demos have to stay within a size limit like 64 kilobytes to enter some competitions. Only very sophisticated compression formats, which add to load time, keep an executable small enough to enter these competitions.
List of executable packers.
CP/M and MSX-DOS executable.
Known executable compressors for CP/M / MSX-DOS .COM files:
DOS executable.
Known executable compressors for DOS executable files (.COM or .EXE):
OS/2 executable.
Known executable compressors under OS/2:
New Executable.
Known executable compressors for New Executables:
Portable Executable.
Known executable compressors for Portable Executables:
"Note: Clients in purple are no longer in development."
ELF files.
Known executable compressors for ELF files:
CLI assembly files.
Known executable compressors for CLI assembly files:
Mac OS Classic application files.
Known executable compressors for Mac OS Classic application files:
Mach-O (Apple Mac OS X) files.
Known executable compressors for Mach-O (Apple Mac OS X) files:
Commodore 64 and VIC 20.
Known executable compressors for executables on the Commodore 64 and VIC 20:
Commodore Amiga.
Known executable compressors for executables on the Commodore Amiga series:
Java.
Known executable compressors for Java:
JAR files:
WAR files:
JavaScript scripts.
There are two types of compression that can be applied to JavaScript scripts:
Self-decompressing compressors.
These compress the original script and output a new script that has a decompressor and compressed data.
Redundancy reducing compressors.
These remove white space, remove comments, and shorten variable and function names but do not alter the behavior of the script.


Asturix

Asturix OS is a discontinued Linux distribution based on Ubuntu. It is no longer maintained.
During its lifespan, this Linux distribution received some media exposure and was reviewed by Jon "maddog" Hall's blog at Linux Magazine and the Asturian newspaper La Nueva España.
Asturix used a triskelion logo, which is also used by an unrelated Linux distribution, Trisquel.
History.
In 2008, Asturix was launched as AsturLinux. This name conflicted with an association of Linux users (the Asociación de Usuarios de Linux de Asturias), so the project was renamed Astur GNU/Linux and later Asturix to avoid confusion. By early 2009, Asturix SO started to be developed. Until the third edition of Asturix, there were three versions: Business, Desktop and Lite. On 25 February, Asturix 1 Desktop was released, and one month later, the Business version followed. Asturix was officially presented to the mass media in October, in the Press Club Center of Oviedo. In November there was an Asturix Installation Party in the Spanish Socialist Workers' Party’s local building, the People’s House. That party was covered by a reporter from La Nueva España. Asturix 1 was very similar to Ubuntu, and, consequently, it was criticized for being an “unnecessary fork”.
Asturix 2 was released in early 2010. The launch was covered by the regional public television, RTPA and La Nueva España. A national radio broadcaster, Onda Cero, and a regional branch of Televisión Española, covered the story too. In April, DistroWatch included Asturix in its list of distributions and reviewed it.
In April 2010, Asturix was a finalist for the Campus Party Europa Innovation Prize, an event which was covered by the regional branch of Cadena Ser. Asturix 2 attracted attention from the Spanish Linux specialty media, including Linux +, Revista Linux and Todo Linux. At the same time there were groups of reviewers that claimed Asturix was only a "remastersys copy" of Ubuntu, and that it didn't justify media coverage.
The third edition of Asturix was released in December 2010. There were only two versions instead of three: the main version (named "SO") and the lightweight version (called "Lite"). The main improvements were the addition of face recognition to log in, the use of web apps (using "Asturix Bridge") and Asturix's own apps, and some SO modifications. DistroWatch wrote a brief review about it. At this time, Asturix was presented in Madrid and Langreo (Asturias). In 2011, Asturix set up an official voluntary association, which was unveiled later and covered by La Nueva España. In July, Asturix took part in the Campus Party Spain. Jon "maddog" Hall was interested in the project and a month later he wrote about it in his monthly column of Linux Magazine. He gave Asturix the last ten minutes of his lecture, in which Luis Iván Cuende García (Asturix creator) presented "Asturix On", a web-based desktop environment.
Luis Iván Cuende won the "Hack Now" contest (in the under-18 category), an award for the best app or "hack" sponsored by HackFwd, for the development of Asturix On, a desktop environment based on web technologies, which was implemented in Asturix 4. 20 minutos, a Spanish free newspaper, interviewed Iván Cuende about this prize some days later and RTPA did the same. In November 2011, Asturix organized its first event, Youth and Free Culture with Open Source Software, sponsored by CENATIC (a governmental organization) which was covered by La Nueva España and announced at the page of Creative Commons Spain.
In January 2012, the final version of Asturix was released. It featured Asturix On and retained Asturix's own apps as found in the previous edition. Due to the addition of Asturix On, DistroWatch undertook another review and the editor, Jesse Smith, described it as a "mixed bag". It was reviewed by some blogs, including one English-speaking, "Hectic Geek", though most were Spanish blogs, like "Genbeta". Asturix was also featured on Televisión Española twice in this period. Since then, no further development was made.


List of Xbox One accessories

The Xbox One game console, developed by Microsoft, features a number of first-party and third-party accessories.
Game controllers/gamepads.
Xbox One controllers.
Up to four controllers are able to connect to Xbox One, including wired and wireless gamepads. The wireless controllers run on either AA batteries (Alkaline or rechargeable) or on a rechargeable battery pack. Xbox 360 controllers are not compatible with the Xbox One. The controller is also compatible with PCs. The Xbox One controller has vibration feedback (Rumble Packs).
Kinect.
Kinect (Codename "Project Natal") is a "controller-free gaming and entertainment experience" produced by Microsoft for the Xbox One. Based on an add-on peripheral for the console, it enables users to control and interact with the Xbox One with spoken commands or presented objects and images. In 2016, following the launch of the Xbox One S, a Kinect adapter was needed to use the Kinect, as the One S (and also the Xbox One X) didn't have a Kinect port. At the end of October 2017, it was officially announced that production of the Kinect would cease.
Xbox One Media Remote.
This accessory is an infrared remote control that does not require pairing. It can be used out of the box without any configuration and lights up automatically once touched.


Zeebo

The Zeebo is a 3G-enabled entertainment and education system from Zeebo Inc. It enabled users to play video games, and also connect to the Internet, communicate online and run educational applications. The Zeebo was targeted at developing markets such as Brazil and Mexico. Zeebo Inc. described the Zeebo as bringing "the fun and excitement of interactive entertainment and education to those who—until now—have had little or no access to such technology."
Overview.
Zeebo was founded by Reinaldo Normand in 2008, based on a working prototype developed by Dave Durnil and business plan by Mike Yuen at Qualcomm. The company's stated intention was to create an affordable console with inexpensive games and educational content delivered via wireless digital distribution to circumvent piracy. The Zeebo doesn't use DVDs or cartridges; games and other content are downloaded wirelessly over broadband cellular networks. In addition to games, the Zeebo system also provides Internet connectivity, enabling users to access educational and information content, communicate via e-mail and do social networking (this capability was supported in Brazil and Mexico).
Zeebo has attracted a growing list of content from companies such as Activision, Capcom, Digital Chocolate, Disney Interactive Studios, Electronic Arts, Fishlabs, Flying Tiger, Gamevil, G-Mode, Glu, id Software, Limbic Software, Namco, Polarbit, Popcap, Twelve Interactive and Vega Mobile.
History.
The Zeebo was first announced in November 2008 in Rio de Janeiro, Brazil and went on sale there in limited quantities on June 1, 2009 with a suggested retail price of 499,00 Brazilian reais. In September of the same year, the price was cut to R$399,00, and the price was reduced again in November to R$299,00 (≈170USD). The console was distributed nationwide in Brazil in December 2009. By August 2010, there were approximately 40 games launched for Zeebo in Brazil. On September 1, 2010, Zeebo announced that it was adding new capabilities and accessories to the Zeebo in Brazil, including Internet connectivity, a keyboard and new more ergonomic gamepad. The new Brazilian system configuration was priced identical to the previous one: R$299 (≈170USD). The company announced that Brazilian owners of previous system configurations can upgrade to the new one for free.
The Zeebo was launched in Mexico in November 2009. It shipped to national retailers across the country on November 4, 2009, with a suggested price of 2,499 Mexican pesos (approximately $205 US). The Mexican system configuration was similar to that introduced in September 2010 and includes Internet connectivity, a keyboard and ergonomic gamepad. The price was cut to 2249 pesos (approx. $184 US) in April 2010.
The Zeebo was available in Brazil and Mexico. Reports indicated that the Zeebo was planned to become available in China by 2011.
Zeebo Inc. announced an agreement with AT&T in March 2010. The company stated that, "The agreement gives us access to AT&T's international roaming network, allowing us to carry out rapid trials of the Zeebo platform in new geographic areas as we establish longer-term agreements with local carriers for deployment of the system. It will also give us a chance to explore opportunities in the US market in the future." However it appears that Tectoy has decided against the Zeebo and on its homepage now states that they are gearing towards a more educational market.
On May 27, 2011, Zeebo announced its end of operations in Brazil and Mexico. According to the company, all games would undergo a price reduction and Zeebonet 3G would remain active until September 30, and all warranty services would be honored. On the same day, on ZeeboNet 3G, a message was added to the details of the game "Turma da Mônica em Vamos Brincar" ("Monica's Gang in Let's Play"), stating that the game would be unavailable for purchase by the end of the day.
Zeebo's home page still stated that the company was "currently working on a next generation Android-based platform for launch in 2012" but the product had not been released.
Wireless capabilities.
The Zeebo system was developed by Zeebo Inc. with the participation of 12 companies, mainly Qualcomm and Tectoy. It was manufactured and distributed by local partners in target countries (e.g., Tectoy in Brazil). The console uses a Qualcomm BREW mobile gaming chipset similar to that in mobile phones. Players are able to buy and download games and other content wirelessly through 3G or EDGE. The user was always connected to the wireless network without any subscription fee. Purchases are made through an online store using a virtual currency, Z-Credits. Zeebo's gaming delivery system reduces costs (with no discs or cartridges needed) and overcomes piracy barriers – two elements that have hindered sales of game consoles in developing markets. Z-Credits are purchased by bank transfer, credit card, bank debit or prepaid cards. Games cost from about 500 to 2500 credits.
The console's wireless connectivity also allows users to browse web sites, send and receive e-mail and take part social networking activities via the wireless network. The Zeebo can also perform "over-the-air" (OTA) updates to the console's firmware—delivering new content, features and bug fixes.
Accessories.
Z-Pad.
The standard Zeebo "Z-Pad" controller includes a total of 7 buttons, a D-Pad and two analog sticks. On the right side, there are four buttons (numbered 1–4); two shoulder buttons rest on the top, called ZL and ZR; at the center, there is a "Home" button, which takes the user back the start screen of the Zeebo interface, while functioning as a typical "Pause" button during games. Directly below this button are the two analog sticks, whereas the D-Pad is located at the leftmost side.
Boomerang.
The Boomerang, sold by Tectoy in Brazil, is a wireless controller with a built-in accelerometer, using motion-sensing technology to play games with actual physical gestures. It has a D-Pad, two buttons (labeled 1–2) on the top-left side, a "Home" button, a sliding on-off switch and a wrist strap. It requires two AA batteries as a power supply.
Keyboard.
The Zeebo also includes an external keyboard, used with the system's web-browsing, email and social networking functions.
Games.
The Zeebo features remade versions of games from mobile phones and other consoles, such as "FIFA 09", "Resident Evil 4", "Crash Bandicoot Nitro Kart 3D", "Galaxy on Fire" and "Rally Master Pro". There are also a number of original game titles developed specifically for the Zeebo, including “Zeebo Extreme” racing games, "Boomerang Sports" games, Zeebo "Football Club" games and "Un Juego de Huevos" (known as "Um Jogo de Ovos" in Brazil), an action-adventure game based on the hit Mexican animated film "Una película de huevos" from Huevocartoon. In March 2010, Zeebo began releasing a series of classic arcade games. These games were originally created in the 1980s and 1990s by Data East Corp. in Japan and have been modified to run on the Zeebo system. The titles include "Caveman Ninja" (originally known as Joe & Mac), "Spinmaster", "Super Burger Time" and "Dark Seal" (also known as "Gate of Doom").
In June 2010, in advance of the World Cup, Zeebo released the first of its "Football Club" ("F.C") titles, "Zeebo F.C. Foot Camp", developed by Zeebo Interactive Studios in Brazil. It includes four mini-games, each emphasizing a particular soccer skill, such as dribbling, juggling and goal-kicking. Along with "Zeebo F.C. Foot Camp", the company released "Zeeboids", an application that enables users to create personal characters ("avatars") to be used with the "Football Club" games. Also in June, Zeebo announced a variety of forthcoming games from independent developers such as Digital Chocolate, Fishlabs, Limbic Software, Twelve Interactive and Vega Mobile.
In Brazil, the Zeebo was sold with three free games embedded – "FIFA 09", "" and "Brain Challenge" (known in Portuguese as "Treino Cerebral"). Three other games, all in Portuguese, are available for free download with new systems: "Prey Evil", "Zeebo Extreme Rolimã" and "Zeebo Extreme Jetboard". More 30 other titles are available for purchase (via Z-Credits) and download.
On September 1, 2010, Zeebo announced a number of new games and educational applications to be launched in 2010 and 2011. They included a new "Zeebo Football Club" game, called "Zeebo F.C. Super League"; a series of titles from Disney Interactive Studios, including "Disney All Star Cards", "Alice in Wonderland" and "Jelly Car 2"; and a series of titles based on the popular "Monica's Gang" ("Turma da Monica") comic books in Brazil from cartoonist Mauricio de Sousa.
In Mexico, the console includes five free embedded game titles ("Crash Bandicoot Nitro Kart 3D", "Pac Mania", "Tekken 2", "Zenonia" and "Zeebo Family Pack"). More than a dozen games were available for wireless purchase at the time of the Mexican launch in November 2009. More than a dozen more have since been introduced, all in Spanish. Zeebo has also announced that the English language teaching company Interlingua will be developing entertainment and education applications for the console.
In addition to games and educational content, the console provides access to more than 50 web sites, grouped in subject categories, called "Z-Channels."
Development.
Content for the Zeebo is based on the BREW platform and is created using the Zeebo SDK, downloadable from the Zeebo Inc. website. Gamepad peripherals are made possible by a BREW extension. The Zeebo system supports OpenGL ES 1.0/1.1. Applications are downloaded wirelessly over-the-air and commonly range in size from 5–25MB.


PC speaker

A PC speaker is a loudspeaker built into some IBM PC compatible computers. The first IBM Personal Computer, model 5150, employed a standard 2.25 inch magnetic driven (dynamic) speaker. More recent computers use a tiny moving-iron or piezo speaker instead. The speaker allows software and firmware to provide auditory feedback to a user, such as to report a hardware fault. A PC speaker generates waveforms using the programmable interval timer, an Intel 8253 or 8254 chip.
Usage.
BIOS error codes.
The PC speaker is used during power-on self-test (POST) sequence to indicate errors during the boot process. Since it is active before the graphics card, it can be used to communicate "beep codes" related to problems that prevent the much more complex initialization of the graphics card to take place. For example, the Video BIOS usually cannot activate a graphics card unless working RAM is present in the system, while beeping the speaker is possible with just ROM and the CPU registers. Usually, different error codes will be signaled by specific beeping patterns, such as e.g. "one beep; pause; three beeps; pause; repeat". These patterns are specific to the BIOS manufacturer and are usually documented in the technical manual of the motherboard.
Games.
The PC speaker was often used in very innovative ways to create the impression of polyphonic music or sound effects within computer games of its era, such as the LucasArts series of adventure games from the mid-1990s, using swift arpeggios. Several games such as "Space Hulk" and "Pinball Fantasies" were noted for their elaborate sound effects; "Space Hulk", in particular, even had full speech.
However, because the method used to reproduce PCM was very sensitive to timing issues, these effects either caused noticeable sluggishness on slower PCs, or sometimes failed completely on faster PCs (that is, significantly faster than the program was originally developed for). Also, it was difficult for programs to do much else, even update the display, during the playing of such sounds. Thus, when sound cards (which can output complex sounds independent from the CPU once initiated) became mainstream in the PC market after 1990, they quickly replaced the PC speaker as the preferred output device for sound effects. Most newly released PC games stopped supporting the speaker during the second half of the 1990s.
Other programs.
Several programs, including MP (Module Player, 1989), Scream Tracker, Fast Tracker, Impulse Tracker, and even device drivers for Linux and Microsoft Windows, could play pulse-code modulation (PCM) sound through the PC speaker using special techniques explained later in this article.
Modern Microsoft Windows systems have PC speaker support as a separate device with special capabilities – that is, it cannot be configured as a normal audio output device. Some software uses this special sound channel to produce sounds. For example, Skype can use it as a reserve calling signal device for the case where the primary audio output device cannot be heard (for example because the volume is set to the minimum level or the amplifier is turned off).
Pinouts.
In some applications, the PC speaker is affixed directly to the computer's motherboard; in others, including the first IBM Personal Computer, the speaker is attached by wire to a connector on the motherboard. Some PC cases come with a PC speaker preinstalled. A wired PC speaker connector may have a two-, three-, or four-pin configuration, and either two or three wires. The female connector of the speaker connects to pin headers on the motherboard, which are sometimes labeled or .
Pulse-width modulation.
The PC speaker is normally meant to reproduce a square wave via only 2 levels of output (the speaker is driven by only two voltage levels, typically 0 V and 5 V). However, by carefully timing a short pulse (i.e. going from one output level to the other and then back to the first), and by relying on the speaker's physical filtering properties (limited frequency response, self-inductance, etc.), the end result corresponds to intermediate sound levels, functioning as a crude digital-to-analog converter. This technique is called pulse-width modulation (PWM) and allows approximate playback of PCM audio. (A more refined version of this technique is used in class D audio amplifiers.)
With the PC speaker, this method achieves limited quality playback; the quality depends on a trade-off between the PWM carrier frequency (effective sample rate) and the number of output levels (effective bit depth). The clock rate of the PC's programmable interval timer which drives the speaker is fixed at 1,193,180 Hz, and the product of the audio sample rate times the maximum DAC value must equal this. Typically, a 6-bit DAC with a maximum value of 63 is used at a sample rate of 18,939.4 Hz, producing poor but recognizable audio.
The audio fidelity of this technique is further decreased by the lack of a properly sized dynamic loudspeaker, even moreso in modern machines and particularly laptops, that use a tiny moving-iron speaker (often confused with piezoelectric). The reason for this is that PWM-produced audio requires a low-pass filter before the final output in order to suppress switching noise and high harmonics, something that a normal dynamic loudspeaker can do on its own right, while the tiny metal diaphragm of the moving-iron speaker will let much switching noise pass, as will many direct couplings (though there are exceptions to this, e.g. filtered "speaker in" ports on some motherboards and sound cards).
This use of the PC speaker for complex audio output became less common with the introduction of the Sound Blaster and other sound cards.


VERSION.EXE


Entropy-supplying system calls

Entropy-supplying system calls are system calls in Unix-like operating system kernels through which processes can obtain entropic or random data. The first of these was codice_1, introduced to the OpenBSD operating system in release 5.6 (November 2014), as a refactoring of the sysctl(3) KERN_ARND approach used since 1997. Linux offers a very similar system call, codice_2, which was based on codice_1. It was first available in Linux 3.17, released in October 2014. In July 2015, Solaris introduced slightly modified versions of codice_1 and codice_2. In August 2015, FreeBSD introduced the codice_6 system call for obtaining random data from the kernel.
These system calls allow processes to access quality random data without opening and reading from randomness pseudo-devices.
Microsoft Windows' codice_7 and Apple iOS's codice_8 API are very similar. However, they are not implemented as system calls.
Motivation.
Traditionally, Unix-like operating systems supply random data through two pseudo-devices: codice_9 and codice_10. However, safely and reliably reading random data from these devices can be difficult and complicated. For example, an attacker could interfere with a process's access to the pseudo-devices by opening all available file descriptors, or through a similar form of resource exhaustion attack. The use of these devices also interferes with privilege revocation. Unprivileged processes are often denied the ability to open and read files and devices, and the randomness devices are not even visible to chrooted processes.
The difficulty of using randomness pseudo-devices often leads developers to use standard library functions instead. Some of these, such as the C programming language's codice_11, POSIX's codice_12, and codice_13, are very unsafe when used for cryptography or similar applications, because these algorithms are actually deterministic having been intentionally crippled to satisfy seed-reuse requirements through the interfaces codice_14, codice_15, and codice_16.
A significant difference exists between these calls: codice_17 guarantees that random numbers will be returned
immediately, without any blocking. It requires operating support which guarantees random data stream initialization at the earliest opportunity. To encourage other operating systems follow this model, codice_17 cannot indicate errors to the application. Other calls described here may return errors instead, or block indeterminately. Such blocking semantics have been implicated in significant problems.
As security becomes a more widespread priority in software development, quality randomness is used more often and in more contexts. Because of this, providing quality randomness is increasingly considered a core responsibility of the kernel. System calls are the traditional interface through which a process uses core kernel services, and kernels are therefore supporting accessing randomness through system calls.
Usage.
Because it is faster and adds another layer of entropy mixing, it is usually suggested that processes use these syscalls' data through a userspace cryptographically secure pseudorandom number generator (CSPRNG) rather than assigning the retrieved data directly to variables. For this purpose, OpenBSD's C standard library includes the function codice_19, which programs are expected to call when they need random data. Like codice_1, codice_19 also may not block nor return an error.
This approach allows a program to fetch less entropy from the kernel without reducing the strength of its random data. The codice_1 system call is designed based on this assumption, supplying no more than 256 bytes per call.


MSD.EXE


NES Classic Edition

Nintendo Entertainment System: NES Classic Edition, known as Nintendo Classic Mini: Nintendo Entertainment System in Europe and Australia and in Japan, is a dedicated home video game console by Nintendo, which emulates the Nintendo Entertainment System (NES). It launched on November 10, 2016 in Australia and Japan, and November 11, 2016 in North America and Europe. Aesthetically, the console is a miniature replica of the NES, and it includes a static library of 30 built-in games from the licensed NES library, supporting save states for all of them.
Nintendo produced and sold about 2.3 million NES Classic Editions from November 2016 through April 2017, with shipments selling out nearly immediately. In April 2017, Nintendo announced they were discontinuing the product, leading to consumer confusion, and incidents of greatly increased pricing among private sellers. Due to the demand of the NES Classic, and the success of the Super NES Classic Edition console, Nintendo re-introduced a limited run of the NES Classic on June 29, 2018. Production was discontinued again in December 2018.
Hardware.
The NES Classic Edition is a dedicated console for emulating 30 Nintendo Entertainment System games. The console is distributed in two variations; one for Japan, featuring the likeness of the original Famicom, and one for the rest of the world, which looks like the original NES. For the non-Japanese variation, all of the games are based on their US release, running at 60 Hz and using the names by which they were released in the United States. The console's user interface supports up to eight languages, but this does not affect the language for the games themselves.
Internally, the console uses an Allwinner R16 system on a chip with four ARM Cortex-A7 central processing cores and an ARM Mali 400 MP2 graphics processing unit. It includes 512 MB of flash storage and 256 MB of DDR3 memory.
For video output, the system features an HDMI connection, which puts out 720p at 60 Hz video for all games.
The controllers in the international version of the console feature the Wii Nunchuk's connector, which allows the controller to be connected to the Wii Remote for use with Virtual Console games on the Wii and Wii U. Accessories for the Wii such as the Classic Controller may be used with the NES Classic. The controllers for the Japanese version are hardwired into the console just like in the original Famicom, so they cannot be used in conjunction with the Wii. The Famicom Mini controllers are also proportioned to the size of the console, resulting in them being smaller than their North American or European counterpart. They fit into small holding slots on the side of the console. The Famicom Mini comes with two controllers. The microphone on the Player 2 controller is superficial only and does not work.
The console uses the Linux operating system, running a new Nintendo Entertainment System emulation engine developed by Nintendo European Research & Development (NERD). The emulation included limited support for some of the memory management controllers, aka mappers, used in NES cartridges to extend the ability of the console, such as for "Super Mario Bros. 3", though not all known mappers were included with the emulation engine. The emulation engine was well-received by critics and was regarded as superior in both visual and audio support when compared to the NES Virtual Console emulation on the Wii U.Menu of the Nintendo Classic Mini: Nintendo Entertainment SystemMenu of the Nintendo Classic Mini: Family ComputerA 320-page book called "Playing with Power: Nintendo NES Classics", published by Prima Games, was released the same day as the console; the book is a guide to some of the games included on the system. Nintendo of America brought back the Nintendo Power Line as an automated phone hotline from November 11 to 13 as a celebration of the launch of the system.
Included games.
Regardless of the model or region, the microconsole included 30 built-in games in all regions. Games that originally had different titles in the PAL regions use their respective American monikers, such as "Ninja Gaiden" (originally "Shadow Warriors") and "Super C" (originally "Probotector II: Return of the Evil Forces"). From the 30 included titles, 22 are common between all regions, while the eight remaining ones are exclusive to either Japan or North America/PAL region respectively.
Release.
The NES Classic Edition was first released on November 10, 2016 in Japan and Australia, and November 11 in North America and Europe. With the limited supply, these initial shipments sold out almost immediately.
Nintendo produced about 2.3 million NES Classic Editions over the next five months. By April 13, 2017, Nintendo announced it was ceasing production of the unit, with final shipments sent out within the next few days.
Nintendo's decision to stop production of the console was met with criticism due to consumer's lack of awareness of the limited availability of the console, as described below. Following the announcement of the Super NES Classic Edition, which served as a counterpart to the NES Classic Edition but for Super Nintendo Entertainment System titles, Nintendo announced that it would also resume production of the NES Classic Edition in 2018. Nintendo brought renewed shipments of the system on June 29, 2018, with production of the system expected to continue throughout the year.
Upon its re-release in June 2018, the NES Classic Mini sold more units than the PS4, Xbox One, and the Nintendo Switch.
Combined sales of the NES and SNES Classic editions by September 30, 2018 exceeded 10 million units.
On December 13, 2018, Reggie Fils-Aimé affirmed that both the NES and SNES Classic Editions will not be restocked after the 2018 holiday season, nor does Nintendo anticipate producing any similar mini-console version of its other home consoles in the future.
Reception.
Aside from criticism regarding the controller cord being too short as well as minor emulation glitches, especially with sound, the NES Classic Edition has been well received.
One of many "plug-n-play" consoles on the market, the demand for NES Classic Edition was notably large, with various retailers collectively selling approximately 196,000 units in its first month, remarkably selling out within hours of availability. Nintendo reported 1.5 million units had been sold by the end of 2016. On April 28, 2017, Nintendo revealed that 2.3 million consoles were sold in total. Following the rerelease of the console, Nintendo had sold about 1.3 million additional units through June 30, 2018. Combined sales of the NES and SNES Classic editions by September 30, 2018 exceeded 10 million units.
Despite the positive reception, journalists were confused about Nintendo's decision to discontinue the unit as announced in April 2017. Nintendo did not say at launch that the system was meant to be only a limited run, and its messaging for it seemed to suggest it would be a product with a longer production life. The company clarified, when announcing the discontinuation, that "NES Classic Edition wasn’t intended to be an ongoing, long-term product. However, due to high demand, we did add extra shipments to our original plans." The lack of availability of the unit since launch, with shipments immediately selling out when they reach stores, also suggested Nintendo was not prepared for the demand for the product. Nintendo of America's CEO Reggie Fils-Aimé later stated that "We just didn't anticipate how incredible the response would be", having considered the sales of other similar retro-consoles, but they had to discontinue the unit as "we've got a lot going on right now and we don’t have unlimited resources."
According to an April 2017 report by "Eurogamer", the discontinuation of the NES Classic was in part to transition the production line to a Super Nintendo Entertainment System (SNES) Classic system designed similarly to the NES Classic but featuring games from the SNES, to be launched in late 2017, though Nintendo did not confirm this information. While journalists agreed an SNES Classic would be a more enticing product and Nintendo would likely be more prepared to produce a larger number of systems, Nintendo's decision with the NES Classic may have influenced consumers to be wary of trying to buy a system produced in low volumes, or give the impression of artificial scarcity with the product as part of a longer-term strategy to keep consumers demanding Nintendo products. When the Super NES Classic Edition was officially announced in June 2017, Nintendo said it "will produce significantly more units of Super NES Classic Edition than we did of NES Classic Edition" to avoid a similar shortage issue, but reaffirmed that it was not anticipated to be an ongoing product. In December 2018, Fils-Aimé affirmed that both the NES and SNES Classic Editions will not be restocked after the holiday season, nor does Nintendo anticipate producing any similar mini-console version of its other home consoles in the future.
Hacking.
Shortly after the NES Classic Edition's release, hackers discovered ways to unofficially add up to 700 titles to the system's library, as well as enable emulation support for other consoles. Games from various consoles, such as the Nintendo 64 and 32X, have been successfully made to run on the NES Classic Edition.
Scalping and bootlegs.
The NES Classic Edition's very limited stock during its original release in 2016 was one of its main criticisms, with some stores receiving fewer than 10 units at a time. This, coupled with the extremely high demand, prompted internet scalpers to buy as many as they could, so they could resell them with extreme price markups. In the US, prices were commonly set between $200 and $500, compared to its launch price of $59.99. The separate controller that could be bought without the console suffered the same fate, often being included with the main unit. The limited supply of NES Classic was compared to the situation around Amiibo shortages, which similarly were offered by Nintendo in limited quantity and led to scalping and high resale prices, frustrating fans.
When Nintendo announced it was discontinuing the NES Classic Edition in April 2017, Nintendo enthusiasts and some outlets such as "Polygon" and "The Verge" believed that Nintendo planned on a limited release of the NES classic to drive artificial scarcity and increase sales, but which got out of hand with scalpers and secondary sales which have backfired on them. Nintendo denied these claims, stating that it was limited by its own rate of production with other hardware products, and that "It's definitely not intentional in terms of shorting the market".
Following the April 2017 discontinuation, consumers found that several bootleg versions of the NES Classic Edition appeared on third party auction sites, typically produced by Chinese companies. These bootlegs have been found to be near-identical in hardware and software, which could confuse consumers who were looking to purchase a Classic Edition.
Limited "Shōnen Jump" Edition.
A very limited gold "Shōnen Jump" Edition of the Famicom Mini was released only in Japan on July 7, 2018. Colored gold to celebrate the 50th anniversary of Shueisha's "Weekly Shōnen Jump" manga magazine, the special edition features 20 Famicom games largely based on "Shōnen Jump" manga properties, including "Dragon Ball", "Saint Seiya", and "Kinnikuman".
This edition of the console includes the following games:
Within two days, over 110,000 units of the "Shōnen Jump" unit had been sold.


Advanced Micro Devices, Inc. v. Intel Corp.

AMD v. Intel was a private antitrust lawsuit, filed in the United States by Advanced Micro Devices ("AMD") against Intel Corporation in June 2005.
History.
AMD launched the lawsuit against its rival Intel, the world's leading microprocessor manufacturer. AMD has claimed that Intel engaged in unfair competition by offering rebates to Japanese PC manufacturers who agreed to eliminate or limit purchases of microprocessors made by AMD or a smaller manufacturer, Transmeta.
The complaint was filed in the United States District Court for the District of Delaware in June 2005. The case was consolidated with thirteen other antitrust suits against Intel by the Judicial Panel on Multidistrict Litigation in November 2005. In July 2007, U.S. District Judge Joseph James Farnan Jr. largely denied Intel's motion to dismiss. The court date, originally scheduled for April 2009, was pushed back to February 2010.
In February 2009 it was reported that Intel had spent at least $116 million to date on legal representation on the antitrust suit. This was inferred from a $50 million lawsuit filed by Intel against one of its insurers; the lawsuit disclosed that Intel had already exhausted $66 million in coverage from two other insurers while fighting the antitrust lawsuit.
Federal Trade Commission Chairwoman Deborah Platt Majoras blocked an inquiry into the matter until her departure in March 2008. In June 2008, new FTC Chairman William Kovacic opened an investigation.
This is not the first time AMD has accused Intel Corp. of abusing their power as the leading manufacturer for x86 processors. In 1991, AMD filed an antitrust lawsuit against Intel claiming that they were trying to secure and maintain a monopoly (756 F. Supp. 1292 (1991) INTEL CORPORATION, Plaintiff, v. ADVANCED MICRO DEVICES, INC., Defendant. And Related Counterclaims) And one year later, a court ruled against Intel, awarding AMD $10 million "plus a royalty-free license to any Intel patents used in AMD's own x86-style processor".
Agreement.
In November 2009, Intel agreed to pay AMD $1.25 billion as part of a deal to settle all outstanding legal disputes between the two companies.
That week, Andrew Cuomo, then the Attorney General of New York, who had access to the 200 million documents in discovery and 2,200 hours of witness depositions from the private lawsuit, filed another antitrust lawsuit under similar allegations. That lawsuit was ultimately settled in 2012 by Cuomo's successor for $6.5 million.
In December 2009, the FTC sued Intel. On August 4, 2010, FTC Chairman Jon Leibowitz reached a settlement agreement with Intel in which the company agreed to modify its rebate practices and establish a $10 million fund for misled customers.
International actions.
In 2005, the Japan Fair Trade Commission issued Intel a cease and desist order. On June 4, 2008, Korea Fair Trade Commission fined Intel US$25.4 million for giving Samsung rebates to not use AMD processors. Some of the manufacturers involved in the case were Dell, HP, Gateway, Acer, Fujitsu, Sony, Toshiba, and Hitachi.
In May 2009, the European Commissioner for Competition, Neelie Kroes, fined Intel a record $1.45 billion and ordered it to end its customer rebate program.