Skip to content

Instantly share code, notes, and snippets.

@a4lg
a4lg / riscv-sim.exp
Created September 3, 2023 13:34
DejaGnu: RISC-V Simulator with QEMU sample
# Copyright (C) 1997-2019, 2020 Free Software Foundation, Inc.
#
# This file is part of DejaGnu. For RISC-V target simulation.
#
# DejaGnu is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# DejaGnu is distributed in the hope that it will be useful, but
@a4lg
a4lg / invariant_macro.rs
Created March 9, 2023 05:30
`invariant!` macro to declare an invariant
// If `unsafe` and `nightly` are enabled, enable unstable `core_intrinsics` feature
// with #![feature(core_intrinsics)] (Nightly only).
macro_rules! invariant {
($expr: expr) => {
cfg_if::cfg_if! {
if #[cfg(all(feature = "unsafe", feature = "nightly"))] {
core::intrinsics::assume($expr);
}
else if #[cfg(feature = "unsafe")] {
@a4lg
a4lg / .gdbinit
Last active June 3, 2021 03:20
GDB initialization file I am using for JTAG-based debugging
set arch riscv:rv64
define hook-quit
set confirm off
end
target extended-remote localhost:3333
@a4lg
a4lg / openocd-unmatched-u7.cfg
Last active April 17, 2023 08:27
HiFive Unmatched + OpenOCD configuration (four U74 cores only; no flash configured)
adapter speed 10000
adapter driver ftdi
ftdi_device_desc "Dual RS232-HS"
ftdi_vid_pid 0x0403 0x6010
ftdi_layout_init 0x0008 0x001b
ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020
set _CHIPNAME riscv
transport select jtag
@a4lg
a4lg / openocd-unmatched-s7.cfg
Last active June 3, 2021 03:19
HiFive Unmatched + OpenOCD configuration (one S7 core only; no flash configured)
adapter speed 10000
adapter driver ftdi
ftdi_device_desc "Dual RS232-HS"
ftdi_vid_pid 0x0403 0x6010
ftdi_layout_init 0x0008 0x001b
ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020
set _CHIPNAME riscv
transport select jtag
@a4lg
a4lg / openocd-unmatched.cfg
Last active July 17, 2021 01:38
HiFive Unmatched + OpenOCD configuration (S7+U7 cores; no flash configured)
adapter speed 10000
adapter driver ftdi
ftdi_device_desc "Dual RS232-HS"
ftdi_vid_pid 0x0403 0x6010
ftdi_layout_init 0x0008 0x001b
ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020
set _CHIPNAME riscv
transport select jtag
#
#
# 慧琳一切經音義 mapping table
#
# $1 : Volume (001-100)
# $2 : Leaf number [張] in the volume (two digits)
# $3 : Identifier for National Diet Library Digital Library
# xxxxxxx -> http://dl.ndl.go.jp/info:ndljp/pid/xxxxxxx
# $4 : Image number for National Diet Library Digital Library
# ppp -> http://dl.ndl.go.jp/info:ndljp/pid/xxxxxxx/ppp (removing trailing zeros is recommended)
// ==UserScript==
// @name !NAJ: Download Helper
// @namespace http://a4lg.com/
// @description Adds download control buttons
// @include https://www.digital.archives.go.jp/DAS/meta/listPhoto*
// @version 1
// @grant none
// ==/UserScript==
(function() {
var dtype = document.getElementById("download_type");
@a4lg
a4lg / tilejpeg.cpp
Last active February 13, 2024 15:32
Lossless JPEG tiling program for non-optimized images
/*
tilejpeg : lossless JPEG tiling program for non-optimized images
tilejpeg.cpp
Tile JPEG Program
Copyright (C) 2016 Tsukasa OI <floss_tilejpeg@irq.a4lg.com>
Based on the program code on <http://apostata.web.fc2.com/tilejpeg/index.html>.
@a4lg
a4lg / nico-html5-disable-resume.js
Last active January 6, 2017 03:42
Greasemonkey/Tampermonkey 用ニコニコ動画プレイヤー (HTML5) のレジューム機能を無効化するスクリプト
// ==UserScript==
// @name Disable resume feature on Nicovideo HTML5 player
// @description ニコニコ動画プレイヤー (HTML5) のレジューム機能を無効化
// @namespace http://a4lg.com/
// @version 1.1
// @include http://www.nicovideo.jp/watch/*
// @author a4lg
// @license CC0
// @run-at document-start
// ==/UserScript==