Difference between revisions of "Computer"

From Things and Stuff Wiki
Jump to: navigation, search
(Display)
(Hatari)
 
Line 1,206: Line 1,206:
 
* [http://hatari.tuxfamily.org/ Hatari] - an Atari ST/STE/TT/Falcon emulator for GNU/Linux, BSD, Mac OS X, Windows and other systems which are supported by the SDL library. The Atari ST was a 16/32 bit computer system which was first released by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular computer having quite a lot of CPU power at that time. Unlike many other Atari ST emulators which try to give you a good environment for running GEM applications, Hatari tries to emulate the hardware of a ST as close as possible so that it is able to run most of the old ST games and demos. Hatari is open source software and is distributed under the terms of the GNU General Public License (GPL). [https://news.ycombinator.com/item?id=19080006]
 
* [http://hatari.tuxfamily.org/ Hatari] - an Atari ST/STE/TT/Falcon emulator for GNU/Linux, BSD, Mac OS X, Windows and other systems which are supported by the SDL library. The Atari ST was a 16/32 bit computer system which was first released by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular computer having quite a lot of CPU power at that time. Unlike many other Atari ST emulators which try to give you a good environment for running GEM applications, Hatari tries to emulate the hardware of a ST as close as possible so that it is able to run most of the old ST games and demos. Hatari is open source software and is distributed under the terms of the GNU General Public License (GPL). [https://news.ycombinator.com/item?id=19080006]
  
 +
=== ruby2600 ===
 +
* https://github.com/chesterbr/ruby2600 - An experimental Atari™ 2600 emulator, 100% written in Ruby
 +
 +
=== pctation ===
 +
* https://github.com/VelocityRa/pctation - PlayStation emulator in C++17
  
 
=== beebui ===
 
=== beebui ===
 
* https://github.com/andydotxyz/beebui - A BBC Micro Emulator based on Fyne and skx/gobasic
 
* https://github.com/andydotxyz/beebui - A BBC Micro Emulator based on Fyne and skx/gobasic

Latest revision as of 21:47, 8 July 2019

Contents

General



  • https://en.wikipedia.org/wiki/PC_System_Design_Guide - also known as the PC 97, PC 98, PC 99, or PC 2001 specification, is a series of hardware design requirements and recommendations for IBM PC compatible personal computers, compiled by Microsoft and Intel Corporation during 1997–2001. They were aimed at helping manufacturers provide hardware that made the best use of the capabilities of the Microsoft Windows operating system, and to simplify setup and use of such computers. Every part of a standard computer and the most common kinds of peripheral devices are defined with specific requirements. Systems and devices that meet the specification should be automatically recognized and configured by the operating system.



  • HDT (stands for Hardware Detection Tool) is a Syslinux com32 module that displays low-level information for any x86 compatible system. It provides both a command line interface and a semi-graphical menu mode for browsing.



Resources

News and reviews

Shopping

Comparison

Notes

  • Core I7-4790K 4-Core 4.0GHz
  • 2x PCI-E 3.0

Linux

See *nix, *nix#Hardware

cat /proc/cpuinfo

lspci

lsusb

dmidecode

Minicomputer

PC form factor

Case

Mini ATX

Small

Intel NUC

  • Intel NUC - a powerful 4x4-inch mini PC with entertainment, gaming, and productivity features, including a customizable board that is ready to accept the memory, storage, and operating systems that you want.

Zotac


UDOO x86 Advanced Plus

Single-board computer

See also Network#Hardware 2


  • 96Boards - a range of specifications with boards and peripherals offering different performance levels and features in a standard footprint.




Arduino


Raspberry Pi




BeagleBoard


  • BeagleBone - Explore the high-performance, low-power world with the tiny, affordable, open-source Beagles. Putting Android, Ubuntu and other Linux flavors at your fingertips, the Beagle family revs as high as 1GHz with flexible peripheral interfaces and a proven ecosystem of feature-rich "Cape" plug-in boards.



Banana Pi


Orange Pi

  • Orange Pi Pc Plus - It’s an open-source single-board computer. It can run Android 4.4, Ubuntu, Debian, Raspbian Image. It uses the AllWinner H3 SoC, and has 1GB DDR3 SDRAM.


ODROID

  • ODROID - ODROID-XU4, ODROID-C2, ODROID-C1+, N2, etc.





  • Turris Omnia - With powerful hardware, Turris Omnia can handle gigabit traffic and still be able to do much more. You can use it as a home server, NAS, printserver and it even has a virtual server built-in. [4]

Asus Tinker Board


ROCK64



C.H.I.P.

  • C.H.I.P. - WiFi B/G/N Built-in! Plug C.H.I.P. in and hop on the internet in 60 seconds flat. 1GHz Processor C.H.I.P.'s R8 processor allows C.H.I.P. to be small and powerful enough to handle any task you can throw at it. 4GB of High-speed Storage C.H.I.P. comes with storage onboard, so there’s no need to purchase an SD card. C.H.I.P. is ready to go. 512MB of RAM C.H.I.P. comes with enough RAM to start your projects right away. Bluetooth 4.0 Wirelessly connect keyboards, mice, and controllers to C.H.I.P. With a few clicks and an old stereo, turn C.H.I.P. into an AirPlay or Bluetooth speaker. C.H.I.P. Works with ANY Display


  • C.H.I.P. Pro - 1GHz ARMv7-A, 256MB/512MB DDR3/SLC NAND, I2S Audio Dual Mics, WiFi B/G/N & BT4.2, Fully Certified, Open Source HW, OS, No NDAs!


Marvell ESPRESSObin

MiBox



Intel Galileo




Intel Compute Stick

  • Intel Compute Stick - Intel Compute Stick is a device the size of a pack of gum that turns any HDMI display into a fully functional computer: same operating system, same high quality graphics, and same wireless connectivity. All this in a PC on a stick that measures 4.5 inches from end to end, and is ready to compute right out of the box. 


Intel Quark

  • Intel Quark - Based on the Intel Quark microcontroller D2000, this kit is used to develop and prototype low-power solutions for the Internet of Things (IoT). The kit includes a developer board with sensors and hardware interface shields, a software IDE, and an open-source board support package.

HummingBoard

CuBOX


VoCore

  • VoCore - open hardware and runs OpenWrt/LEDE. It has WIFI, USB, UART, 20+ GPIOs but is only one inch square. It will help you to make a smart house, study embedded system or even make the tiniest router in the world.

Tinyduino

Single-board microcontroller

Teensy

  • Teensy USB Development Board - a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.

BBC micro:bit


ESP32

  • ESP32 - Created by Espressif Systems, ESP32 is a low-cost, low-power system on a chip (SoC) series with Wi-Fi & dual-mode Bluetooth capabilities! The ESP32 family includes the chips ESP32-D0WDQ6 (and ESP32-D0WD), ESP32-D2WD, ESP32-S0WD, and the system in package (SiP) ESP32-PICO-D4. At its heart, there's a dual-core or single-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is highly integrated with built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. Engineered for mobile devices, wearable electronics, and IoT applications, ESP32 achieves ultra-low power consumption through power saving features including fine resolution clock gating, multiple power modes, and dynamic power scaling.


ESP8266

  • https://en.wikipedia.org/wiki/ESP8266 - a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer, Espressif Systems.

WISP

  • WISP - the Wireless Identification and Sensing Platform, is a family of sensors that are powered and read by UHF RFID readers. WISPs do not require batteries since they harvest their power from the RF signal generated by the reader. The WISP is an open source, open architecture EPC Class 1 Generation 2 RFID tag that includes a fully programmable 16 bit microcontroller, as well as arbitrary sensors. Unlike the WISP, conventional RFID tags are black boxes that cannot execute arbitrary computer programs, and do not support sensors. We have given WISPs to collaborators around the world. Many of the applications have been sensing related, but we were also surprised to find many applications in the areas of cryptography and security, enabled by WISPs programmability. [6]

PSoC

Other


  • https://github.com/chris408/digispark-usbkey-board - a super small Arduino compatible device that can be used for lots of different projects. This document and code helps you set one up as a virtual keyboard that will send characters of your choice to the host system.

Allwinner

  • http://linux-sunxi.org/Main_Page - Welcome to the wiki of the linux-sunxi community, an open source software community dedicated to providing open source operating system support for Allwinner SoC based devices. sunxi represents the family of ARM SoCs from Allwinner Technology, a Chinese fabless semiconductor company. Their best known products are the sunxi SoC series, such as the A10 (sun4i), A13 (sun5i) and A20 (sun7i) chips, which were very successful in the low-budget tablet market. See Allwinner SoC Family for more information on the different Allwinner chips.

Secure

Power

  • 600w +


UPS

APCUPSD

  • apcupsd - can be used for power mangement and controlling most of APC’s UPS models on Unix and Windows machines. Apcupsd works with most of APC’s Smart-UPS models as well as most simple signalling models such a Back-UPS, and BackUPS-Office. During a power failure, apcupsd will inform the users about the power failure and that a shutdown may occur. If power is not restored, a system shutdown will follow when the battery is exhausted, a timeout (seconds) expires, or runtime expires based on internal APC calculations determined by power consumption rates. Apcupsd is licensed under the GPL version 2.

Mainboard

  • https://en.wikipedia.org/wiki/Motherboard - (sometimes alternatively known as the mainboard, system board, baseboard, planar board or logic board, or colloquially, a mobo) is the main printed circuit board (PCB) found in general purpose microcomputers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general purpose use.

Motherboard specifically refers to a PCB with expansion capability and as the name suggests, this board is often referred to as the "mother" of all components attached to it, which often include peripherals, interface cards, and daughtercards: sound cards, video cards, network cards, hard drives, or other forms of persistent storage; TV tuner cards, cards providing extra USB or FireWire slots and a variety of other custom components. Similarly, the term mainboard is applied to devices with a single board and no additional expansions or capability, such as controlling boards in laser printers, televisions, washing machines and other embedded systems with limited expansion abilities.

BIOS


  • Computer POST and beep codes - The computer POST (power-on self-test) checks a computer's internal hardware for compatibility and connection before starting the remainder of the boot process. If the computer passes the POST, the computer may give a single beep (some computers may beep twice) as it starts and continue to boot. However, if the computer fails the POST, the computer will either not beep or generate a beep code that tells the user the source of the problem.


  • dmidecode - reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard (see a sample output). This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. This will often include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of I/O ports (e.g. serial, parallel, USB).


Updating



Coreboot

to sort

  • Booting a Self-signed Linux Kernel - Now that The Linux Foundation is a member of the UEFI.org group, I’ve been working on the procedures for how to boot a self-signed Linux kernel on a platform so that you do not have to rely on any external signing authority. After digging through the documentation out there, it turns out to be relatively simple in the end, so here’s a recipe for how I did this, and how you can duplicate it yourself on your own machine.


CPU

See Computing


Memory




Bus /interface












  • AllPinouts - a Web-based free content project to list cable and connectors pin-outs.


RS232

I²C

  • https://en.wikipedia.org/wiki/I²C - pronounced I-squared-C, is a synchronous, multi-master, multi-slave, packet switched, single-ended, serial computer bus invented in 1982 by Philips Semiconductor (now NXP Semiconductors). It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication. Alternatively I²C is spelled I2C (pronounced I-two-C) or IIC (pronounced I-I-C). Since October 10, 2006, no licensing fees are required to implement the I²C protocol. However, fees are required to obtain I²C slave addresses allocated by NXP. Several competitors, such as Siemens AG (later Infineon Technologies AG, now Intel mobile communications), NEC, Texas Instruments, STMicroelectronics (formerly SGS-Thomson), Motorola (later Freescale, now merged with NXP), Nordic Semiconductor and Intersil, have introduced compatible I²C products to the market since the mid-1990s.



  • https://en.wikipedia.org/wiki/System_Management_Bus - SMBus, defined by Intel in 1995, is a subset of I²C, defining a stricter usage. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I²C systems incorporate some policies and rules from SMBus, sometimes supporting both I²C and SMBus, requiring only minimal reconfiguration either by commanding or output pin use.

SPI

  • https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus - SPI) is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid 1980s and has become a de facto standard. Typical applications include Secure Digital cards and liquid crystal displays. SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection with individual slave select (SS) lines.

Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface, but it is different from the Synchronous Serial Interface (SSI) protocol, which is also a four-wire synchronous serial communication protocol. SSI Protocol employs differential signaling and provides only a single simplex communication channel.

UART

  • https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter - a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. The electric signaling levels and methods are handled by a driver circuit external to the UART. A UART is usually an individual (or part of an) integrated circuit (IC) used for serial communications over a computer or peripheral device serial port. One or more UART peripherals are commonly integrated in microcontroller chips. A related device, the universal synchronous and asynchronous receiver-transmitter (USART) also supports synchronous operation.

SCSI


/dev/bsg

PATA

SATA


PCI




  • lspci is a utility for displaying information about PCI buses in the system and devices connected to them.

BNC

  • https://en.wikipedia.org/wiki/BNC_connector - a miniature quick connect/disconnect radio frequency connector used for coaxial cable. It features two bayonet lugs on the female connector; mating is fully achieved with a quarter turn of the coupling nut. BNC connectors are used with miniature-to-subminiature coaxial cable in radio, television, and other radio-frequency electronic equipment, test instruments, and video signals. The BNC was commonly used for early computer networks, including ARCnet, the IBM PC Network, and the 10BASE2 variant of Ethernet. BNC connectors are made to match the characteristic impedance of cable at either 50 ohms or 75 ohms. They are usually applied for frequencies below 4 GHz and voltages below 500 volts


USB


  • pid.codes - a registry of USB PID codes for open source hardware projects. You can see a list of PID assignments, or learn how to get your own. [11]







  • serialusb - a cheap USB proxy for input devices.This tool can act as a USB proxy using the well-known DIY USB adapter. Combined with usbmon and wireshark, it allows to generate and inspect USB captures. [13]


  • GIMX - free software that allows to use a computer as a hub for your gaming devices. It works on Windows® and GNU/Linux platforms. It is compatible with Playstation® and Xbox® gaming consoles, and with gaming computers. The connection between the computer and the gaming platform is performed using a USB adapter – get one on the GIMX shop! – or a Bluetooth® dongle (PS3/PS4 only). The capabilities depend on the platform, the connection method, and the gaming platform.


Devices

  • LUFA - Lightweight USB Framework for AVRs, formerly known as MyUSB, is my first foray into the world of USB. It is an open-source complete USB stack for the USB-enabled Atmel AVR8 and (some of the) AVR32 microcontroller series, released under the permissive MIT License (see documentation or project source for full license details). The complete line of Atmel USB AVRs and USB AVR boards are supported by the library, as are any custom user boards, via custom board hardware drivers supplied by the user.



  • https://github.com/hak5darren/USB-Rubber-Ducky - a Human Interface Device programmable with a simple scripting language allowing penetration testers to quickly and easily craft and deploy security auditing payloads that mimic human keyboard input. The source is written in C and requires the AVR Studio 5 IDE from atmel.com/avrstudio. Hardware is commercially available at hakshop.com. Tools and payloads can be found at usbrubberducky.com. Quack!


  • Teensy USB - a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.
  • USBdriveby - a device you stylishly wear around your neck which can quickly and covertly install a backdoor and override DNS settings on an unlocked machine via USB in a matter of seconds. It does this by emulating a keyboard and mouse, blindly typing controlled commands, flailing the mouse pointer around and weaponizing mouse clicks.In this project, we'll learn how to exploit a system's blind trust in USB devices, and learn how a $20 Teensy microcontroller can evade various security settings on a real system, open a permanent backdoor, disable a firewall, control the flow of network traffic, and all within a few seconds and permanently, even after the device has been removed. [14]




  • PICJUG - an open source replacement for the FT232 USB chip from FTDI. I designed it because I find that I often need a serial port, JTAG port and a couple of outputs when talking to an embedded system and didn’t like connecting multiple devices to achieve this result. Ultimately, I wanted to drop a single inexpensive part in to a design to achieve these goals. PICJUG is named after what it does. It’s a PIC J TAG, U ART and G PIO device.


Power







Linux

  • https://www.kernel.org/doc/Documentation/usb/usbmon.txt - a facility in kernel which is used to collect traces of I/O on the USB bus. This function is analogous to a packet socket used by network monitoring tools such as tcpdump(1) or Ethereal. Similarly, it is expected that a tool such as usbdump or USBMon (with uppercase letters) is used to examine raw traces produced by usbmon.



Security

  • SyncStop / USB Condom - prevents accidental data exchange when your device is plugged into someone else’s computer or a public charging station. SyncStop achieves this by blocking the data pins on any USB cable and allowing only power to flow through. This minimizes opportunities to steal your data or install malware on your mobile device.SyncStop is the 'cased' version of the original USB Condom. We listened and spent some time designing and manufacturing our own enclosure. [16]


  • USBGuard - software framework helps to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing basic whitelisting and blacklisting capabilities based on device attributes.

MTP


USB3


IEEE 1394 / Firewire

lsmod | egrep 'firewire|1394'
  • dvgrab is a program that captures DV video and audio data from digital camcorders via an IEEE1394 link. The DV data is stored in one or several files and can later be processed by video editing software. dvgrab can remote control the camcorder but it does not show the video's content on screen.
dvgrab --size 500 --autosplit <filename>

interactive mode;

dvgrab -i

live view;

dvgrab - | mplayer -

Thunderbolt

Bluetooth

See Radio#Bluetooth

M.2

InfiniBand

  • https://en.wikipedia.org/wiki/InfiniBand - abbreviated IB, is a computer-networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used as either a direct or switched interconnect between servers and storage systems, as well as an interconnect between storage systems.

Fibre Channel

  • https://en.wikipedia.org/wiki/Fibre_Channel - or FC, is a high-speed network technology (commonly running at 1, 2, 4, 8, 16, 32, and 128 gigabit per second rates) primarily used to connect computer data storage to servers. Fibre Channel is mainly used in storage area networks (SAN) in commercial data centers. Fibre Channel networks form a switched fabric because they operate in unison as one big switch. Fibre Channel typically runs on optical fiber cables within and between data centers, but can also run on copper cabling.

Gen-Z




D-sub

PCMCIA / PC Card

  • https://en.wikipedia.org/wiki/PC_Card - a configuration for computer parallel communication peripheral interface, designed for laptop computers. Originally introduced as PCMCIA, the PC Card standard as well as its successors like CardBus were defined and developed by the Personal Computer Memory Card International Association (PCMCIA).

Input


  • deskthority wiki - dedicated to mechanical keyboards, mice and other human interface devices. The main focus is everything regarding quality (mechanical) keyboards. In the nature of a wiki, the content will be frequently and constantly under construction. Want to share your knowledge and help us create the best input device wiki? This wiki is part of the deskthority forum - sign in with your forum account and start editing!


Mouse


  • https://github.com/cdobrich/btnx - a daemon that enables rerouting of mouse button events through uinput as keyboard and other mouse button combinations. btnx requires btnx-config, a configuration tool for btnx. See cdobrich/btnx-config for more details.


Trackpad

Keyboard










Split


  • Keyboardio - With a hardwood body, mechanical switches & custom-sculpted keycaps, it's a dream to type on. It comes with source code & a screwdriver.


Chorded









Piano


Practice


Scanner

Infrared


Flirc

  • https://flirc.tv - Flirc USB learns from any remote control, not caring about different vendor protocols. Just walk through the super simple setup - pairing individual remote buttons with 'Media Centre Buttons' and you're done. It's basically a universal IR receiver, so can be used with any remote you choose, old, new or Universal! The best part about FLIRC is that it can be used to mimic a keyboard so every media center application understands it without any drivers. FLIRC runs across all platforms, Mac, Linux, and Windows.



  • irplus - Irdroid - free application for the Android Operating System which aims to reproduce infrared signals of various remote controls exactly as they are sent from the original remote. This is achieved by supporting widely-known representation formats for infrared codes like LIRC, PRONTO, RAW or proprietary formats found in some specification of manufacturers. Furthermore each layout of a remote-set can be customized with nearly endless possibilities via importable and exportable XML files. Codesets for remote controls can be gathered by following the guide i have provided under the "New codes" section. Irplus comes with minimal permissions required.




Wii Remote

  • https://en.wikipedia.org/wiki/Wii_Remote - known colloquially as the Wiimote, is the primary controller for Nintendo's Wii console. A main feature of the Wii Remote is its motion sensing capability, which allows the user to interact with and manipulate items on screen via gesture recognition and pointing through the use of accelerometer and optical sensor technology. Another feature is its expandability through the use of attachments. The attachment bundled with the Wii console is the Nunchuk, which complements the Wii Remote by providing functions similar to those in gamepad controllers.

Gesture


  • The Wekinator - free, open source software originally created in 2009 by Rebecca Fiebrink. It allows anyone to use machine learning to build new musical instruments, gestural game controllers, computer vision or computer listening systems, and more. The Wekinator allows users to build new interactive systems by demonstrating human actions and computer responses, instead of writing programming code.

Breath

  • https://github.com/jasonwebb/openSipPuff - Simple, low-cost "sip and puff" USB interface for expressive interactions, enabling breath-based control of keypresses, mouse actions and much more using USB HID.

Output

See also *nix#Printing

Video card




https://github.com/klogg/fl2000_drm - Linux kernel FL2000DX/IT66121FN dongle DRM driver

Connectors

Display

  • https://en.wikipedia.org/wiki/Display_device - an output device for presentation of information in visual[1] or tactile form (the latter used for example in tactile electronic displays for blind people). When the input information that is supplied has an electrical signal the display is called an electronic display.Common applications for electronic visual displays are television sets or computer monitors.



  • * https://en.wikipedia.org/wiki/VESA_Display_Power_Management_Signaling - or DPMS, is a standard from the VESA consortium for power management of video monitors. Example usage includes turning off, or putting the monitor into standby after a period of idle time to save power. Some commercial displays also incorporate this technology. VESA issued DPMS 1.0 in 1993, basing their work on the United States Environmental Protection Agency's (EPA) earlier Energy Star power management specifications. Subsequent revisions were included in future VESA BIOS Extensions.


  • https://en.wikipedia.org/wiki/Display_Data_Channel - or DDC, is a collection of protocols for digital communication between a computer display and a graphics adapter that enable the display to communicate its supported display modes to the adapter and that enable the computer host to adjust monitor parameters, such as brightness and contrast.The standard was created by the Video Electronics Standards Association (VESA). The DDC suite of standards aims to provide a "plug and play" experience for computer displays. DDC1 and DDC2B/Ab/B+/Bi protocols are a physical link between a monitor and a video card, which was originally carried on either two or three pins in a 15-pin analog VGA connector.

Enhanced Display Data Channel (E-DDC) is the most recent revision of the DDC standard. Version 1 was introduced in September 1999 and featured the addition of a segment pointer which allowed up to 32 Kbytes of display information storage for use by the Enhanced EDID (E-EDID) standard. Earlier DDC implementations used simple 8-bit data offset when communicating with the EDID memory in the monitor, limiting the storage size to 28 bytes = 256 bytes, but allowing the use of cheap 2-Kbit EEPROMs. In E-DDC, a special I²C addressing scheme was introduced, in which multiple 256-byte segments could be selected. To do this, a single 8-bit segment index is passed to the display via the I²C address 30h. (Because this access is always a write, the first I²C octet will always be 60h.) Data from the selected segment is then immediately read via the regular DDC2 address using a repeated I²C 'START' signal. However, VESA specification defines the segment index value range as 00h to 7Fh, so this only allows addressing 128 segments × 256 bytes = 32 KiB. The segment index register is volatile, defaulting to zero and automatically resetting to zero after each NACK or STOP. Therefore, it must be set every time access to data above the first 256-byte segment is performed. The auto-reset mechanism is to provide for backward compatibility to, for example, DDC2B hosts, otherwise they may be stuck at a segment other than 00h in some rare cases.

Other important changes were removal of the DDC1 and DDC2Ab protocols, deprecation of separate VESA P&D and FPDI device addresses, and clarifications to the DDC power requirements. E-DDC Version 1.1, approved March 2004, featured support for HDMI and consumer electronics. E-DDC Version 1.2, approved December 2007, introduced support for DisplayPort (which has no dedicated DDC2B links and uses its bidirectional auxiliary channel for EDID and MCCS communication) and DisplayID standards. E-DDC Version 1.3 from September 2017 contains corrections for errata and minor clarifications.

  • ddcutil - a Linux program for managing monitor settings, such as brightness, color levels, and input source. Generally speaking, any settings that can be changed by pressing buttons on the monitor can be modified by ddcutil.ddcutil primarily uses DDC/CI (Display Data Channel Command Interface) to communicate with monitors implementing MCCS (Monitor Control Command Set) over I2C. Normally, the video driver for the monitor exposes the I2C channel as devices named /dev/i2c-n. Alternatively, there is support for monitors (such as Eizo ColorEdge displays) that implement MCCS using a USB connection. See USB Connected Monitors.A particular use case for ddcutil, and the one that inspired its development, is as part of color profile management. Monitor calibration is relative to the monitor color settings currently in effect, e.g. red gain. ddcutil allows color related settings to be saved at the time a monitor is calibrated, and then restored when the calibration is applied.


  • https://en.wikipedia.org/wiki/Extended_display_identification_data - EDID, is a companion standard; it defines a compact binary file format describing the monitor's capabilities and supported graphics modes, stored in a read-only memory (EEPROM) chip programmed by the manufacturer of the monitor. The format uses a description block containing 128 bytes of data, with optional extension blocks to provide additional information. The most current version is Enhanced EDID (E-EDID) Release A, v2.0. The first version of the DDC standard was adopted in August 1994. It included the EDID 1.0 format and specified DDC1, DDC2B and DDC2Ab physical links. DDC version 2, introduced in April 1996, split EDID into a separate standard and introduced the DDC2B+ protocol. DDC version 3, December 1997, introduced the DDC2Bi protocol and support for VESA Plug and Display and Flat Panel Display Interface on separate device addresses, requiring them to comply with EDID 2.0. The DDC standard has been superseded by E-DDC in 1999.
  • read-edid - a pair of tools (originally by John Fremlin) for reading the EDID from a monitor. It should work with most monitors made since 1996, assuming the video card supports the standard read commands (most do). read-edid is a set of two tools - get-edid, which gets the raw edid information from the monitor, and parse-edid, which turns the raw binary information into a xorg.conf-compatible monitor section (Modelines also compatible with xrandr). As of read-edid version 2.0.0, the lrmi code has been replaced by libx86 code - same syntax, but allows for use on many more architectures. For powerpc, there is a /proc interface, /proc/device-tree/pci/{video-card}/EDID, which you can pipe to parse-edid. Some architectures, AFAIK, may be stuck with only parse-edid. As of read-edid version 3.0.0, there have been significant code rewrites, including a new I²C-based interface that tends to work much better and in many more cases than the old interface (still included). If you had problems before, this will likely fix them.





  • Pective - display the actual size of any item right on your monitor. All you have to do is specify your monitor size, and Pective will display the image life-size!


Display

diy;

vga to d-tv;





  • https://en.wikipedia.org/wiki/FreeSync - an adaptive sync technology initially developed by AMD in response to NVidia's G-Sync for LCD displays that reduces screen tearing. FreeSync is royalty-free, free to use, and has no performance penalty. As of 2015, VESA has adopted FreeSync as an optional component of the DisplayPort 1.2a specification. FreeSync has a dynamic refresh rate range of 9-240Hz.

Laser

3D printing



Media

See also Audio, Video, Streaming

MP3

  • Rockbox is a free replacement firmware for digital music players. It runs on a wide range of players:


pcskr


Laptop

Mobile

Dasher

  • Dasher - an information-efficient text-entry interface, driven by natural continuous pointing gestures. Dasher is a competitive text-entry system wherever a full-size keyboard cannot be used - for example: when operating a computer one-handed, by joystick, touchscreen, trackball, or mouse; when operating a computer with zero hands (i.e., by head-mouse or by eyetracker); on a palmtop computer; on a wearable computer. The eyetracking version of Dasher allows an experienced user to write text as fast as normal handwriting - 29 words per minute; using a mouse, experienced users can write at 39 words per minute. Dasher can be used to write efficiently in any language. Dasher is fast and fun to learn.

Opengazer

  • Opengazer - an open source application that uses an ordinary webcam to estimate the direction of your gaze. This information can then be passed to other applications. For example, used in conjunction with Dasher, opengazer allows you to write with your eyes. Opengazer aims to be a low-cost software alternative to commercial hardware-based eye trackers.

Wearable

"People love exclusivity, but with an air of egalitarianism."




Mirror

MagicMirror

Smart-Mirror

AI-Smart-Mirror

Smart Mirror

Sensor

  • psensor - a graphical hardware temperature monitor for Linux.



  • Waggle - An Open Platform for Edge Computing and Intelligent Sensors

Household

  • 2018-04-20: Making a Window Manager (part 1) - You know what happens in the office, usually late in the afternoon? That’s right! Exactly when you’re at the peak of productivity, Mr. Sun basically slams into your window and mocks you. In the face. You could raise from the chair and turn the shades, I guess. You could. But I can not. I need an automatic sun-b-gone mechanism! Something smart, IOT and with blockchain technology. A true Window Manager™. Can we make it using only assorted junk found on the desk? Looking through the stuff I think I see a small stepper and some micros… I believe We Can


Multicoptor

  • ArduPilot - the most advanced, full-featured and reliable open source autopilot software available. It has been developed over 5+ years by a team of diverse professional engineers and computer scientists. It is the only autopilot software capable of controlling any vehicle system imaginable, from conventional airplanes, multirotors, and helicopters, to boats and even submarines. And now being expanded to feature support for new emerging vehicle types such as quad-planes and compound helicopters.


Satellite

Emulation

See also Virtualisation, Amiga#Emulation, Computer games#Emulation


  • https://github.com/mduft/rex - A SSH based remote execution agent that allows to execute non-native binaries on shared filesystem remotely on another architecture (fex. run windows binaries from linux, executing on native windows).


  • https://github.com/ptitSeb/box86 - run x86 Linux program (games) on non-x86 Linux, like ARM (needs to be 32bits little-endian).Also, Box86 use native version for some "system" libraries, like libc, libm, or SDL and OpenGL, leading to more performance and easier integration with host system.


SimH

  • SimH - a simulator for historic computer systems, as well as papers and reflections on the history of computing, particularly at Digital Equipment Corporation (DEC). SimH (History Simulator) is a loose Internet-based collective of people interested in restoring historically significant computer hardware and software systems by simulation. The goal of the project is to create highly portable system simulators and to publish them as freeware on the Internet, with freely available copies of significant or representative software. The current, official version of SimH can be found in a GitHub source repository. It includes many additional simulators, as well as more advanced core libraries.

Unicorn

  • Unicorn - a lightweight multi-platform, multi-architecture CPU emulator framework.Highlight features: Multi-architectures: Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64). Clean/simple/lightweight/intuitive architecture-neutral API. Implemented in pure C language, with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, .NET, Delphi/Pascal & MSVC available. Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris confirmed). High performance by using Just-In-Time compiler technique. Support fine-grained instrumentation at various levels. Thread-safe by design. Distributed under free software license GPLv2.


  • usercorn - an analysis and emulator framework. it can run arbitrary binaries on a different host kernel while recording full system state at every instruction to a serializable compact format capable of rewind and re-execution. it's useful out of the box for debugging, with an arch-neutral powerful lua-based debugger. it's also easy to extend and use to build your own tools


IBMULATOR

  • IBMULATOR - a free/libre, open source emulator for the IBM PS/1, able to run with the original ROM. The goal is to create a faithful simulator capable of recreate the look and feel of the real machine.

Bochs

  • Bochs - a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Bochs is capable of running most Operating Systems inside the emulation including Linux, DOS or Microsoft Windows. Bochs was originally written by Kevin Lawton and is currently maintained by this project. Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win 95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.

PCem

PCE


Previous

  • Previous - a Next computer hardware emulator. It aims to emulate a Next Cube or a Next Station with all its peripheral. [37]

JSLinux

  • JSLinux - Run Linux or other Operating Systems in your browser! [38]



Hatari

  • Hatari - an Atari ST/STE/TT/Falcon emulator for GNU/Linux, BSD, Mac OS X, Windows and other systems which are supported by the SDL library. The Atari ST was a 16/32 bit computer system which was first released by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular computer having quite a lot of CPU power at that time. Unlike many other Atari ST emulators which try to give you a good environment for running GEM applications, Hatari tries to emulate the hardware of a ST as close as possible so that it is able to run most of the old ST games and demos. Hatari is open source software and is distributed under the terms of the GNU General Public License (GPL). [40]

ruby2600

pctation

beebui