An elliptic curve is made up of the following:
- A field, F_p.
- What this means is all arithmetic on scalars is modulo p.
- Modern ECC have p as some large prime.
- For curve25519, p = 2^255 - 19, a prime.
- An equation and it's parameters:
To make Pageant automatically run and load keys at startup: | |
- Find the location of pageant.exe | |
- Windows key + R to open the 'run' dialog box | |
- Type: 'shell:startup' in the dialog box | |
- Create a shortcut to the pageant.exe and put into this startup folder. |
(* CanHalveEven.v *) | |
Inductive Even : nat -> Prop := | |
| Even_base : Even 0 | |
| Even_step : forall n, Even n -> Even (S (S n)). | |
Check Even_ind. | |
Theorem can_halve_even : | |
forall n, Even n -> (exists k, k + k = n). |
#! /bin/bash | |
set -x | |
set -e | |
function git_commit { | |
git commit -a -m"litex import: $1" | |
} | |
mkdir -p repos |
C News Vol. 1 Issue 11 Sept 15, 1988
CHOOSING A MEMORY MODEL by Bill Mayne
ABSTRACT: The meaning of the "near", "far", and "huge"
keywords specifying pointer types and how these are related to
the various memory models available to C programmers using the
80x86 family of processors used in IBM and compatible PCs and
// This code demonstrates a simplified "stackification" algorithm to turn | |
// instructions in a basic block back into a tree. This is useful when | |
// generating WebAssembly code from assembly instructions in SSA form. | |
// | |
// It's the algorithm used by LLVM's WebAssembly backend, viewable here: | |
// https://github.com/llvm-mirror/llvm/blob/master/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | |
type InsKind = | |
'Add' | | |
'LocalSet' | |
// The MIT License (MIT) | |
// | |
// Copyright (c) 2018 Darrell Wright | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files( the "Software" ), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: |
The following information illustrates the differences between macOS, Windows and Linux in USB device enumeration sequence.
Specifically the comparison covers USB Mass Storage device enumeration, implemented with the TamaGo USB driver on a USB armory Mk II running armory-ums.
// Step 1: Obtain Yosys from git. | |
// Step 2: Download jt51 from https://github.com/jotego/jt51. | |
// Step 3: Build as follows: | |
// $ yosys jt51/hdl/*.v -b 'cxxrtl -header' -o jt51_core.cc | |
// $ CFLAGS="-fbracket-depth=2048 -I$(yosys-config --datdir/include)" | |
// $ clang++ -O3 $CFLAGS jt51_core.cc jt51_player.cc -o jt51_play | |
// Step 4: Convert as follows: | |
// $ python3 vgm2tsv.py music.vgm music.tsv | |
// Step 5: Play as follows (assuming YM2151 clocked at 4 MHz): | |
// $ ./jt51_play music.tsv music.wav 4000000 |