Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 01/10/2026The Discrete Fourier Transform actually extracts phase information as well as pitch information, which I was just tossing away since it's not needed for pitch detection. But if I *don't* toss it away, and I apply the correct phase offset for each frequency I […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 01/10/2026Then it occurred to me to wonder, now that I can take a sound and pull it apart into its component frequencies, what happens if I generate sounds for all the frequencies and add them back together? It turns out, it makes a waveform that does look at least a […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 27/06/2026I have reorganised my Decker font importing tool to be a bit more approachable - rather than starting with a list of obscure font formats, it starts with some links to collections of high-quality fonts, with instructions (and screenshots!) describing how to […] [Original post on teh.entar.net] 011 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 18/05/2026I have begun writing a Decker deck that can import fonts from Rob Hagemans' Hoard of Bitfonts. It's been kind of painful because Decker's scripting language is a bit awkward at text manipulation, and the YAFF file format is geared for human consumption rather […] [Original post on teh.entar.net] 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 11/03/2026I know Apple pushed the original Macintosh as "easy to use" but specifically calling out the familiarity of the *keyboard connector* seems a bit much. (from BYTE Magazine, June 1984: archive.org/details/byte-magazine-1… ) 001 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 03/03/2026In the late 1990s, Pangea Software was a leading developer of Mac-exclusive games. Apple commissioned them to write demonstration code for the first release of the Quickdraw 3D graphics API, and their subsequent games Nanosaur, Bugdom, and Cro-Mag Rally were […] [Original post on teh.entar.net] 005 5
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 12/09/2025I have also added support for laying out items above one another, so I can finally have a row of annunciators, the display, and then the keypad making a proper, working calculator layout with all the required bits. So now I can finally test out the skins and […] [Original post on teh.entar.net] 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 12/09/2025More interestingly, I can now also draw annunciators - those little status icons at the top of the display that tell you things like "the calculator is busy calculating" or "angles are measured in radians". I had fun coming up with appropriately Macintoshy […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 12/09/2025My calculator construction kit (for designing skins for the Free42/Plus42 calculator app) has progressed to the point where it can construct an actual complete skin. First up, I can now describe how I want the display to be rendered. Free42 always renders a […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 27/08/2025Another change: just for the heck of it, I drew a title-screen graphic. I decided to call it the "calculator construction kit", partially just so I don't have to keep calling it "this thing I'm working on", but mostly as homage to the tool the Macintosh team […] [Original post on teh.entar.net] 010 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 27/08/2025This is the bit I've actually been working towards. As I think I mentioned before, on the 42S some buttons have a shifted function with a shaded background. Those functions open a menu, rather than performing an action immediately (a bit like the "..." suffix […] [Original post on teh.entar.net] 200 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 06/08/2025Even less obvious than that, I changed the way the corners of the buttons are drawn. Although I originally copied them from a screenshot of System 6, I was recently playing with System 6 in an emulator, and noticed that the buttons looked a little bit different […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 06/08/2025A number of changes since the last post: - I added more room at the top of the grid, leaving room for annunciators and the display - we now draw the grid of "pressed" button images beside the unpressed ones, as Plus42 expects - Not shown here, but the "layout" […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 21/07/2025After a little confusion and a lot of yak shaving, I now think I've ironed out all the issues I had in text measurement and rendering. There's no invisible whitespace pushing things to the left, the "0.5px" rounding errors that come from centering text are no […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/07/2025However, there's something that confuses me. The "Winners Don't Use Drugs" campaign, part of Reagan's War on Drugs, was introduced in 1989 by the American Amusement Machine Association, with the cooperation of the various arcade companies that were members of […] [Original post on teh.entar.net] 002 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 13/07/2025From a 1982 text adventure, "Marooned" (h/t @jdyer) 2118 11
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 04/07/2025I spent some time messing around with Snow, a new low-level emulator for classic 68k Macintoshes. It doesn't support hard-drive images from Basilisk II (the most widely-used 68k Macintosh emulator), so I had to make a fresh, blank hard-drive image, grab some […] [Original post on teh.entar.net] 201 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 21/06/2025I have now finished Taiyaki Fabulous Museum of Fish, and even after finishing the game and the post-game content and the post-post-game content it *still* found a way to surprise and delight me. 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 19/06/2025Tonight I finally got around to investigating the button-spacing issue. Turns out that in #Decker a font has a "space" value that controls how many pixels are left between each character. If you ask Decker to measure the dimensions of the string "zzz", you'll […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 18/06/2025OK, let's type it in, and see what it does... You know what, I don't need to type it in, I think I can guess. 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 02/06/2025From the Olean Herald, New York, on the 13th of September, 1884 (page 7, column 4), presumably quoted from a newspaper called the London Graphic. 002 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 20/05/2025I finally wrote the code that combines the "button definitions" and "button grids" and "button shape" data to draw the actual Plus42 keys graphic. My first attempt is not pictured; some of the table rows that put a button in a grid used a numeric button ID […] [Original post on teh.entar.net] 200 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 01/05/2025You might also notice a "Back" button below the grid item list. Although Decker has a "Card" menu that lets you flip between cards manually, and even a "Card List" dialog that gives you a list of cards with thumbnails, it seemed more in the spirit of Decker and […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 01/05/2025You might wonder what that big 5 by 4 "button" is at the bottom right of the grid. The HP 42s uses slightly larger buttons for the numeric keys than for all the other function buttons, and so they live on a slightly different grid. Plus42's default layout […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 01/05/2025Another step on the journey: I now have a table that defines the size and position of each button in a grid, so I can lay out the buttons as necessary. As a visualisation, I also made a canvas that draws each button in its relative size and shape, and highlights the currently-selected button. 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 22/04/2025Here's a view of my "Chicago Math" font which adds the mathematical symbols I need. In particular, I'm proud of the script "x", script "y", and script "e" glyphs replacing "{", "}" and "~". It wasn't easy to make a thing that looked like a classic mathematical […] [Original post on teh.entar.net] 110 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 22/04/2025I've made a table with all the button IDs that Plus42 supports, the label of each button, the shifted label, and whether the shifted function is a submenu. Unfortunately, Decker's default character set does not include all the symbols that appear on Plus42's […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 19/04/2025Another day's work, and now I have a function that renders a custom button. Now there's four button templates at the top-left, for every combination of "normal vs. pressed" and "the shifted function executes a command vs. the shifted function opens a submenu" […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 15/04/2025Here's how far I got after a few hours' messing about. Although Decker has a "canvas" widget, it's really for code to draw on, rather than the user. However, the user is allowed to draw directly on the background of each card, so on the left I have little boxes […] [Original post on teh.entar.net] 200 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 31/03/2025Free42, the Free Software re-implementation of the classic HP 42s RPN calculator, supports using custom skins, a bit like WinAmp skins but more complex - instead of just a bunch of bitmaps, you get to define the size and location of each button and graphical […] [Original post on teh.entar.net] 102 2
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 05/02/2025`variable.bdf` is a pretty standard, unobjectionable sans-serif user-interface font that doesn't really stand out in any way. In a directory full of graphic weirdness like pictures of the Enterprise and Cyrillic fonts scanned from paper, that simplicity makes […] [Original post on teh.entar.net] 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 05/02/2025`lat-s30.bdf` is another one from the Lisp Machine. It's a reasonably standard thin, monospaced typeface, except that A, E, I, and U (but not O) have macrons permanently above them; C, G, S, and Z permanently have carons; and K, L, N, and R permanently have […] [Original post on teh.entar.net] 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 05/02/2025`dancer.bdf` has crisp, clean monospaced numbers and letters, but also a bunch of lines and shaded boxes. Perhaps these were used for choreography notation? Who knows what those MIT folk got up to in the 1980s. 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 05/02/2025`crturz.bdf` has the internal name "cartoon". I have no idea what it's supposed to represent, but those diagonal patterns suggest that whatever tool converted it to BDF got the stride length wrong. 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 05/02/2025`apl-s25.bdf` contains APL symbols, which is handy if you're into that. A comment says 'the Lisp Machine name for this font was "s25apl.ast"'. 000 0
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 18/01/2025Are you nostalgic for using a CRT terminal in the 90s? Or maybe curious about what things looked like before high-DPI displays and true-colour graphics? I've extracted the fonts from the firmware of the DEC VT320, a CRT terminal first produced in 1987, and […] [Original post on teh.entar.net] 2226 26
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025If we take the left-most column of pixels and stick it on the right, we get a much cleaner pattern - all the pixel blocks are 2×2, and although some of the gaps are still 3×2, at least they're evenly distributed. Since the glyph is 9px wide, it's not really […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025Here's another example. This is the 132-column glyph for "U+2592 MEDIUM SHADE", all on its own. It looks like a glitchy, uneven mess - some blocks are 2×2 pixels, some are 1×2, some of the spaces between blocks are 2×2, some are 3×2. 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025But I don't think it's actually that simple. Here's another character, this time it's "U+25A1 WHITE SQUARE". The wide version is a nice neat normal 9×12 pixel rectangle with a 1px outline, while the narrow version has a 1px outline top and bottom, a 2px […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025Here's the raw data for another character, which Unicode poetically names "U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT". Again, you can see a wide version on the left and a narrow version on the right, with the "=" markers above the wide version and the "-" […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025However, within each table of glyphs, the 80-column and 132-column glyphs are stored next to each other. I mean, *right* next to each other. In the "symbol" table, each scanline is stored as three bytes, where the most significant 15 bits are for the 80-column […] [Original post on teh.entar.net] 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025Except, it's not *quite* perfect. Look at those box-drawing characters... what's with those extra stray pixels? And why do those rectangle characters near the end have one side open? 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025I've also extracted the glyphs for the 132-column mode, and they're looking pretty good too. 100 1
Screwtapello @screwtapello.teh.entar.net.ap.brid.gy · 16/01/2025To help out @vga256 I'm writing a program to extract the font from the DEC VT320 firmware. It's going pretty well, I've got all the glyphs for the 80-column mode, and I figured out how to correct for the VT320's extremely non-square pixels, so it looks quite readable. 101 1