CustomProcessor
glasgow
CustomProcessor | glasgow | |
---|---|---|
1 | 4 | |
5 | 1,858 | |
- | 2.6% | |
0.0 | 9.4 | |
over 1 year ago | 7 days ago | |
Python | Python | |
- | BSD Zero Clause License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CustomProcessor
-
8-Bit Breadboard Computer, Turing complete, simulated in Python with Pygame
I simulated a 8-Bit Breadboard computer following the design by the great Ben Eater. The Logic functions without if-else statements but each component is built from smaller components. I can write custom programs in the RAM . The video you are seeing here multiplies two numbers. You can take a look at the logic on my Github: https://github.com/Lennart4711/CustomProcessor
glasgow
-
SuperH
This post is so timely!
Does anybody in this thread have details about the H-UDI proprietary SH4 JTAG extensions? Context here:
https://github.com/GlasgowEmbedded/glasgow/discussions/290
-
Facts every web dev should know before they burn out and turn to painting
Hmm. A followup question: are there any cheats/hacks that would make it possible (if painful) to for example explore the world of USB3, PCIe, or Linux on low-end-ish ARM (eg https://www.thirtythreeforty.net/posts/2019/12/my-business-c..., based on the 533MHz https://linux-sunxi.org/F1C100s), without needing to buy equipment in the mid-4-figure/low-5-figure range, if I were able to substitute a statistically larger-than-average amount of free time (and discipline)?
For example, I learned about https://github.com/GlasgowEmbedded/glasgow recently, a bit of a niche kitchen sink that uses https://github.com/nmigen/nmigen/ to lower a domain-specific subset of Python 3 (https://nmigen.info/nmigen/latest/lang.html) into Verilog which then runs on the Glasgow board's iCE40HX8K. The project basically makes it easier to use cheap FPGAs for rapid iteration. (The README makes a point that the synthesis is sufficiently fast that caching isn't needed.)
In certain extremely specific situations where circumstances align perfectly (caveat emptor), devices like this can sometimes present a temporary escape to the inevitable process of acquiring one's first second-hand high-end oscilloscope (fingers-crossed the expensive bits still have a few years left in them). To some extent they may also commoditize the exploration of very high-speed interfaces, which are rapidly becoming a commonplace principal of computers (eg, having 10Gbps everywhere when USB3.1 hits market saturation will be interesting) faster than test and analysis kit can keep up (eg to do proper hardware security analysis work). The Glasgow is perhaps not quite an answer to that entire statement, but maybe represents beginning steps in that sort of direction.
So, to reiterate - it's probably an unhelpfully broad question, and I'm still learning about the field so haven't quite got the preciseness I want yet, but I'm curious what gadgetry, techniques, etc would perhaps allow someone to "hack it" and dive into this stuff on a shoestring budget? :)
- How does USB device discovery work? [video]
-
Glasgow Interface Explorer: First fully open source FPGA based digital interface tool, allows you to decode, probe, and reverse engineer nearly any digital interface from Python
Project GitHub: https://github.com/GlasgowEmbedded/glasgow
What are some alternatives?
turing-machine - A Python program implementing and exploiting the Minsky Turing machine considered in the paper "Intrinsic Propensity for Vulnerability in Computers? Arbitrary Code Execution in the Universal Turing Machine" as per CVE-2021-32471 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-32471)
amaranth - A modern hardware definition language and toolchain based on Python
turing_machine - A simple C program to emulate two symbol turing machine
pclk-mn10 - (Attempting to) control the PCLK-MN10 USB device
WireViz - Easily document cables and wiring harnesses.
eslint-plugin-compat - Check the browser compatibility of your code
electron-inject - Inject javascript into closed source electron applications e.g. to enable developer tools for debugging.
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
hBPF - hBPF = eBPF in hardware
PyHardwareLibrary - A simple application-oriented and device-oriented library with a variety of communication ports for controlling devices (POSIX serial, USB, etc...)
ECMAScript 6 compatibility table - ECMAScript compatibility tables
xournalpp - Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.