Skip to content

Instantly share code, notes, and snippets.

View xerpi's full-sized avatar

Sergi・セルジ xerpi

View GitHub Profile
@xerpi
xerpi / uart.c
Last active July 11, 2017 20:23
Vita UART
#define PERVASIVERESET_BASE_ADDR 0xE3101000
#define PERVASIVEGATE_BASE_ADDR 0xE3102000
static inline void pervasive_mask_or(unsigned int addr, unsigned int val)
{
volatile unsigned long tmp;
asm volatile(
"ldr %0, [%1]\n\t"
"orr %0, %2\n\t"
@xerpi
xerpi / vitafunctiondefs.py
Last active July 22, 2018 16:26
vitafunctiondefs.py
'''
vitafunctiondefs.py by xerpi
arm-vita-eabi-gcc -E $VITASDK/arm-vita-eabi/include/vitasdk.h -D"__attribute__(x)=" -D"__extension__(x)=" > preprocessor_user.h
arm-vita-eabi-gcc -E $VITASDK/arm-vita-eabi/include/vitasdkkern.h -D"__attribute__(x)=" -D"__extension__(x)=" > preprocessor_kern.h
'''
import sys
import os.path
import struct
arm-vita-eabi-gcc -I. -D"__attribute__(ARGS)=" -D"__extension__=" -D"__asm__(ARGS)=" -D"__builtin_va_list=int" -E vitasdk.h > preprocessor.h
@xerpi
xerpi / 3DS_Linux_build_instructions.md
Last active October 7, 2024 20:54
3DS Linux build instructions

Step 1: Compiling or Downloading the toolchain

Step 1.a: If you choose to download a pre-compiled toolchain (only for Linux x86-64)

  • Go to https://toolchains.bootlin.com
  • Select arch: armv6-eabihf
  • Select libc: glibc
  • Download bleeding-edge
  • Uncompress it (for example to /opt)
  • Add the bin/directory of the toolchain to $PATH
  • In my case: export PATH=$PATH:/opt/armv6-eabihf--glibc--bleeding-edge-2020.08-1
#!/bin/bash
#wget https://aur.archlinux.org/cgit/aur.git/plain/config.x86_64?h=linux-drm-tip-git -O ./.config
zcat /proc/config.gz > ./.config
rm ./arch/x86_64/boot/bzImage
commit="$(git rev-parse --short HEAD)"
echo "commit: $commit"
# set localversion to git commit
#Raspberry Pi mount
export PI_SSHFS_MOUNT=/mnt/pi
export PI_IP=192.168.1.130
alias pimount='sshfs alarm@$PI_IP:/ $PI_SSHFS_MOUNT'
alias piumount='fusermount -u $PI_SSHFS_MOUNT'
#!/bin/bash
JOBS=4
sudo pacman --needed -S base-devel gcc git make autoconf automake pkgconfig libxml2 \
libinput libunwind mesa mesa-libgl libxcursor cairo-xcb libxkbcommon
git clone git://anongit.freedesktop.org/wayland/wayland
pushd wayland
./autogen.sh --prefix=$WLD --disable-documentation
#!/bin/bash
CROSS_COMPILE=arm-linux-gnueabihf
PREFIX=$PWD/build
export CPATH=$PREFIX/include
export LIBRARY_PATH=$PREFIX/lib
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
export PKG_CONFIG_DIR=
export PKG_CONFIG_LIBDIR=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig
#!/bin/bash
BOOT_MOUNT=$RPI_BOOT_MOUNT
ROOT_MOUNT=$RPI_ROOT_MOUNT
KERNELVERSION=`make ARCH=arm kernelrelease 2> /dev/null`
KERNELFILENAME="kernel_$KERNELVERSION.img"
#DEFCONFIG=bcm2709_defconfig
DEFCONFIG=multi_v7_defconfig
DTB=bcm2837-rpi-3-b.dtb
#!/bin/bash
sudo apt-get install -y git autoconf gperf bison flex texinfo \
help2man gawk libncurses5-dev
git clone https://github.com/crosstool-ng/crosstool-ng.git
pushd crosstool-ng
./bootstrap
./configure