Category Archives: Computers

Tunic

I’ve been playing some Tunic the last few days, because the Steam Summer Sale managed to poke me at just the right moment to get an impulse buy. I was interested enough that I paid $20 for a game that came out like a year ago instead of my usual “Wait until I can pick it up for a few dollars and run it on a contemporary potato” gaming strategy.

It’s very to my taste, and I’m enjoying it, but it is, in classic self-indulgent indie game fashion, “Video game tropes: the game.” Not that there’s anything wrong with making things for your own in-group, but it winks so hard you start to wonder about a palsy.

The visual style and gameplay nod to everything. Fez. The whole Zelda franchise. Soulsbornes. Some Monument Valley style geometry illusion/architectural environmental storytelling. Bunches of stereotypical Supergiant details. It’s never met a game trope it didn’t like. They executed and integrated pretty well though, and I am in the market segment that connects to the references. [Ed: Oh look. Some Half Life 2 Citadel and more explicit Chrono Trigger refs late(?) game!]

It’s not …quite… as self-indulgent as Lenna’s Inception (same kind of 2D Zeldalike vein, did it a few summers ago, had slightly more fun than irritation about how hard it was sniffing its own farts), and it’s far more modern and sophisticated than the various Solarus engine games. The visual style is both cuter and more spectacular than either.

It also has the classic indie game feature of being relatively graphically simple, built on a major engine, and still being kind of a resource hog … though I’m playing on Linux via Proton/DXVK, on a workstation-model Polaris12 GPU, so some of the “Barely holding 24fps at 720p on a system that can do way more visually impressive games” is probably my fault [Ed: performance issue suddenly fixed after update and reboot, must have been a driver/system state thing]. I will say, having not played many commercial game for the last few years, the progress with transparent, performant functionality out of the Proton ecosystem is really impressive.

Posted in Computers, Entertainment, General | Leave a comment

