#speech synthesis in #MicroPython using DECtalk (?) on a #Raspberry-Pi #RP2040 and a so-called SYN6988, or in #Emscripten. Or categorizing birds with BirdNET-Pi #neural-networks.
stepping you through #bootstrapping #stage0 through #asm from hex machine code.
Raymond Chen's #tutorial about #ARM #asm branching instructions such as tbb.
Raymond Chen's #tutorial about extending #ARM #asm branching instructions’ reach with “trampolines” or “veneers”, in particular bl, which is used for intra-module calls (when you know you’re not switching modes) but can only reach 16MiB away.
Raymond Chen’s #tutorial about #ARM #asm, section on the APSR flags register, reading with mrs Rd, apsr and writing with msr apsr, Rn. Mentions a failure of virtualizability of the original ARM: privileged status bits read as 0 in user mode and ignore writes.
The end of Raymond Chen’s #tutorial about #ARM #asm. Apparently Microsoft Windows does use the old convention where r11 points to a linked list of stack frames. The example code he walks through here uses push, add, mov, ldr, mvn, tst, beq, movs, str, b, ldr, subs, asrs, bl, and pop. The Microsoft assembler uses slightly different syntax.
Raymond Chen’s #tutorial about #ARM #asm, section on common patterns in compiler-generated code: function pointer invocation, vtable invocation, control-flow guard.
csv-mode in #Emacs provides a mode for editing tabular data in a CSV file, permitting tabular view, sorting, reversing, transposing, and column reordering and deletion; no autofilter I think
supposedly #RISC-V had shipped ten billion cores as of July 02022, which is apparently a number RVI CEO Calista Redmond announced
apparently #RISC-V #vectorization on the T-Head core speed up most ffmpeg inner loops by a factor of 2–4
Henry Levy’s #object-capability #operating-systems #ebook
Rumor has it that #Lennart #Poettering is now an employee of #Microsoft
old but cool #X-Windows software. maybe a good to-do list for new GUIs? 3D Pong, Angband, AppRes (shows X resources), ASClock, Battalion (game for Indy), Free42 (calculator), FSV2 (filesystem visualizer like fsn), GLXGears, GMixer, GVim, HP-15C, ico, mgdiff, MxIco, Micropolis, NEdit, Plan (Motif day planner), Sunclock, Ted (RTF editor), TiEmu (for the TI-92+), WMY2K, WordNet browser wnb, X026 (keypunch emulator), X48 (HP-48GX calculator emulator), XAbacus, XAntFarm, XArchiver, xascii, xbiff, xbill, xlennart, xboard (chess), xcalc, xcalendar, xchm, XChomp, XClipboard, XClock, catclock, xcolorsel, xconsole, xcrysden (crystalline and molecular structure visualization), xdiary, xdigger (Boulderdash), xearth, (and xworld, xglobe, and xplanet), xev, xeyes, xfishtank, xfontsel, xgalaga, xgc (graphics primitives), xinfocom, xinvaders3d, xkill, xlaby, xless, xlife, xload, xlock, xlogo, xmahjongg, xman, xmascot, xmaxima, xmbibtex, xmessage, xmgrace (grace), xmh, xmixer, xmmix, xmore, xmosaic, xmotd, xmountains, xneko, xodometer, xoj (Simpson), xosview, xplore (file manager), xpostit, xroach, xscreensaver, xsnow, xsol (solitaire), xspread (based on sc), xstarroll, xtacy, xtar, xterm, xtide, xtrojka, xv, xvkbd, xwpe (clone of Turbo Whatever), and xzoom.
Discussion of #X-Windows software. Top picks are GLXGears (for testing), xterm, Micropolis, xev, xkill, xeyes, xbiff, xclock, xedit, xv, xmosaic, and fsv2.
First in Raymond Chen’s #tutorial about #ARM #asm; apparently #Microsoft-Windows 10 still supports 32-bit ARM, but only in #Thumb mode. This is the intro where he explains the register set, stack alignment constraints, flags, etc.
Maybe humans in Brazil 25000 years ago? According to 1491 author Charles Mann. #archaeology
Raymond Chen’s notes on the Hitachi #SuperH SH-3 and SH-4 architectures.
Raymond Chen’s #ARM #asm #tutorial introduces #Thumb. The #Microsoft-Windows ABI only lets you conditionalize a single instruction with IT! You can’t use ITE, ITTE, ITEE, etc., at all there, because it doesn’t know how to recover from hardware interrupts.
The #Microsoft-Windows #ARM #asm ABI. It really does require that r11 always be a frame pointer! But then it softens that to a recommendation. It doesn’t seem to explain the IT/ITE/ITTE limitation mentioned in Raymond Chen’s blog post; possibly it’s gone?
Raymond Chen’s #ARM #asm #tutorial covering the available addressing modes, including quirks like the absence of shifts other than left shift or more than three for byte or halfward access. Also how the Microsoft assembler says |foo| to mean “the address of foo” and how literal pools work.
#Efabless’s guide to the #Caravel prototyping harness chip design.
old #Caravel #Efabless harness chip diagram shows the floorplan more clearly
Raymond Chen’s #ARM #asm #tutorial. Section on loading constants in one instruction, with mov, mvn, #movt, shifts, rotates, etc. This is the thing to read to understand how to generate constants on ARM, especially Thumb. “You can take your 8-bit unsigned immediate and shift it left by up to 24 positions, thereby allowing you to create any 32-bit constant where the span from the lowest to highest set bit is at most 8 positions. There are also a few special transformations (...) handy for setting up a register to fill memory with a repeating pattern. (...) In addition to all of the special constants that can be generated with MOV, you can use the MVN instruction to generate the bitwise NOT of them all.”
Raymond Chen’s #ARM #asm #tutorial. Section on arithmetic. Explains that in mvn the n is logical negation, while in cmn it’s arithmetic negation. And how to negate by reverse subtracting from literal zero.
Raymond Chen’s #ARM #asm #tutorial, section on cmn, which apparently doesn’t set the carry flag in the same cases that cmp with the negative would, specifically in the cases of comparing against zero and the most negative integer. More details on flag bits.