DSLinux

DSLinux
DSLinux
DSLinuxLogo.png
Ds lite with slot-2 device running dslinux.jpg
DSLinux running on a DS Lite using the M3 DS Simply and M3 DS Adapter
OS family Unix-like
Working state Discontinued
Source model Free and open source software
Supported platforms Nintendo DS
Kernel type Modified μClinux
Official website www.dslinux.org

DSLinux is a port of the Linux operating system to the Nintendo DS. DSLinux was maintained until sometime in 2010.

Contents

Software

DSLinux runs a modified μClinux kernel. It is based on uCLinux 2.6.14 (Linux-2.6.14-hsc0). It only runs in textmode and nano-x which is displayed using a custom framebuffer console driver. A keyboard is displayed on the touchscreen of the Nintendo DS to allow user input.

DSLinux is compiled using a GCC-based cross-compilation toolchain for ARM processors.

ncurses, libpcap, SDL along with many other libraries have been ported, so DSLinux is in theory capable of running almost any application that has an ncurses-based or framebuffer based user interface. It also runs basic shell applications provided by BusyBox and GNU Coreutils has also been ported. The C-library is uClibc.

DSLinux has no package management facilities. Instead, DSLinux builds are distributed as a single tar archive.

Supported hardware

With the exception of the microphone (it works, but the driver is incomplete), all hardware inside the Nintendo DS, including the wireless is supported by DSLinux. The Nintendo DS firmware can be read from /dev/firmware, but write support is left out for safety reasons.

DSLinux supports storing files on a variety of add-on hardware devices, none of which are officially endorsed by Nintendo. DSLinux can store files in SRAM memory found in GBA Flash Carts and CompactFlash and SD cards, which can be used with any of the following adaptors: GBAMP, M3, or SuperCard. Newer versions have included DLDI support, allowing for a much wider range of compatibility.

Memory limitations

The Nintendo DS does not have a memory management unit (MMU), and has only 4 MB of RAM. Both kernel and userspace XIP and SLOB memory allocation were the first techniques used to increase the amount of available RAM a little. Later, support for the internal RAM present on some add-on hardware devices, such as the SuperCard or M3, has been added, offering up to an extra 32MB of memory. Adding support for external RAM was not trivial, as the GBA slot bus only supports 16-bit writes. If only 8 bits are sent over the bus, the result ending up in memory is garbage. A DSLinux developer called Amadeus found a workaround for this, which involved replacing "strb" (store byte) ARM assembly instructions with "swpb" (swap byte) instructions. The swpb instruction first reads from the requested address, populating the data cache, then the 8-bit write is performed into the cache. Later, when the cache line is evicted, 16-bit writes are used, thus eliminating all 8-bit writes over the bus. Amadeus modified the GCC code generator for ARM so that all applications compiled for DSLinux now use swpb instead of strb instructions.[1] Assembly code in the Linux kernel had to be adapted manually.

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • DSlinux — Saltar a navegación, búsqueda DSLinux Parte de la familia Linux DSLinux ejecutándose en una NDS Lite usando el M3 …   Wikipedia Español

  • DSLinux — ist eine Portierung des Linux Betriebssystems für den Nintendo DS. Auch wenn das Projekt noch in einer sehr frühen Phase ist, wird bereits ein Großteil der Hardware des DS unterstützt. Touchscreen, Sound und die Wi Fi Funktionalität können… …   Deutsch Wikipedia

  • DSLinux —  Ne doit pas être confondu avec Damn Small Linux. DSLinux est un portage du système d exploitation Linux sur la Nintendo DS. Le développement n en est encore qu à ses débuts. Comment exécuter du code sur la DS Il existe des cartes flash pour …   Wikipédia en Français

  • Nintendo DS accessories — This is a list of Nintendo DS accessories. Contents 1 Official accessories 1.1 Rumble Pak 1.2 Headset 1.3 Opera Web Browser …   Wikipedia

  • Nintendo DS storage devices — Main article: Nintendo DS accessories The internals of an Acekard 2.1 DS flashcart shown below to a quarter and Micro SD card. Nintendo DS storage devices are some of the devices used to store a licensed developer s work in progress images,… …   Wikipedia

  • Double Screen — Nintendo DS Hersteller Nintendo …   Deutsch Wikipedia

  • IQue DS — Nintendo DS Hersteller Nintendo …   Deutsch Wikipedia

  • Nintendo DS Lite — Nintendo DS Hersteller Nintendo …   Deutsch Wikipedia

  • Nintendo DS lite — Nintendo DS Hersteller Nintendo …   Deutsch Wikipedia

  • Nintendo Dual Screen — Nintendo DS Hersteller Nintendo …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”