Dumb Linux trick: Suspicious of damaged system files on an RHEL-like (rocky, alma, centos, probably fedora, whatever) system? Once you get it unfucked enough to use the package manager (dealing with filesystem problems, hand-re-installing the rpms required to make dnf … Continue reading

Posted on by pappp | Leave a comment

My old ass is having the hardest time with the Linux 6.2 series, we were looking at 2.6.x from 2004-2011 (and then for years after on ancient Debian Stable and RHEL-like systems that remained in production forever; I think I … Continue reading

Posted on by pappp | Leave a comment

Most Overpriced Marchintosh


Since I recently got my HP Apollo 9000 Series 735 up and running, and it’s March, I decided to have a little Marchintosh fun and load MAE (the Macintosh Application Environment, a real officially-licensed Apple product) on to it this evening. As you can see from the photo (because I don’t have a device that can capture the video this thing outputs, and haven’t figured out screenshots under HP-UX 10.20), it works.

Continue reading
Posted in Computers, DIY, General, Objects | 1 Comment

HP Apollo 9000/735: Function Achieved

Bad light because that VESA arm mounted monitor is the only one I own that will sync to this thing

Over a year ago I started working on an inert HP Apollo 9000/735 a friend gave me from their collection to avoid moving it cross-country. I’ve recently got it working, and am posting notes about the fun.

At the end of my first post about it, I had recapped the power supply, but had not found a monitor that would talk to the enormousCRX-24z video board with its 1280×1024@72Hz Sync-on-Green via 3x BNC output, or verified the condition of the discs.
As you can see from the splash image, all of those things have been remedied.

Continue reading
Posted in Computers, DIY, General, Objects | Leave a comment

Porting Labs from ARM Compiler V5 to V6

I spent the last two afternoons procrastinating from other work doing a deferred maintenance project, porting the labs for UK’s CPE287 Introduction to Embedded Systems from the “V5” armcc to the “V6” armclang compiler, since the most recent releases of Keil (the IDE we use in the class) have dropped support for the older compiler, and all our materials were written against V5. It has been a somewhat interesting porting exercise for a “same vendor, same platform” situation.

We have some slightly unusual circumstances: First, because the class starts in writing pure assembly, proceeds through manual bit manipulation in C, and eventually starts to write high-level software driver model code, we hit all the styles and interfaces. Secondly, we have an inexpensive textbook and supporting materials we rather like, but all the examples use the old style assembly syntax, which differs significantly from the more modern GCC/LLVM style, and for pedagogical consistency reasons we’d like to write our code in that style.

ARM/Keil have produced a document AN298 – Migrate ARM Compiler 5 to ARM Compiler 6 which covers most of the important details, but it was still a bit of a skilled process.

Some notes:

  • For the time being, Keil with the V6 toolchain includes the older armasm binary, so separate pure-assembly .s sources written in the old syntax can still be ingested, you only have to port inline assembly.
  • Keil’s debugger doesn’t appear to be able to keep source lines of inline assembly and the disassembly view synchronized for GCC-style inlined assembly the way it could with armcc. Unfortunate, and a bit klutzy for setting breakpoints, but not a deal-breaker.
  • armclang defines __ARMCC_VERSION as 6something so various pieces of existing code have pre-processor directives that will decide to use the armcc style inline assembly instead of the gcc style ones. Particularly irritating, TI’s first party TivaWare library has this problem in both cpu.c and sysctl.c, so I had to make a hacked version with the #ifdef s swirled around appropriately. The code in TivaWare intended for IAR ewarm is suitable for armclang … as long as you remove some spare ewarm-specific pragmas embedded here and there for suppressing return value warnings; I ended up putting -Wno-return-type in the extended compiler options for projects depending on those files.
  • armclang is much more aggressive about optimization by default than armcc was. In particular, you could get away without marking variables used in busy wait loops or ISRs volatile in armcc, and armclang will happily optimize them out if you forget.
  • armclang is more vocal about implicit type conversion than armcc, especially where it might affect signedness. This is triggered a lot by the REGISTER_NAME &= ~0xMASK bit-specific addressing idiom. I sprinkled in lots of UL suffixes on literals to avoid the issue.

Long term we might try to get off of Keil, though my experiences with CodeComposerStudio have been sufficiently frustrating that I’m in no hurry to move to it for the TI TivaC boards we’ve been using, and while I like ST’s Cube environment, it would both be a major change of materials and a potential supply-chain nightmare (when is the last time you saw a legitimate major electronics vendor with STM32 parts in a stock status other than “Expected Date: Eventually”?)

Posted in Computers, General, School | Leave a comment

Latitude 7390

Dell Latitude 7390, my several-generation-old next generation of carryin’ around computer.

The Latitude E7250 I’ve been carrying around since 2017 is one of my favorite machines I’ve ever had; it’s small, robust, has perfect hardware support under Linux… and is starting to get a little too feeble for some tasks I’d like to use it for, experienced a few spurious shutdowns, and has a screen crack causing delamination.

I continue to be a fan of having a small, relatively inexpensive machine for carrying around, and a believer in “The only Dell laptops with acceptable build quality start with a 7”, so in the tradition of the $400 for a refurb and RAM upgrade I spent on the E7250, I ordered one of its more-or-less direct successors, a refurbished Latitude 7390 on a half-off sale a few weeks ago for about $470.

After a few weeks, it looks to be an excellent successor. Nitpicky details and comparisons below the fold.

Continue reading
Posted in Computers, General, Objects | Leave a comment

Setting up a new machine, I was reminded that the default Firefox tab style after 89 is “utter lack of visual separation, but with lots of useless empty space.” I’ve hacked sloppy solutions on several other machines, but it looks … Continue reading

Posted on by pappp | Leave a comment

Onn Surf 8 (100003561) Hacking

I have an Onn Surf 8 (One of the surprisingly-not-that-shitty ultra-cheap Walmart tablets) that my research group bought a couple of to use as Android dev testbeds. I’ve been occasionally using it as a normal tablet since I have it around, and have been consistently irritated by the collection of bloatware it comes with…. so I decided to hack it. To tl;dr this whole thing, ignore the collection of typically scammy Android dev forum and blogspam crud, and use the open-source mtkclient for your MediaTek Android device hackin’ needs.

Continue reading
Posted in Computers, DIY, Electronics, General, Objects | Leave a comment

TI Silent 700 745 Hard Copy Terminal

Top view of an open Texas Instruments Silent 700 Mod. 745 portable hard-copy TTY

I’ve wanted a hard-copy terminal for a while – both to play with and to use for explaining why serial works the way it does, but they tend to be expensive. Most of the common hard-copy terminals also aren’t really convenient objects to own: loud desk-sized machines (Teletype 33 family, most DECWriters), additionally clockwork nightmares (IBM 2741, earlier Teletype devices), which speak ridiculous protocols (…ditto).
This only leaves a handful of reasonable options, the most common of which are portables like TI Silent 700s and DEC LA12s, or one of the dasiywheel-printer based terminals (which are often non-period-correct things like a WheelWriter with a modern serial interface card in it).


So, of course, I’ve been idly keeping an eye out for a deal on one on the auction sites, and mid-October last year I got lucky: I scored a TI Silent 700 Mod. 745 for $34.00+S&H (about $47 all in) from a Shopgoodwill auction, and got it working.

Continue reading
Posted in Computers, Electronics, General, Objects | Leave a comment