<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://blog.cathoderaydude.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://blog.cathoderaydude.com/feed.php">
        <title>cathode ray dude&#039;s blog - blog</title>
        <description>it&#039;s the blog of the cathode ray dude</description>
        <link>https://blog.cathoderaydude.com/</link>
        <image rdf:resource="https://blog.cathoderaydude.com/lib/exe/fetch.php?media=wiki:logo.png" />
       <dc:date>2026-06-02T03:12:27+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:640x480_was_just_the_resolution_your_parents_used"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:doing_nonsense_on_the_computer"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:dokuhacking_1"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:further_linux_on_steamdeck_notes"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:incredible_kaios_news"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:j2me_review_pac-man"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:linux_on_the_steamdeck_lol"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:making_a_website_is_hard"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:poem"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:silly_shit_i_had_to_do_with_git_submodules"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:so_i_ve_been_playing_j2me_games"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:three_useless_phones"/>
                <rdf:li rdf:resource="https://blog.cathoderaydude.com/doku.php?id=blog:why_am_i_interested_in_flip_phones"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://blog.cathoderaydude.com/lib/exe/fetch.php?media=wiki:logo.png">
        <title>cathode ray dude's blog</title>
        <link>https://blog.cathoderaydude.com/</link>
        <url>https://blog.cathoderaydude.com/lib/exe/fetch.php?media=wiki:logo.png</url>
    </image>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:640x480_was_just_the_resolution_your_parents_used">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-28T21:10:49+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>640x480 was just the resolution your parents used</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:640x480_was_just_the_resolution_your_parents_used</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_212516.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_212516.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=500&amp;amp;h=375&amp;amp;tok=d84186&amp;amp;media=nt-highres:20241027_212516.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_212516.jpg&quot; alt=&quot;20241027_212516.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
here&amp;#039;s windows NT 3.51 running at 1600×1200, on 1995-era hardware. seems wacky, but this was probably not that unusual.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
a lot of people remember their PC in the 90s or even early 2000s running at 640×480 exclusively, but that resolution wasn&amp;#039;t really state of the art after about 1988. it got introduced with the IBM PS/2 and it&amp;#039;s VGA hardware in 87, but the market almost immediately pushed past it, creating an explosion of “Super VGA” graphics cards that did much higher resolutions, with very wide software support in graphical OSes, especially after the VESA BIOS extensions appeared.
&lt;/p&gt;

&lt;p&gt;
in the above photo, i&amp;#039;m running NT 3.51 (released in 95) in 256-color mode, aka 4-bit color, on a Matrox Millennium 1 (also 1995.) that&amp;#039;s the best res it can do on stock VRAM, but it can be expanded to 8MB, and that would deliver this same resolution in 32-bit color. this was not particularly remarkable even for the time - yes, the millennium was an Accelerator, and it cost about $240, but half of that cost (or more) was the hilariously bad 3D hardware that couldn&amp;#039;t even do texture mapping. 2D accelerators were quite common by 1995, so if your PC had anything other than a fourth-rate “the graphics card we have at home” Cirrus Logic it could probably deliver this kind of screen mode, and by the early 90s that was likely the case. the problem, though, was monitors
&lt;/p&gt;

&lt;p&gt;
i&amp;#039;ve heard multiple stories from people who found out they could increase the resolution on their family PCs as kids, then got yelled at for doing so, and this makes sense because it made everything much harder to see - all the screen elements were now smaller and much harder to make out with non-tweenage eyes, &lt;em&gt;particularly&lt;/em&gt; on the CRTs of the era. televisions had gotten excellent by the mid 80s and a fairly small sum could get you a very nice display, but those were all running at the same resolution and the technology was super mature. computer monitors were a lot more ambitious though and lagged considerably at the low end.
&lt;/p&gt;

&lt;p&gt;
an awful lot of computer monitors were absolutely terrible for a long time. besides often having miserable shadow masks with garbage dot pitch, they were often very small, not consistently hitting 15“ or larger until the late 90s. if you bought a Packard Bell in like 1995, it probably came with a 14” display, and it probably looked horrible - it would likely ACCEPT scan rates above 640×480, but they&amp;#039;d probably be illegible.
&lt;/p&gt;

&lt;p&gt;
anecdote: circa 2000, my dad brought home a pair of 15“ NEC Multisyncs from work, and i hooked them up to my PC in dual-head and ran each at 1280×1024. this didn&amp;#039;t actually work; half the detail on the screen was just being eaten by the shadow mask, and i had to struggle to read anything. i did it because i just &lt;em&gt;demanded&lt;/em&gt; more desktop real estate, but it was not actually a good idea, and i&amp;#039;m not sure if there were any 15” CRTs that could do better.
&lt;/p&gt;

&lt;p&gt;
however, displays &lt;em&gt;larger&lt;/em&gt; than 15“ existed way back in the 80s.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3A640x480_was_just_the_resolution_your_parents_used&amp;amp;media=blog:9c8a89659d2474c6c5746fae0c7460d7.jpg&quot; class=&quot;media&quot; title=&quot;blog:9c8a89659d2474c6c5746fae0c7460d7.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=400&amp;amp;tok=cd27c7&amp;amp;media=blog:9c8a89659d2474c6c5746fae0c7460d7.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;9c8a89659d2474c6c5746fae0c7460d7.jpg&quot; alt=&quot;9c8a89659d2474c6c5746fae0c7460d7.jpg&quot; width=&quot;300&quot; height=&quot;400&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3A640x480_was_just_the_resolution_your_parents_used&amp;amp;media=blog:5acc5cc68b3f9bcbe9c4c53a3e58befe.png&quot; class=&quot;media&quot; title=&quot;blog:5acc5cc68b3f9bcbe9c4c53a3e58befe.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=312&amp;amp;h=400&amp;amp;tok=c5d524&amp;amp;media=blog:5acc5cc68b3f9bcbe9c4c53a3e58befe.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;monitor price listing from 1996&quot; alt=&quot;monitor price listing from 1996&quot; width=&quot;312&quot; height=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this first pic is a magazine ad from &lt;em&gt;1988&lt;/em&gt; advertising, among other things, a 19”, 1600×1200 display. i have never seen one of these in person but i have &lt;em&gt;no doubt&lt;/em&gt; they looked just fine. so this was doable - if you had the rupees. obviously these were stupid expensive and meant entirely for people running CAD and desktop publishing. but they did exist!
&lt;/p&gt;

&lt;p&gt;
unfortunately, they took quite a while to get cheap. i&amp;#039;m not sure how much the &amp;#039;88 models cost (guessing they&amp;#039;re “if you have to ask” prices) but even by 96 (second image) things were not looking great. 17“ displays were still $600-700, or around $1400 after inflation, so this was like buying one of those Alienware curved OLEDs. what&amp;#039;s neat though is that 1024×768 displays were &lt;em&gt;dirt cheap&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3A640x480_was_just_the_resolution_your_parents_used&amp;amp;media=blog:deee75207558b4b090d0104278f91b4f.png&quot; class=&quot;media&quot; title=&quot;blog:deee75207558b4b090d0104278f91b4f.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=228&amp;amp;h=500&amp;amp;tok=ac7ba5&amp;amp;media=blog:deee75207558b4b090d0104278f91b4f.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;228&quot; height=&quot;500&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3A640x480_was_just_the_resolution_your_parents_used&amp;amp;media=blog:c738f560a2b1983e0cdaa0da82c82c4b.png&quot; class=&quot;media&quot; title=&quot;blog:c738f560a2b1983e0cdaa0da82c82c4b.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=264&amp;amp;h=200&amp;amp;tok=b2b649&amp;amp;media=blog:c738f560a2b1983e0cdaa0da82c82c4b.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;264&quot; height=&quot;200&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
the cheapest monitor in that &amp;#039;96 listing was $240, but i suspect prices were lower in bundles, because i flipped through a PC Magazine from mid 92 and not a single computer was being sold with a display that delivered less than that. now, this could be cheating - again, maybe the dot pitch was so bad that you couldn&amp;#039;t actually make anything out at that res, but i&amp;#039;m not sure. virtually everything i can find claims a 0.28mm dot pitch, which a quick google suggests is pretty decent. one 1992 monitor ad even Calls Out displays with .39 dot pitch, so i kinda suspect these are the genuine article.
&lt;/p&gt;

&lt;p&gt;
so, while virtually every picture of windows 3.x that i&amp;#039;ve ever seen was at 640×480, the reality was probably that a lot of them came out of the box at 1024.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3A640x480_was_just_the_resolution_your_parents_used&amp;amp;media=blog:222481c7be9a313e2857f86b45020b9f.png&quot; class=&quot;media&quot; title=&quot;blog:222481c7be9a313e2857f86b45020b9f.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=0000f9&amp;amp;media=blog:222481c7be9a313e2857f86b45020b9f.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
and that never stops feeling weird, right? you just &lt;em&gt;expect&lt;/em&gt; progman to fill most of the screen, and that&amp;#039;s how i remember it looking when i was using it as a kid. but chances are extremely good that in 1992, and maybe even in 1990, an &lt;em&gt;enormous&lt;/em&gt; number of people had this experience out of the box - and that was just the &lt;em&gt;low to midrange&lt;/em&gt; experience. if you were an enthusiast or professional, it&amp;#039;s entirely possible you ran it at 1280 or even 1600. it was completely achievable; $1,400 for a monitor, in Nearly-Eighties Dollars, is quite a bit - but most people buying PCs back then were spending an enormous amount on them already, so by the standards of the market, this was not out of the question:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_213048.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_213048.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=500&amp;amp;h=375&amp;amp;tok=205eba&amp;amp;media=nt-highres:20241027_213048.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_213048.jpg&quot; alt=&quot;20241027_213048.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
i don&amp;#039;t happen to have a 1600×1200 CRT handy (mine are all at the office) and that&amp;#039;s why i&amp;#039;m doing this on an LCD through a scaler, but otherwise this is a fairly authentic photo of a reasonable PC experience for 1995. imagine fitting all this crap on your screen at once! now mind you, the specs on this machine are a bit chubby for the era, it &lt;em&gt;is&lt;/em&gt; a workstation-class system, so it has dual CPUs (hence NT) and 64MB of RAM, quite a bit for the time, but i doubt that much of that is even being consumed by these particular apps, short of maybe the video player. and it&amp;#039;s usable! it doesn&amp;#039;t really feel weird after a little bit! i mean, navigating between apps without a taskbar sucks, but what else is new, early GUIs were just trash in that regard. otherwise, it feels great.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_212547.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_212547.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=200&amp;amp;h=150&amp;amp;tok=6924c9&amp;amp;media=nt-highres:20241027_212547.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_212547.jpg&quot; alt=&quot;20241027_212547.jpg&quot; width=&quot;200&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_212556.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_212556.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=200&amp;amp;h=150&amp;amp;tok=3c1f76&amp;amp;media=nt-highres:20241027_212556.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_212556.jpg&quot; alt=&quot;20241027_212556.jpg&quot; width=&quot;200&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_212724.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_212724.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=200&amp;amp;h=150&amp;amp;tok=7c0cfd&amp;amp;media=nt-highres:20241027_212724.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_212724.jpg&quot; alt=&quot;20241027_212724.jpg&quot; width=&quot;200&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=nt-highres:20241027_213953.jpg&quot; class=&quot;media&quot; title=&quot;nt-highres:20241027_213953.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=200&amp;amp;h=150&amp;amp;tok=b41aee&amp;amp;media=nt-highres:20241027_213953.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;20241027_213953.jpg&quot; alt=&quot;20241027_213953.jpg&quot; width=&quot;200&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
but the point of all of this is to demonstrate that, apparently, it was possible to play castle of the winds, in its heydey, without the screen ever scrolling
&lt;/p&gt;

&lt;p&gt;
okay, okay, i&amp;#039;m lying, it scrolls a LITTLE bit, but it&amp;#039;s INCREDIBLY funny to load up a new game and see the entire village on one screen. the field outside the village also mostly fits on one screen (it scrolls two lines when you advance toward the mountain) and at least the first level of the dungeon nearly fits on one screen, which is kind of a neat homage to the original rogue now that i think about it.
&lt;/p&gt;

&lt;p&gt;
the last image is from episode two of the game, which i had never seen before now. it turns out that this one starts you in a much more built-up town that takes up like 3×2 screens even at this res, which is always weird to think about. like, i know the game world is not stored as a bitmap, it&amp;#039;s a set of tile IDs, so this takes up only a few kilobytes on disk (and less for the dungeons, which are all generated anyway) but it&amp;#039;s still strange to imagine a game of this era offering a world that seems to take up a 4800×2400 area. anyway, there you go
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:640x480_was_just_the_resolution_your_parents_used#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:doing_nonsense_on_the_computer">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-25T18:33:37+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>doing nonsense on the computer</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:doing_nonsense_on_the_computer</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_1.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_1.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=d2a8df&amp;amp;media=voodvd_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_1.jpg&quot; alt=&quot;voodvd_1.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_2.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_2.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=44f160&amp;amp;media=voodvd_2.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_2.jpg&quot; alt=&quot;voodvd_2.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
tbh not actually nonsense. as silly as this looks, it&amp;#039;s probably a thing that happened a &lt;em&gt;lot&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;section&quot;&gt;-&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
okay here&amp;#039;s what we have going on
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_3.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_3.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=500&amp;amp;h=435&amp;amp;tok=df4b36&amp;amp;media=voodvd_3.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_3.jpg&quot; alt=&quot;voodvd_3.jpg&quot; width=&quot;500&quot; height=&quot;435&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
as you know, the original 3dfx voodoo cards (and i think &lt;em&gt;only&lt;/em&gt; those? i think they fixed this by the 2?) could not deliver 2D graphics at all, so you had to hook up your normal 2D card to a passthrough port, and during non-gaming operations the voodoo would simply pass the video straight through to your monitor. when you started a glide game, it would cut off the signal from your 2D card and inject its own.
&lt;/p&gt;

&lt;p&gt;
“then how did windowed mode work” as far as i know and recall, it didn&amp;#039;t. go fullscreen or go home
&lt;/p&gt;

&lt;p&gt;
this was not the only class of device that did this, but i&amp;#039;m not aware of &lt;em&gt;many&lt;/em&gt; (in fact I might own all… two) and the most common were DVD decoders, like this Creative Dxr2 that shipped in a bunch of Dells, IIRC.
&lt;/p&gt;

&lt;p&gt;
you plug this in like the voodoo - the video from your normal gfx card goes into it, then your monitor plugs into the second port. when you play an MPEG, MPEG2, or DVD with the included app, the bytes are sent to the card, it decodes them, and then it &lt;em&gt;superimposes them on the screen using chroma keying&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
the bundled video player app just displays a bright blue rectangle where the video should be, then tells the card where that rectangle is. the card scales the video to that size and position, generates a VGA signal at the same resolution as your desktop, and then uses the color component of the passthrough signal as a key to blend between them. it literally just bluescreens the DVD over your desktop, it rules. oh! it also sucks a lot
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_4.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_4.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=7f9bbf&amp;amp;media=voodvd_4.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_4.jpg&quot; alt=&quot;voodvd_4.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_5.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_5.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=a737b7&amp;amp;media=voodvd_5.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_4.jpg&quot; alt=&quot;voodvd_4.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_6.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_6.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=16f9cf&amp;amp;media=voodvd_6.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_4.jpg&quot; alt=&quot;voodvd_4.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_7.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_7.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=300&amp;amp;tok=15c805&amp;amp;media=voodvd_7.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_4.jpg&quot; alt=&quot;voodvd_4.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
as you can see, out of the box it just straight up &lt;em&gt;doesn&amp;#039;t really work&lt;/em&gt;. haddaway punches straight through windows of &lt;em&gt;fairly neutral colors, tbh&lt;/em&gt; and produces these awful shimmering artifacts in the process. it has a control panel, and if you fiddle with the knobs enough you can get it to be a lot better, but it still tends to shine through in places it shouldn&amp;#039;t. this is no “hardware overlay,” let me tell you.
&lt;/p&gt;

&lt;p&gt;
that said, you know how much CPU load there is when playing this 720×480, 30fps MPEG2? 2%, even when fullscreen.
&lt;/p&gt;

&lt;p&gt;
you wanna know how much load playing a &lt;em&gt;320×240, 24fps MPEG1&lt;/em&gt; puts on this machine? 20%, and if you double the window size, it goes to 70%.
&lt;/p&gt;

&lt;p&gt;
this PC, you see, is a Pentium 133. go just one generation older and you wouldn&amp;#039;t even be able to play full motion video without some kind of hardware accelerator, so yeah, even if the keying is kinda rough at times, having the ability to play smooth, full-motion video &lt;em&gt;directly from a DVD&lt;/em&gt;, scaled to any resolution up to 1280×1024, with zero CPU impact, was hugely important if you didn&amp;#039;t yet have the cash for the Stupidly, Comically Expensive Pentium II.
&lt;/p&gt;

&lt;p&gt;
anyway, for a long time i didn&amp;#039;t know these existed; I hadn&amp;#039;t ever looked into DVD decoders, never having needed one, so i assumed they just kind of… decoded the video and spit it back at the software to be blitted into RAM? turns out no, it was a 50/50 split between this approach, and devices that used the VESA Feature connector to spit the frames directly into VRAM - but that&amp;#039;s a story for another time.
&lt;/p&gt;

&lt;p&gt;
once i discovered that this was a common technique, i &lt;em&gt;immediately&lt;/em&gt; wanted to chain it with a Voodoo card, and since i owned one, this seemed like a slam-dunk for a little weekend project! i then let about 16 months go by without doing it, until tonight. now i&amp;#039;ve done it.
&lt;/p&gt;

&lt;p&gt;
and i have no doubt that i&amp;#039;m nowhere close to the first person &lt;em&gt;to&lt;/em&gt; do it, because this combination would have made a ton of sense in 97 or 98. i&amp;#039;m sure plenty of people had this exact setup, and of course the actual &lt;em&gt;effect&lt;/em&gt; of this arrangement is quite unremarkable. it uh… it works. you can&amp;#039;t tell that anything unusual is going on. or, at least, it works &lt;em&gt;now&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_8.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_8.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=500&amp;amp;h=375&amp;amp;tok=7c584e&amp;amp;media=voodvd_8.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_8.jpg&quot; alt=&quot;voodvd_8.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;at first&lt;/em&gt; it had a problem: while videos played fine and the video from my 2D graphics card looked good, if i fired up glquake, the picture became incredibly dim! like, unplayably dim. and as you may know, adjusting your gamma in the early days of 3d acceleration was often simply impossible, for no reason i ever found out - the slider in the game did nothing, as usual, and since this machine is running NT4, with very rudimentary drivers, there is no 3dfx control panel.
&lt;/p&gt;

&lt;p&gt;
but when i bypassed the DVD decoder and plugged my monitor straight into the Voodoo, it looked fine! well, so, at the time i had the chain set up like this:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Matrox 2D card &amp;gt; Voodoo &amp;gt; DVD decoder&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
now obviously this satisfied my basic, delightfully devilish intent to have the windows desktop go through &lt;em&gt;two layers&lt;/em&gt; of passthroughs before making it to the monitor, and i was pleased (if not particularly surprised) to find that there&amp;#039;s no apparent visual degradation, despite going through effectively 18 feet of cable and two passthrough interfaces. however, it did mean that the voodoo&amp;#039;s signal was being processed by the DVD decoder, and i figured that was probably the culprit. i swapped the chain around like this:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Matrox 2D card &amp;gt; DVD decoder &amp;gt; Voodoo&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
and this solved the problem. Quake is now quite playable.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=voodvd_9.jpg&quot; class=&quot;media&quot; title=&quot;voodvd_9.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=500&amp;amp;h=375&amp;amp;tok=a7e90e&amp;amp;media=voodvd_9.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;voodvd_9.jpg&quot; alt=&quot;voodvd_9.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this outcome doesn&amp;#039;t surprise me, and here&amp;#039;s why: most likely, the Voodoo is passing through the signal using a very simple solid state analog switch, basically just a handful of transistors that gate off one signal and let through another when you pull an input high. those are basically relays, they don&amp;#039;t much care what&amp;#039;s going through them, within certain tolerances of voltage/current/frequency. when the Voodoo is off, you are getting &lt;em&gt;exactly&lt;/em&gt; the same signal that your 2D card is outputting, delta some small amount of voltage drop.
&lt;/p&gt;

&lt;p&gt;
the DVD decoder, on the other hand, is performing some amount of Processing in the analog domain in order to splice two fullscreen images together. there are a few ways to do this, and one would be to use the exact same component: a simple solid state analog switch, gated by the chroma keyer at high speed as the beam races across the screen, sending through either the desktop image or the decoded DVD as appropriate for each pixel. in this case, it wouldn&amp;#039;t generally matter what the underlying signal from the graphics card was, but i suspect it&amp;#039;s not that simple.
&lt;/p&gt;

&lt;p&gt;
in order for the Dxr2&amp;#039;s picture to mesh well with your desktop, it needs to know what the gamut of your card is, what it&amp;#039;s black levels are, et cetera so that when it displays “white”, it looks the same as your desktop&amp;#039;s “white.” does this differ with VGA cards? i know TV signals vary, but maybe in VGA it&amp;#039;s rigidly standardized, white is always 0.7V or w/e and black is always 0.0V or whatever, and no such range adjustment is needed, i don&amp;#039;t know.
&lt;/p&gt;

&lt;p&gt;
but if that &lt;em&gt;isn&amp;#039;t&lt;/em&gt; the case, then it opens the door for disagreement between the devices. would anyone be surprised to learn that the voodoo&amp;#039;s RAMDAC is weird? i certainly wouldn&amp;#039;t. maybe it uses a weird black level? maybe it has a limited output voltage range? i should look up the VGA spec and see if this is possible, and also put a scope on the output of the two cards and see if there&amp;#039;s an obvious difference. i&amp;#039;ll do that.. later, sometime, probably.
&lt;/p&gt;

&lt;p&gt;
surely there must be &lt;em&gt;some&lt;/em&gt; differences though, because the creative card has an autocalibration process it goes through when you set it up, where it flashes a bunch of gibberish on the screen using the 2D card and (presumably) measures it to figure out the particulars of that specific device. but this only runs once, so if there &lt;em&gt;is &lt;/em&gt;a difference between the output of the Matrox and 3DFX cards, it wouldn&amp;#039;t know that. it simply assumes that it&amp;#039;s connected to the 2D card, so when the voodoo engages, the Dxr2 doesn&amp;#039;t know anything has happened and doesn&amp;#039;t try to recalibrate - not that it matters, since there&amp;#039;d be no way for it to display the calibration cards without Glide support.
&lt;/p&gt;

&lt;p&gt;
of course, this still begs the question: why is the Dxr2 having a global effect on the image? if it were just using an analog switch on the fly as i proposed, then it would have no control over any part of the image except the area where the key color appears. here, the keying shouldn&amp;#039;t even be active, since the DVD player software isn&amp;#039;t running, and even if it was, it would have to interpret the entire output of the voodoo as a 50% key signal. makes no sense, that can&amp;#039;t be it. but what &lt;em&gt;is&lt;/em&gt; going on? all i can do is guess.
&lt;/p&gt;

&lt;p&gt;
maybe the Dxr2 uses an analog mixer chip instead of a simple switch, and the mixer has significant intrinsic loss, which it has to compensate for by passing the output signal through an amp to get it back up to original levels, but maybe that amp isn&amp;#039;t linear? the calibration process would therefore exist in order to find out how hot your card&amp;#039;s output is, in order to get it back where it started without going too bright/dark. idk, that doesn&amp;#039;t feel right.
&lt;/p&gt;

&lt;p&gt;
ah, what about this: maybe VGA &lt;em&gt;doesn&amp;#039;t&lt;/em&gt; have rigid white and black levels, and in order to bring the signals from the decoder and GPU into the same voltage gamut, instead of adjusting its &lt;em&gt;own&lt;/em&gt; signal intensity, the Dxr2 adjusts your &lt;em&gt;card&amp;#039;s &lt;/em&gt;output up or down to match its own signal. in this scenario, my matrox millennium has a really &lt;em&gt;hot&lt;/em&gt; signal compared to the Creative card, so it attenuates it by 50% to match. then when we switch to the voodoo, it continues attenuating by the same amount, resulting in a much dimmer image. eh? eh? sounds good, if only there&amp;#039;s any truth to it.
&lt;/p&gt;

&lt;p&gt;
perhaps i will go looking for a technical document to try to confirm this. godspeed, me
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:doing_nonsense_on_the_computer#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:dokuhacking_1">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-23T01:01:32+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>making dokuwiki useful</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:dokuhacking_1</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
well okay, that&amp;#039;s not fair: the real title should be like “making dokuwiki pretend it&amp;#039;s a blog despite that being an unreasonable request.”
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;problems&quot;&gt;problems&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
as noted in my previous post (&lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:making_a_website_is_hard&quot; class=&quot;wikilink1&quot; title=&quot;blog:making_a_website_is_hard&quot; data-wiki-id=&quot;blog:making_a_website_is_hard&quot;&gt;making a website is hard&lt;/a&gt;) there are no longer any tolerable software packages for creating “a site that works like blogger did in 2006.” your only choices at this point are to let node.js consume you (and i don&amp;#039;t even know if that&amp;#039;ll really get you what you want) or to beat some unrelated tool into a bloglike shape. this is what i&amp;#039;ve done to create this site - you are currently looking at a Dokuwiki instance, which i hope will be a sustainable solution, though really who knows anymore.
&lt;/p&gt;

&lt;p&gt;
i ended my previous post by calling dokuwiki “this goddamn thing,” but i really mean no disrespect, it&amp;#039;s honestly quite cool and capable. most wiki packages are either way too simplistic, or they&amp;#039;re Fucking Mediawiki. MW really does not want to be anything other than wikipedia.org so if you don&amp;#039;t want a site that looks exactly like wikipedia.org, uh… good luck with that.
&lt;/p&gt;

&lt;p&gt;
doku is a nice in-between option in terms of size and complexity. it doesn&amp;#039;t require a database, which is good news for a whole bunch of reasons:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fewer external dependencies to set up&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; one less thing to break&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; moving doku to a new server consists of copying the files to the new server&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; if you decide to bail on doku, parsing the files to convert them is trivial: this article is stored in “data/pages/blog/dokuhacking_1.txt” in plain text.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
it&amp;#039;s also trivial to set up. in the classic tradition of PHP scripts, there is no installation process; you extract a zip and now you have dokuwiki. there IS an install.php but it just sets your password and squares up some permissions, then you delete it. it&amp;#039;s technically optional.
&lt;/p&gt;

&lt;p&gt;
dokuwiki is also very fast, highly extensible, reeeeeelatively easy to hack on, and extremely unpretentious: this is not a Product, it does not care if it&amp;#039;s appealing to businesses that want to look shiny and hypercompetent so they can scam you. it is classic nerd software, like linux in 2002. it&amp;#039;s honest, and humble.
&lt;/p&gt;

&lt;p&gt;
there&amp;#039;s a lot to like, the problem is just… it&amp;#039;s the Trac Ticketing System of CMS software.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Adokuhacking_1&amp;amp;media=blog:pasted:20241022-115539.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241022-115539.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=600&amp;amp;tok=5c9641&amp;amp;media=blog:pasted:20241022-115539.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
and you know, that&amp;#039;s really a great example, because if i was setting up a ticketing system i would probably use Trac! it too is pretty simple to configure, highly capable, and values function over form. the problem is just that it… values function over form.
&lt;/p&gt;

&lt;p&gt;
both of these things feel incredibly Web 1.5, which makes sense since they were both launched in 2004. still, it means their default templates are outright &lt;em&gt;embarrassing&lt;/em&gt;, and while they&amp;#039;re perfectly serviceable in functional terms, if you actually want strangers to look at or use them, you &lt;em&gt;have to&lt;/em&gt;  do something about the UI. namely, get rid of… a lot of it.
&lt;/p&gt;

&lt;p&gt;
of course, that&amp;#039;s where being stuck in 2004 has its advantages: the code and templates are sufficiently simple that i can hack on them, and more importantly, in eight months when i upgrade and need to figure out what hacks i&amp;#039;d made so i can reapply them, it won&amp;#039;t be that hard to reverse engineer my own work. the codebase is not terribly convoluted. i mean, it has a plugin infrastructure, so there&amp;#039;s some abstraction going on; you have to learn a little bit about events and hooks and template parsing, but this is all just PHP, so it can only get so complex. for the most part, i figured out how things worked in a few hours, with PHP knowledge from 20 years ago.
&lt;/p&gt;

&lt;p&gt;
the problem however is that some of the code is… not of the highest quality to begin with, nor particularly well maintained. i mean, for all i know doku itself is full of security holes, but i&amp;#039;m not that worried because it&amp;#039;s isolated into its own server and i can make backups; w/e. it&amp;#039;s updated at a moderate pace, and while i think it&amp;#039;s maintained by a very small group of people (possibly just one or two?) the core codebase is pretty mature and if it were that insecure i think nobody would be using it.
&lt;/p&gt;

&lt;p&gt;
the bigger problem is the plugins. instead of adding large amounts of behavior to dokuwiki itself, they leave it to the community to add it with plugins, and naturally, the overwhelming majority of these are abandoned. some have not been updated since 2019; some not since 2009; but even some that were updated within the last few months have been broken by recent updates, or just had major bugs to begin with, because this program just simply does not have that many users or contributors. if a plugin gets abandoned by its original author, it usually never gets picked up again. so, while it&amp;#039;s easy to google “dokuwiki [feature]” and see, “oh, there&amp;#039;s a plugin for that,” you might install it and find out that it breaks your whole site, or has serious bugs, or is in, like, alpha status and not getting any updates.
&lt;/p&gt;

&lt;p&gt;
as with many FOSS projects, there&amp;#039;s just a lot of people who show up, make one really cool commit, then go off to University and are never heard from again. it&amp;#039;s rough, albeit expected.
&lt;/p&gt;

&lt;p&gt;
the result though is that i&amp;#039;ve had to manually patch three or four plugins to make them work at all, to fix major bugs, or to add simple functionality they just never got around to including. but, i mean, at least that was possible. in a larger, more modern package, there is no way i would ever be able to navigate the Brave New World of rust or ruby or node.js to understand what the fuck it&amp;#039;s doing, let alone make any changes, and then if i did, they&amp;#039;d simply get reverted a week later by a mandatory update. ugh. so this is the price i pay.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;problems_i_ve_solved&quot;&gt;problems i&amp;#039;ve solved&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
regarding the plugins themselves: as noted, dokuwiki does not want to be a blog, it wants to be a wiki. to make it pretend to be a blog you need a lot of third party functionality. i&amp;#039;m running all of these:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; blog&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pagelist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; include&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; prosemirror&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; imgpaste&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; iframe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; smtp&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; discussion&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; feedmod&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; cmsmode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; searchtext&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; text&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
these all modulate dokuwiki&amp;#039;s behavior, some in very subtle ways, but they&amp;#039;re all mandatory. the blog plugin, for instance, simply allows you to put a special token on any page you like, which will be replaced by a list of every page in a given “namespace,” which is basically (and literally) just a directory in the wiki structure. there is nothing special about the index page; if i write “{{blog&amp;gt;1}}” below this, the latest blog post appears:
&lt;/p&gt;
&lt;hr /&gt;
&lt;/div&gt;
&lt;div class=&quot;hfeed&quot;&gt;
&lt;div class=&quot;blog-post&quot;&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_include_start&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;blog:mario_dot_jpeg&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;plugin_include_content plugin_include__blog:mario_dot_jpeg&quot;&gt;

&lt;h3 id=&quot;found_an_unnamed_txt_on_my_desktop_where_i_apparently_wrote_this&quot;&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg&quot; title=&quot;found an unnamed txt on my desktop where i apparently wrote this&quot;&gt;found an unnamed txt on my desktop where i apparently wrote this&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
i&amp;#039;m always thinking about the concept of a “clone” in videogame discussions, partly because i&amp;#039;ve been walking around for about a decade thinking about the claim that there was a “flood of doom clones” after 1993, a phenomenon that, as far as i can tell, simply did not occur.
&lt;/p&gt;

&lt;p class=&quot;include_readmore&quot;&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg&quot; class=&quot;wikilink1&quot; title=&quot;blog:mario_dot_jpeg&quot; data-wiki-id=&quot;blog:mario_dot_jpeg&quot;&gt;→ Read more...&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_include_editbtn&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;blog:mario_dot_jpeg&amp;quot;,&amp;quot;hid&amp;quot;:null,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;inclmeta level3&quot;&gt;
	&lt;abbr class=&quot;published&quot; title=&quot;2024-11-19T11:37:21Z&quot;&gt;2024/11/19 11:37&lt;/abbr&gt;
	&amp;middot; &lt;span class=&quot;vcard author&quot;&gt;crd&lt;/span&gt;
	&amp;middot; &lt;span class=&quot;comment&quot;&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg#discussion__section&quot; class=&quot;wikilink1&quot; title=&quot;blog:mario_dot_jpeg#discussion__section&quot;&gt;10&amp;nbsp;Comments&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_include_end&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;blog:mario_dot_jpeg&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;p class=&quot;centeralign&quot;&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:dokuhacking_1&amp;amp;first=1&quot; class=&quot;wikilink1&quot;&gt;Older entries &amp;gt;&amp;gt;&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
the blog plugin itself is incredibly simple: it&amp;#039;s little more than a macro leveraging the &amp;#039;pagelist&amp;#039; plugin, which does exactly what it sounds like, it lets you generate lists of wiki pages based on criteria, and then the &amp;#039;include&amp;#039; plugin lets you include the contents of one wiki page inside another.
&lt;/p&gt;

&lt;p&gt;
prosemirror is a visual editor; more on this shortly. imgpaste is a little extension that lets you paste images into the editor instead of having to save them as files and upload them, &lt;em&gt;thank christ&lt;/em&gt;, i hate that shit. iframe literally just makes iframes possible, i can&amp;#039;t recall exactly why it was necessary but it&amp;#039;s very simple and does what it says on the tin. discussion adds comments, smtp lets you subscribe to comment update emails. feedmod lets me frobulate the RSS feed so that pages get proper titles instead of miserable_ugly_underscores (i also hacked it a little to clean up some of the other fields.) cmsmode lets me disable a bunch of wiki-specific features, and text/searchtext make the built in search tool strip out all the formatting so searches are a lot cleaner.
&lt;/p&gt;

&lt;p&gt;
putting all of these together lets you make something &lt;em&gt;much like&lt;/em&gt;  a blog. you can see the rough edges, but it&amp;#039;s close enough. this is very much a unix mentality of “tiny tools chained together,” but of course, it also includes the second part, the part nobody ever says. the &lt;em&gt;full&lt;/em&gt;  description is “tiny tools chained together, offering only about 75% of the functionality and 15% of the convenience of a single purpose-built tool.”
&lt;/p&gt;

&lt;p&gt;
for instance: the include plugin has no idea it&amp;#039;s being used to create a blog index, and dokuwiki has no internal concept of page titles, or of a page having a “summary,” so the blog plugin performs a lot of hacks. to make each page appear in the index with a nice looking title and a “read more” link after the teaser, it has to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; slice off the first heading it finds in the text and treat that as a title&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; slice off the SECOND heading it finds in the text and treat that as a “read more” break&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; … Although it doesn&amp;#039;t hide the aforementioned heading when you actually look at the post, so I had to install yet another plug in that just lets me hide headings by adding a little bit of gibberish to the header tag.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
include has been extended with these capabilities probably &lt;em&gt;specifically&lt;/em&gt;  to enable the blog plugin to work correctly. i&amp;#039;m sure the maintainers planned this, but that doesn&amp;#039;t change the fact that these &lt;em&gt;are&lt;/em&gt;  separate chunks of code that don&amp;#039;t entirely know what each other are doing, so you &lt;em&gt;do&lt;/em&gt;  have to go in and set like six checkboxes in the enormous dokuwiki config page to make it work this way.
&lt;/p&gt;

&lt;p&gt;
on the other hand, it&amp;#039;s neat that you don&amp;#039;t have to! if you WANT every single post to appear in full, you can just… do that! and if the functionality you need doesn&amp;#039;t exist, it&amp;#039;s not that hard to hack in.
&lt;/p&gt;

&lt;p&gt;
example: the blog plugin adds the concept of “drafts.” there are actually many plugins to add this to dokuwiki but i didn&amp;#039;t want something too complicated; the blog plugin simply allows you to add ~~DRAFT~~ to a post, anywhere you like, and that will hide it from any blog index. there are a few problems with this.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;problem 1:&lt;/em&gt;  drafts still show up in search results
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;solution:&lt;/em&gt;  i downloaded a plugin that lets you add a “hidden” tag to posts to hide them from searches. it was like 30 lines of code which i copied into the blog plugin, made a couple adjustments, and now drafts don&amp;#039;t show up in searches. i did this live in production and it wasn&amp;#039;t a problem because i didn&amp;#039;t have to restart an App every time i made a change, let it precompile, and then have it crash and kill the entire process, shutting down my whole site. when my code was broken, it only affected the search page, and only for 20 seconds until i reverted it.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;problem 2:&lt;/em&gt;  drafts still show up to anyone with editing privileges. this confused the HELL out of me at first - i marked a post as a draft, then saved it, and it showed right up on the index. it took me an hour to realize i needed to log out, then it disappeared.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;solution:&lt;/em&gt;  i added a hook to the RENDERER_CONTENT_POSTPROCESS event which detects if a page is a draft, then appends a big “DRAFT” banner to the top. this worked when viewing posts directly; to get it to appear in the post index, i had to modify the “syntax” script, which is what replaces the blog tag with the page list.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
$renderer-&amp;gt;doc .= &amp;quot;&amp;lt;div class=\&amp;quot;blog-post\&amp;quot;&amp;gt;&amp;quot;;
// Write draft banner if appropriate
if(p_get_metadata($entry[&amp;#039;id&amp;#039;], &amp;#039;type&amp;#039;) == &amp;#039;draft&amp;#039;) $renderer-&amp;gt;doc .= &amp;quot;&amp;lt;div class=\&amp;quot;draft-banner\&amp;quot;&amp;gt;DRAFT&amp;lt;/div&amp;gt;&amp;quot;;
$renderer-&amp;gt;nest($inst);
$renderer-&amp;gt;doc .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;
$this-&amp;gt;included_pages[$entry[&amp;#039;id&amp;#039;]] = false;
&lt;/pre&gt;

&lt;p&gt;
like that. and because this isn&amp;#039;t written in some gargantuan Framework, i didn&amp;#039;t have to figure out how to instantiate an Enterprise Div Bean subclassing an Element Bean and inject it to the Layout Queue by submitting an Async Rendering Intent. doku &lt;em&gt;does&lt;/em&gt;  have a very obtuse rendering system tbh, but you can ignore it entirely and just do some printfs or string concatting. it works fine. you do not have to do everything “correctly.” thank christ
&lt;/p&gt;

&lt;p&gt;
okay, here&amp;#039;s another example that happened &lt;em&gt;while writing this post&lt;/em&gt;:
&lt;/p&gt;

&lt;p&gt;
when you embed an image in a post, obviously you want it to get thumbnailed, and for the thumbnail to link to the full picture. this is how the web works, since time immemorial. doku supports this, and it does it using a time-honored tradition: rather than linking to the image directly, it&amp;#039;s routed through a PHP script, “fetch.php”, which confers a lot of benefits. you aren&amp;#039;t exposing your media directory to users, security policies and permissions can be applied, and of course, you don&amp;#039;t have to keep a pre-converted thumbnail version of every single file.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=92&amp;amp;h=79&amp;amp;tok=4d7bdb&amp;amp;media=blog:90.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;92&quot; height=&quot;79&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
the masterchief here is being displayed at like 160×300, because fetch.php is being called with parameters like width=160 and it&amp;#039;s scaling appropriately. this puts a slight CPU load on the server, but CPU is cheap; it saves bandwidth, the really important part, and it allows me to change the thumbnail size at any time without needing to delete and regenerate files. hooray
&lt;/p&gt;

&lt;p&gt;
but when you &lt;em&gt;click&lt;/em&gt;  on that image, by default, something terrible happens: instead of just &lt;em&gt;showing you the raw file&lt;/em&gt;, it generates a weird little that puts the image in a fixed-size box, then displays a bunch of EXIF metadata and navigation links at the bottom. awful! detestable! who would want this! eugh!
&lt;/p&gt;

&lt;p&gt;
the only solution proposed by the doku people is to change the embed link from
&lt;/p&gt;

&lt;p&gt;
{{.:pasted:90.png?120}}
&lt;/p&gt;

&lt;p&gt;
to
&lt;/p&gt;

&lt;p&gt;
{{.:pasted:90.png?120&amp;amp;direct}}
&lt;/p&gt;

&lt;p&gt;
this will change the link target to do what you want. but there is no way to make this the default behavior! awawghghh! no! i am not editing every single goddamn image i link like this!
&lt;/p&gt;

&lt;p&gt;
fortunately, i made a discovery: the “detail” page is called “detail.php”, while the normal “get me the whole image” link is “fetch.php”. so i simply deleted detail.php and symlinked the name to fetch.php; this fixed it, and i didn&amp;#039;t even have to edit any code, because doku is built the way it should be: a loose collection of files that anyone can understand.
&lt;/p&gt;

&lt;p&gt;
this is, again, why i went with dokuwiki - because it&amp;#039;s one of the last vestiges of classic nerd software on the internet. it&amp;#039;s like linux in 2003, before it started trying to Help you, before it started trying to be a mishmash of half-baked, half-remembered ideas from Windows and MacOS that don&amp;#039;t make end users all that much more comfortable, while getting in the way of the people who the OS was meant to be for in the first place. just let me ifconfig an IP onto eth0 you jackoffs, stop Managing my Network.
&lt;/p&gt;

&lt;p&gt;
i &lt;em&gt;hate&lt;/em&gt;  modern linux. it has been going in the wrong direction for over 20 years, trying desperately to suck up to consumers who will never care about it, like the democrats “reaching across the aisle” to people who simply bite their fingers off for their trouble, while doing immense harm to their own constituents in the process. and that&amp;#039;s really a microcosm of all free software, it&amp;#039;s why every other open source CMS package reeks of business-brain.
&lt;/p&gt;

&lt;p&gt;
enterprise brainworms have taken over so fully that you just can&amp;#039;t find something at the triple point of “good idea”, “well maintained” and “actually useful for normal human beings,” which is, again, how i wound up using a piece of software from 2004, before the collapse began in earnest. it&amp;#039;s like finding steel that isn&amp;#039;t radioactive due to fallout from nuclear tests: you simply have to go dig up the old stuff, even if that means melting down old car chassis.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;problems_i_haven_t_solved&quot;&gt;problems i haven&amp;#039;t solved&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i still don&amp;#039;t have a great WYSIWYG editor. nerds really hate these and i don&amp;#039;t know why. yes, i know you want to do everything in a greentext ssh session and pretend you&amp;#039;re hacking the matrix; that&amp;#039;s great, go ahead, have fun, but surely someone other than me recognizes that editing rich text &lt;em&gt;in plaintext&lt;/em&gt;  is a gigantic waste of time and effort that adds a ton of context switches and repetitive try-confirm loops to the basic act of writing. this is how we did it in &lt;em&gt;wordperfect&lt;/em&gt;, but then we &lt;em&gt;stopped&lt;/em&gt;  needing to do it in 1985 when the first word processors for mac came out, and even earlier if you worked at a place with a xerox system. i can&amp;#039;t be the only one who sees how regressive markdown is, but it really feels that way.
&lt;/p&gt;

&lt;p&gt;
and i mean, this IS a solved problem, even in the FOSS space. there are plenty of excellent free WYSIWYG editors, i&amp;#039;ve used several, but they&amp;#039;re never core components of anything. they&amp;#039;re always just standalone javascript objects being offered up for integration, and nobody wants to do the integration.
&lt;/p&gt;

&lt;p&gt;
the primary maintainer(s) of dokuwiki do not want a graphical editor, they think editing in raw wikitext (like markdown but different) is the way to go, and therefore they don&amp;#039;t think a GUI editor should be built into the project. they don&amp;#039;t mind it being available as a plugin - but of course, you can&amp;#039;t do that. the editor is &lt;em&gt;so core&lt;/em&gt;  a feature that for it to exist at all, the project has to select and commit to a single tool, then all core and plugin code has to be tested rigorously against it. otherwise it will break as soon as anyone changes… anything, basically.
&lt;/p&gt;

&lt;p&gt;
this is, naturally, what has been going on forever. CKGedit has been the standard plugin for a very long time, integrating CKeditor, and honestly it works pretty well. i&amp;#039;m using it right now! but it IS dated, and people have proposed replacing it several times. finally someone did, adding the considerably more modern Prosemirror. that looks great, but i tried it, and it breaks completely when i embed certain plugin features, and none of the keyboard shortcuts work. i can&amp;#039;t hit ctrl+i to italicize some text, so it&amp;#039;s basically useless.
&lt;/p&gt;

&lt;p&gt;
there&amp;#039;s an issue open for this, and it has been open for a long time, but it&amp;#039;s not getting fixed because this is simply nobody&amp;#039;s priority. plus, it&amp;#039;s whack-a-mole: it&amp;#039;ll get fixed eventually, and then someone will change some incredibly minor thing in dokuwiki and it&amp;#039;ll break again, and once again it&amp;#039;ll take another year to get fixed. nerds always turn up their noses at any suggestion of graphical editing, so this plugin is always going to get fourth-rate support, rendering it essentially useless.
&lt;/p&gt;

&lt;p&gt;
indeed, CKGedit doesn&amp;#039;t seem to have been updated in two years - but as far as i can tell, it still works. i mean, it&amp;#039;s not perfect; while I CAN paste images into this,
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Adokuhacking_1&amp;amp;media=blog:pasted:20241022-141229.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241022-141229.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241022-141229.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
and it simply uploads and embeds them instantly, meeting my bare minimum requirements, i still can&amp;#039;t &lt;em&gt;drag images into the editor&lt;/em&gt;  from an explorer window. i&amp;#039;m not sure why. this is supposed to work, i have a plugin for it, but… no dice. some minor thing must have changed to break it, and hopefully eventually someone will fix it - but in the interim, i can still use the manual upload button in the editor.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=379&amp;amp;h=148&amp;amp;tok=99177a&amp;amp;media=tyrael_diablo_ii.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;379&quot; height=&quot;148&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
this adds a step that shouldn&amp;#039;t need to exist. i mean, in 2004, &lt;em&gt;absolutely nobody&lt;/em&gt;  expected drag and drop to work, so by the standards of the time this is as good as it ever got. conversely, we &lt;em&gt;should&lt;/em&gt;  have expected it to work. conversely, by installing dokuwiki i had already decided to abandon modern functionality in favor of something that &lt;em&gt;works, per the standards of some era, &lt;/em&gt;instead of failing to meet the most reasonable expectations of anyone in &lt;em&gt;any&lt;/em&gt;  era, so… i guess I&amp;#039;ll just take what i can get. after all, this must be good enough, or you wouldn&amp;#039;t be reading this post at all, would you?
&lt;/p&gt;



&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:dokuhacking_1#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:further_linux_on_steamdeck_notes">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-11T22:12:49+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>further linux on steamdeck notes</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:further_linux_on_steamdeck_notes</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
having spent another day linuxing on the steamdeck, i have come to a number of conclusions that might be useful to you.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;thing_1huh_this_is_pretty_good&quot;&gt;thing 1: huh. this is pretty good&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i am astonished at how quickly the deck becomes desirable as a general purpose computing implement as soon as you put it in a dock. like, there are &lt;em&gt;some&lt;/em&gt; ergonomics issues with it to be sure, the lack of USB ports is irritating among other things, but there&amp;#039;s a lot of plusses.
&lt;/p&gt;

&lt;p&gt;
it takes up very little footprint on a desk. “ah,” you say, “then just get a NUC” - trust me, you don&amp;#039;t need to tell &lt;em&gt;me&lt;/em&gt; about Little Guys, okay. but NUCs (et al) don&amp;#039;t have built in screens, so i&amp;#039;m forced to have an actual dedicated monitor to use one; that&amp;#039;s too much space investment. and they don&amp;#039;t have batteries, which is a showstopper for me because i am &lt;em&gt;constantly&lt;/em&gt; reconfiguring everything on my desk to do various projects. i need to be able to unplug something (either on purpose or accidentally) and move it around without needing to shut it down. the battery in the deck acts like a little UPS; perfect.
&lt;/p&gt;

&lt;p&gt;
“why not get a laptop?” takes up too much desk real estate, i do not have room for a second keyboard that can&amp;#039;t be made to go away when i don&amp;#039;t need to use the machine at the moment. “ah,” you say, “then get a tablet.” i have a couple problems with that. one is that tablets suck; not qualifying this. all tablets feel jank and awkward to me, details unimportant. another issue though is that none of them have conventional touchpads, and touchscreens are &lt;em&gt;horrible&lt;/em&gt;. using a desktop OS through touch is bad, full stop, so the fact that the deck has an actual touchpad is basically the seller for me.
&lt;/p&gt;

&lt;p&gt;
that feature alone makes it a lot easier to use in a “progressive degradation” fashion. if i want a full-fat, 100% PC experience i can hook up a keyboard, mouse and monitor. a NUC could deliver that, but since the deck has a built in screen, if i only need a 90% PC experience i can hook up &lt;em&gt;just&lt;/em&gt; keyboard and mouse. if i only need to go 70% PC, i can use just a mouse, and use an onscreen keyboard if i need to enter a password or ctrl+c.
&lt;/p&gt;

&lt;p&gt;
all that works with a tablet too, but if i only need a &lt;em&gt;40%&lt;/em&gt; PC experience, i can just reach over and use the touchpad to click a couple things, without adding any peripherals at all. doing this on a tablet sucks ass, because by the nature of the act - a quick, off the cuff action before returning to my main PC - i&amp;#039;m always going to be off-axis, and using touchscreens with an outstretched arm makes them even less accurate than they already are. i &lt;em&gt;always&lt;/em&gt; end up hitting shit i don&amp;#039;t want to, focusing the wrong window, starting an unintended program, and generally wasting so much time and effort that the whole endeavor becomes pointless.
&lt;/p&gt;

&lt;p&gt;
the deck hits this perfect midpoint. tablets lack &lt;em&gt;just enough&lt;/em&gt; laptop features that i find them useless, but &lt;em&gt;just including the trackpad&lt;/em&gt;, in a vertical orientation, got it over the line for me. i just kind of blinked and found myself wanting this thing on my desk at all times.
&lt;/p&gt;

&lt;p&gt;
i have been trying for years to find a way to have a tiny dedicated linux machine, so i have something handy if i ever need to do a quick dd operation or something i can&amp;#039;t do as easily on windows, but everything i&amp;#039;ve tried didn&amp;#039;t take. the 12“ thinkpad (they shouldn&amp;#039;t even make them bigger than that) was supposed to solve this, but it&amp;#039;s just too big because of the keyboard. i have to make a bunch of space to get it out, which is never practical, and then it&amp;#039;s In The Way the whole time it&amp;#039;s on the desk, desperately screaming to be put back in its bag so i have elbow room again. this doesn&amp;#039;t do that. i think it might finally be The Thing that solves this problem.
&lt;/p&gt;

&lt;p&gt;
also, i know it&amp;#039;s pretty thoroughly understood that the deck is Surprisingly Performant For What It Is, and i also know that my instincts for computer performance are pretty badly miscalibrated due to my advanced years, but i keep being impressed by what this thing can do. case in point, i installed OBS earlier, and found that it can use the hardware x264 encoding. i was able to record 1080p60 video through a USB capture card with only 8% CPU utilization and no fan noise. i didn&amp;#039;t have a chance to test battery life thoroughly, but it felt like it&amp;#039;d get at least 45 minutes that way, which is a lot better than i would have expected.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;thing_2usb_reliability&quot;&gt;thing 2: usb reliability&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
the usb situation on the deck is not hot, it&amp;#039;s really its biggest failing. it should have four USB-C ports and i think valve could have made this happen if they weren&amp;#039;t cowards. “just use a hub” doesn&amp;#039;t solve the problem that the one port is a single point of failure.
&lt;/p&gt;

&lt;p&gt;
on that note: no, you probably &lt;em&gt;shouldn&amp;#039;t&lt;/em&gt; run the deck off an external drive habitually. like don&amp;#039;t get me wrong, i&amp;#039;ve done this for 8 hours with no trouble under &lt;em&gt;light&lt;/em&gt; duty, but once i start doing Full Contact Computing it has a tendency to fall over.
&lt;/p&gt;

&lt;p&gt;
three or four times i&amp;#039;ve had the USB SSD just suddenly evaporate. dmesg fills with write errors, or suddenly won&amp;#039;t even execute because the root fs just disappeared, obviously forcing a hard reboot, and at first i thought this might be some kind of kernel bug or the SSD throwing some kind of confusing status code back to the OS or other such mumblings, but i&amp;#039;ve since obtained a dock (Anker) and connected more peripherals. this time, when the SSD disappeared, my USB capture card also reset.
&lt;/p&gt;

&lt;p&gt;
in the first case I was doing a high speed file transfer and saturating a decent chunk of the bus, and in the latter i was capturing 1080p60 video while recording it to the USB SSD, so i suspect that basically, putting enough load on the Deck&amp;#039;s USB controller has a tendency to reset it. obviously this is unhealthy if the OS is &lt;em&gt;on&lt;/em&gt; said controller. I really wish linux was better at recovering from this specific scenario but it&amp;#039;s not exactly a priority ig.
&lt;/p&gt;

&lt;p&gt;
so i will be discontinuing my reliance on the external drive, but i can&amp;#039;t help but think that if there were two root hubs on here, this kind of scenario would be more survivable. if valve didn&amp;#039;t advertise the thing as a viable primary desktop PC I wouldn&amp;#039;t even bring it up, but they do, so.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;thing_3steamos_considered_optional&quot;&gt;thing 3: steamos considered optional?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i&amp;#039;ve largely concluded that running steamos is not necessary unless you are &lt;em&gt;specifically interested in lengthy gaming sessions on battery&lt;/em&gt;. like obviously that&amp;#039;s a huge part of the sell on the deck, but not for everyone, and if that&amp;#039;s not you, it might not be necessary.
&lt;/p&gt;

&lt;p&gt;
plain old linux steam works almost identically to the steamos version. if you want the fullscreen experience on boot, you can just add it to your startup apps with the ”-gamepadui“ argument, and bam, now you&amp;#039;ll start in Big Picture Mode. all the shortcuts work, the gamepad remapping works, the steam button works, and even if you&amp;#039;re doing desktop stuff you can hit the steam button at any time to open steam as long as it&amp;#039;s running in the background (you can achieve that by running it on startup with the -silent arg.)
&lt;/p&gt;

&lt;p&gt;
what &lt;em&gt;seems&lt;/em&gt; to be missing, if i&amp;#039;m not just missing it myself, is the top tier special sauce, the performance-tuning options available in the ellipsis menu that let you do stuff like limit FPS and force lower resolutions. guessing this worked through a mix of X server customizations and/or gamescope trickery; in any case it doesn&amp;#039;t seem to exist outside of steamos.
&lt;/p&gt;

&lt;p&gt;
thing is, i didn&amp;#039;t find myself using those things even when playing on battery. i would rather get 25 minutes at 35fps than an hour at 18fps, and honestly i am just not that into portable gaming at all. the most likely place i&amp;#039;m going to use this thing As Intended is when i&amp;#039;m laid up in a bed (hospital or otherwise,) where i can plug it in anyway.
&lt;/p&gt;

&lt;p&gt;
if you are in this same position of not &lt;em&gt;actually&lt;/em&gt; playing games on trains and in breakrooms, and you&amp;#039;re a tinkerer (do not waste your time with this if you aren&amp;#039;t already linuxbrained lol,) i think you should strongly consider just wiping the internal SSD and installing Normal Linux. it&amp;#039;s not like it&amp;#039;s hard to go back if need be, you can just reflash it to steamos. good luck gamers
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:further_linux_on_steamdeck_notes#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:incredible_kaios_news">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-25T04:15:27+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>incredible cellphone news</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:incredible_kaios_news</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aincredible_kaios_news&amp;amp;media=blog:pasted:20241024-210958.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241024-210958.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241024-210958.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
in 2018, Nokia &lt;em&gt;finally&lt;/em&gt; made a reissue of the 8110, their incredibly distinct 1996 handset with a sliding bottom half which was made famous by its use in the matrix
&lt;/p&gt;

&lt;p&gt;
. . .
&lt;/p&gt;

&lt;p&gt;
but it&amp;#039;s a &amp;lt;$100 hyper-low-end offering running KaiOS
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:incredible_kaios_news#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:j2me_review_pac-man">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-21T20:37:44+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>J2ME review: Pac-Man</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:j2me_review_pac-man</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Bandai-Namco&amp;#039;s port of Pac-Man to J2ME flip phones is shockingly competent. i&amp;#039;m not a Pac-Man expert but I&amp;#039;m pretty sure this is the closest they could have gotten to an arcade-perfect conversion; if you wanted to play Pac-Man while waiting for a bus, you wouldn&amp;#039;t have any complaints about this version, it is &lt;em&gt;completely&lt;/em&gt; satisfactory. but it does have one hilarious quality
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
the game is incredibly close to being unremarkable. by the time this came out - probably in the late 2000s - i think the days of atrocious pac-man ports were decades behind us. i&amp;#039;m pretty sure by 2007 you could get “Arcade Pac-Man” for basically any platform. however, there is one standout quality of &lt;em&gt;this&lt;/em&gt; version that made me just about spit out my drink.
&lt;/p&gt;

&lt;p&gt;
if you&amp;#039;re trying to replicate the Pac-Man arcade experience, you can&amp;#039;t just leave the iconic sound effects on the cutting room floor. they&amp;#039;re absolutely essential, and yet, J2ME has an inexplicable allergy to PCM SFX, which is what you&amp;#039;d need to accurately reproduce the aural qualities of this particular game. faced with this unwinnable situation, namdai-bamco took an &lt;em&gt;incredibly&lt;/em&gt; brave path: they attempted to recreate Pac-Man&amp;#039;s iconic sound effects… using General MIDI.
&lt;/p&gt;

&lt;p&gt;
i could describe this, but you would do better to just consume the two and a half minutes of gameplay i recorded for your benefit.
&lt;/p&gt;

&lt;p&gt;
&lt;iframe title=&quot;&quot; src=&quot;https://www.youtube.com/embed/Xv1yhFaz3Uc&quot; style=&quot;width:937px; height:527px&quot;&gt;&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;
this is a &lt;em&gt;fascinating&lt;/em&gt; outcome. the pill-eating sound is outright bad; i think it&amp;#039;s a guitar patch? but the death sound is shockingly convincing, i think it&amp;#039;s basically a 1.25 second long black midi that abuses “Square Lead” or w/e into a remarkably decent facsimile of pac-man&amp;#039;s demise. the intermission song is also pretty decent.
&lt;/p&gt;

&lt;p&gt;
it rules that bamco-namdai did this instead of just punting and replacing the sounds with something that fit the realities of MIDI better. hats off to good ol b-n
&lt;/p&gt;

&lt;/div&gt;

&lt;h1 id=&quot;update&quot;&gt;UPDATE&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
so, it was pointed out in the comments that maybe this sounds better on a real phone with a crunchy midi synth instead of my windows GS wavetable. now i had considered this, but I remembered flip phones all having MIDI that sounded pretty much the same. imagine my surprise when i tried it on my ericsson and the SFX sounded MUCH closer to the originals! i will record another video at some point to prove this, but the pill eating noise and death SFX are SPOT ON. the musical stabs aren&amp;#039;t perfect, they still have a very “cheap MIDI”-esque twang, but honestly it&amp;#039;s amazing that they nailed the effects. fuck me i suppose
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:j2me_review_pac-man#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:linux_on_the_steamdeck_lol">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-11T21:04:26+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>linux on the steamdeck lol</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:linux_on_the_steamdeck_lol</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
the general response on e.g. reddit to “can I use [x] on the steamdeck” is “yes, because it&amp;#039;s just a PC, so you can use anything that would work on a PC” and while i commend that response in the general case (the fact that the steamdeck is essentially Just A PC is &lt;em&gt;incredibly&lt;/em&gt; vital to its usefulness and should be highlighted,) i suspect it&amp;#039;s become a thought-terminating cliche.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
what people are actually asking is,
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; have you tried [x] and found out that it&amp;#039;s impractical on this platform for some non-obvious reason?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; what&amp;#039;s the driver situation? do physical buttons, the gamepad, etc. work?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; is it straightforward or will i need to know a lot of specific tricks and tips?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; will this, in general, be an uphill battle?&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
and i think it&amp;#039;s reasonable to ask those questions &lt;em&gt;before&lt;/em&gt;  getting deeply invested into a project that might be a huge waste of time and, for all you know, could leave your steamdeck bricked.
&lt;/p&gt;

&lt;p&gt;
i mean, you just don&amp;#039;t know unless you know, right? did valve build in any weirdass management controller nonsense that gets confused if the OS doesn&amp;#039;t have a driver loaded? is there a watchdog? is there some kind of secure boot nonsense? any of these things could be true given how appliance-ized the thing is, and while Valve does have a FAQ that says “it&amp;#039;s just a PC,” it doesn&amp;#039;t actually say that all those things are untrue.
&lt;/p&gt;

&lt;p&gt;
as it turns out, they are untrue; the steam deck really has very normal PC-type behaviors. but can you blame someone for wondering if details are being left out? and also, there are just things that the average computer toucher will be completely unfamiliar with.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;install_boot&quot;&gt;install / boot&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
for instance: while i&amp;#039;m led to believe that installing linux or windows is straightforward (you just write them to a USB, boot, install like normal) what if you don&amp;#039;t want to erase the internal drive? you can absolutely run your steamdeck off an external drive indefinitely, it works quite well IME &lt;strong&gt;(update: it doesn&amp;#039;t so much; more notes shortly)&lt;/strong&gt;, but the firmware lacks a boot order selector, so you&amp;#039;re going to have to hold Volume Down and press power on every single restart to get the boot selector. i googled this problem and found people saying to use various funky third party utilities that look unreliable.
&lt;/p&gt;

&lt;p&gt;
…or, you can just go into the EFI and set &lt;strong&gt;Boot &amp;gt; Add Boot Options&lt;/strong&gt;  to &lt;strong&gt;First&lt;/strong&gt;. this puts the internal SSD at the bottom of the boot order, so if you have anything bootable &lt;em&gt;at all&lt;/em&gt;  connected, it&amp;#039;ll always win, and otherwise it falls back to the SSD. this obviously works and it&amp;#039;s not hidden at all, but it&amp;#039;s &lt;em&gt;also&lt;/em&gt;  not a typical PC firmware setting, so i would want to be told about it! yet this did not appear in any of the google results i got, i had to figure it out myself.
&lt;/p&gt;

&lt;p&gt;
installing an OS is out of scope, but fwiw i have been experimenting with a copy of linux mint xfce which i installed onto a crucial x9 pro on a completely different machine. as is typical, linux doesn&amp;#039;t really care what you install it on and can be freely moved between systems, so i actually recommend setting it up on something &lt;em&gt;other&lt;/em&gt;  than the deck. i guess it doesn&amp;#039;t make much difference if you have a dock, but if you don&amp;#039;t, then using a normal PC will give you wired ethernet, a bigger screen, more USB ports etc. and then once you have the basics set up you can just move the drive over to the deck.
&lt;/p&gt;

&lt;p&gt;
hell, that might even be true if you&amp;#039;re using the internal drive, nothing stops you from popping the m.2 out of the deck and putting it in a laptop for initial setup. just food for thought
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;screen&quot;&gt;screen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
the first problem you&amp;#039;ll encounter once you boot an OS is that the screen is rotated. i think valve used a tablet LCD, so its native orientation seems to be portrait. i don&amp;#039;t know if windows handles this well, but i have tried booting two different linuces on my deck and both came up with X sideways.
&lt;/p&gt;

&lt;p&gt;
this happens on lots of tablets, and really that&amp;#039;s a core issue with the deck: it&amp;#039;s not “just a PC,” it&amp;#039;s “just a tablet.” so it has very typical &lt;em&gt;tablet PC&lt;/em&gt;  behaviors, but how many people have ever used one of those at all, and how many &lt;em&gt;linux&lt;/em&gt;  users have used one? it&amp;#039;s a pretty tiny fraction of an already small pool imo, so i think most people are going to be baffled when they run into this problem.
&lt;/p&gt;

&lt;p&gt;
the solution is always two steps:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;rotate the display:&lt;/strong&gt;  often accomplished from your DE&amp;#039;s “Display” control panel. this worked under Mint XFCE just fine, but on some distros you&amp;#039;ll need some CLI gibberish. for the Deck it&amp;#039;s: &lt;strong&gt;xrandr –output eDP1 –rotate right&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;rotate the touchscreen:&lt;/strong&gt;  i have never seen this happen automatically. the display control panel will rotate the &lt;em&gt;picture&lt;/em&gt;  but the touchscreen will now be completely out of sync, left-right = up-down. you need to find some chunk of line noise to punch into a CLI to fix this, it&amp;#039;s device-specific, and i&amp;#039;m not sure if the examples i found were even correct because i didn&amp;#039;t try any of them. &lt;br/&gt;
 &lt;br/&gt;
instead, on a whim i looked up “touchscreen” in the Mint software repo and found something called i think “&lt;strong&gt;x11-touchscreen-calibrator&lt;/strong&gt;” which just instantly and persistently fixed it, somehow. this probably exists on most linuces so look for it.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h2 id=&quot;keyboard&quot;&gt;keyboard&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
another common issue with linux on tablets is keyboards. yes, you can just use USB or bluetooth, but at that point you just have a weird laptop so it&amp;#039;s out of scope. suppose you want to use the deck &lt;em&gt;as a handheld, as intended, just not under SteamOS&lt;/em&gt;. i have no solution for this.
&lt;/p&gt;

&lt;p&gt;
even SteamOS in desktop mode suffers here, because the on screen keyboard is &lt;em&gt;absolutely atrocious &lt;/em&gt;and lacks multiple essential keys (like &lt;em&gt;control&lt;/em&gt;, ffs) without which you simply cannot operate a linux machine. it sucks, and there&amp;#039;s nothing you can do about it, you can&amp;#039;t even change which keyboard comes up when you hit steam+X.
&lt;/p&gt;

&lt;p&gt;
this is one of valve&amp;#039;s biggest and most pointless own-goals, in a device that&amp;#039;s kind of full of own-goals; most of them are just more charming than this one, which is really a showstopper. assuming you think using the thing in desktop mode is an important feature, that is - but given that valve themselves exposed and advertised that feature, i think we can call it a critical functional gap.
&lt;/p&gt;

&lt;p&gt;
again, this isn&amp;#039;t a deck-specific problem, it&amp;#039;s really one of the big problems with PC tablets if you ask me, a complaint I&amp;#039;ve had since the 2000s: they should all really have dedicated hardware buttons that summon/dismiss the keyboard. you can get away without such a thing on a smartphone, because the keyboard is &lt;em&gt;solely&lt;/em&gt;  useful for plain text input to plain text fields, which are an extremely low-level OS concept. android and ios (and winCE, palm, etc. before them) &lt;em&gt;always&lt;/em&gt;  know when you are trying to enter text, and all UIs are designed with the idea in mind that the keyboard may be covering half the screen. there are also no keyboard shortcuts, no nonprintable characters, and no software that expects to see arrow keys or numpad keys or anything like that.
&lt;/p&gt;

&lt;p&gt;
in other words, the platform is designed from the ground up to not allow any inputs that would make this problem hard to solve. this is not true for normal PC software. you need access to shit like Ctrl and the F-keys, &lt;em&gt;particularly&lt;/em&gt;  under linux. you also really need to be able to pull up and dismiss the OSK at any moment, and there&amp;#039;s no convenient way to do that. sure, you can load up a generic OSK package (i&amp;#039;m using “Onboard,” which is decent) but with no hardware button you&amp;#039;re going to have to summon it by tapping a system tray icon, and that sucks.
&lt;/p&gt;

&lt;p&gt;
touchscreens are already fumbly things and linux is not good at UI scaling yet, so you are going to miss and hit the wrong thing frequently. screen real estate is also at an absurd premium on a &lt;em&gt;1280×800 display, &lt;/em&gt;so making a larger target isn&amp;#039;t really a good solution. but there are deeper problems - an OSK is an OS meta-feature, and having to perform an in-band action which defocuses the current app and input field in order to summon it is simply incorrect from UI &lt;em&gt;and&lt;/em&gt;  UX perspectives. it will never work well, and while valve &lt;em&gt;could&lt;/em&gt;  have solved it, they have made it pretty clear that they don&amp;#039;t intend to.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;again, this isn&amp;#039;t a deck-specific problem, &lt;/em&gt;but it &lt;em&gt;is &lt;/em&gt;a big nasty ugly one. it is solved by not expecting to use it as a fully handheld device, &lt;em&gt;but until you try doing that, you don&amp;#039;t realize how inconvenient it is.&lt;/em&gt;  so if someone asked me “can i use linux on my steamdeck” i would &lt;em&gt;proffer&lt;/em&gt;  the fact that you can&amp;#039;t really use this thing unless you have a physical keyboard available at a moments notice. that seems like essential info!
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;gamepad&quot;&gt;gamepad&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
finally there&amp;#039;s the “gamepad” controls, e.g. sticks, triggers, etc. which don&amp;#039;t fully work without Steam running. they only function in the “desktop” config, which i believe is as follows:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; right touchpad is a mouse&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; triggers are left/right buttons&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; D-pad is keyboard arrows&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; A is enter&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pause is escape&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
little of this is useful in games, and without steam you can&amp;#039;t change any of it. i am unaware of any way to solve this and i don&amp;#039;t think it&amp;#039;s supposed to be solvable. as far as i can tell, while the deck controls appear to apps as a generic SDL xinput device, the kernel driver is plugging into an emulated software device which is fed by userspace code running inside Steam itself, allowing them to do their wacky control remapping trickery.
&lt;/p&gt;

&lt;p&gt;
i can see why they did this, it&amp;#039;s very clever, but the point is that even under SteamOS, if you close Steam, all the controls stop working. that means that if you don&amp;#039;t want to install Steam, or if you&amp;#039;ve chosen a distro that &lt;em&gt;can&amp;#039;t run&lt;/em&gt;  Steam (at least not without a ton of tedium you don&amp;#039;t want to do,) then you&amp;#039;re screwed; most of your gadget will not work. if you aren&amp;#039;t playing games maybe this doesn&amp;#039;t matter but then i don&amp;#039;t know why you bought a steamdeck.
&lt;/p&gt;

&lt;p&gt;
assuming you are okay with running steam all the time, you will then need to switch to “gamepad” mode to play most games. by default, just hold the “pause” button for a few seconds, and you&amp;#039;ll see the gamepad mode popup, basically turning it into an xbox controller. to get back to desktop controls, hold L4 (the upper button on the back of the left side.) this, again, is something you have to do even in SteamOS itself if you&amp;#039;re running in desktop mode.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;in_conclusion&quot;&gt;in conclusion&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i get that after the Deck came out, the &lt;a href=&quot;https://www.youtube.com/watch?v=V9jlo4Ht2YA&quot; class=&quot;urlextern&quot; title=&quot;https://www.youtube.com/watch?v=V9jlo4Ht2YA&quot; rel=&quot;ugc nofollow&quot;&gt;Almost Live Area Codes Sketch&lt;/a&gt; played out on reddit et al for months or years. “can it run linux?” yes, it&amp;#039;s a PC. “can it run windows?” yes, it&amp;#039;s a PC. i get that people probably got tired of that, but here&amp;#039;s one of my overriding opinions about posting on the internet:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt; &lt;span style=&#039;font-family: inherit; font-size:20px; color: inherit;  background-color: inherit &#039;&gt;if you&amp;#039;re tired of answering the same question, stop answering it.&lt;/span&gt; &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
you aren&amp;#039;t a paid employee. there are no KPIs to meet on &lt;em&gt;reddit&lt;/em&gt;  or &lt;em&gt;stackexchange&lt;/em&gt;. nobody is forcing you to reply to every thread, so just: don&amp;#039;t. if you can&amp;#039;t be civil, shut the fuck up, let someone else answer it or don&amp;#039;t answer it at all. and i don&amp;#039;t need to say anything more than that, you&amp;#039;ll either decide to be decent to people or not.
&lt;/p&gt;

&lt;p&gt;
the reason we ask each other questions instead of experimenting is because experimenting takes time, possibly unlimited time, and can have unknown side effects; why spend four hours installing and tinkering with linux only to find out there&amp;#039;s some glaring defect that will prevent it from &lt;em&gt;ever&lt;/em&gt;  doing what you want, &lt;em&gt;a thing that happens really often, particularly with linux? &lt;/em&gt;why install Windows, then install a bunch of drivers and whatnot, only to find out that it has some foundational problem with audio output or something? why do these things when you could just ask, “hey, has anyone else tried this,” and save yourself countless hours? is that not why forums and reddit and stackexchange &lt;em&gt;exist?&lt;/em&gt;  isn&amp;#039;t all the info “in the book” or available through empirical testing? if so, why even let people ask questions, and why show up to answer them?
&lt;/p&gt;

&lt;p&gt;
one of the great things about humans is our ability to communicate, to share experiences so that we &lt;em&gt;don&amp;#039;t&lt;/em&gt;  all have to learn things “the hard way.” why people online, particularly linux people, are so quick to discard that basic tenet of our existence is beyond me. all you have to do is say “yep, it works,” without the “obviously” at the end - or just say nothing at all. that one&amp;#039;s incredibly easy. possibly the easiest choice
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:linux_on_the_steamdeck_lol#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:making_a_website_is_hard">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-22T18:37:13+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>making a website is hard</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:making_a_website_is_hard</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
and every year it gets harder. you can skip this post, i&amp;#039;m just an old man yelling at cloud.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
i wrote like 8,000 words about how much i hate trying to make websites in the modern world and got so mad and disgusted that i just abandoned it. then i tried to write something nicer and that didn&amp;#039;t work either. the best i can manage is not being outright vitriolic
&lt;/p&gt;

&lt;p&gt;
i should be able to host my own blog where i can &lt;em&gt;write posts in a WYSIWYG editor,&lt;/em&gt; not in goddamn markdown, and where i can &lt;em&gt;drag images into the editor to upload and embed them.&lt;/em&gt; it&amp;#039;s pathetic that what we could do with frontpage in 1998 is no longer possible with any available tooling, and it&amp;#039;s because the only two parties that exist in the website creation space at this point are
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hypercorporation offering you a Web App designed to generate one of 8 possible sites, all based on massive and hideous templates intended to make your local plumbing company look like a fortune 500 with tons of parallax-effect static images and pull quotes and shit like that. each page load is 8-12 megs and takes over 40 seconds on gigabit internet and an i9&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Computer People who say “just use a static site generator. all you have to do is SSH into your server (you DO carry the same laptop with you everywhere, right?) and type up everything in markdown, then run a command to generate your site, then go load the site in a browser and drill down to the page you just created in order to find out what it looks like, then repeat that every single time you make a change. what do you mean you want to embed images? huh. sounds weird. well if you really want that, it&amp;#039;s easy: simply create thumbnails by hand in photoshop, give every image a unique filename by hand, manually upload them to your server, then write a chunk of line noise like: &lt;pre class=&quot;code&quot;&gt;(images/j2me_game_1_1.png)[!(images/thumbs/j2me_game_1_1.png)[screenshot of j2me game 1]]&lt;/pre&gt;

&lt;p&gt;
 “simply do this 24 times if you want 24 images. if you make a typo, you&amp;#039;ll find out when the image doesn&amp;#039;t load!”
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
yes i know some ssg&amp;#039;s try to smooth over parts of this. i don&amp;#039;t care, it&amp;#039;s not enough, i &lt;em&gt;fundamentally hate the way they work and it is a massive impedance to me getting anything done,&lt;/em&gt; no discussion, this is not up for debate. i just fucking want to see what i&amp;#039;m working on without a six step process, the way i could with frontpage or dreamweaver or microsoft expressions, &lt;em&gt;twenty five fucking years ago.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
now i&amp;#039;m not surprised that group #1 won&amp;#039;t help me out here; they obviously hate that i exist because i am not a profit center. i understand them completely, and i don&amp;#039;t despise them, they are simply my mortal enemies because they have to be.
&lt;/p&gt;

&lt;p&gt;
group #2 bugs me though, because they &lt;em&gt;should&lt;/em&gt; be on my side, or at least nod and go “oh yeah, i don&amp;#039;t have time to make that for you, but i get why you&amp;#039;d want it. good luck man.” instead they act like i shit in their soup when i don&amp;#039;t want to use fucking Jekyll, and idk why. i think i&amp;#039;m being pretty reasonable here, wanting a thing i could do when i was 13, which was 50 times faster than &lt;em&gt;any&lt;/em&gt; of this hacking-the-mainframe horseshit, to simply &lt;em&gt;continue being possible&lt;/em&gt;. but it isn&amp;#039;t, and i&amp;#039;ve given up, so it&amp;#039;s time to compromise.
&lt;/p&gt;

&lt;p&gt;
what i need is a page which i can open in any browser, on any computer i am sitting at, just by remembering the URL and a login. this used to exist, but i went through every single piece of blogging software, and - yeah, it&amp;#039;s over scoobs. ten years ago there were dozens of packages that were just, “here&amp;#039;s some php or python you can use instead of wordpress to make a site that works like blogger,” but they&amp;#039;re all dead.
&lt;/p&gt;

&lt;p&gt;
there are FOSS packages that come up if you google this, but of the ones that aren&amp;#039;t long-abandoned, they&amp;#039;re all… weird. like i can&amp;#039;t even remember names so i won&amp;#039;t name them, it&amp;#039;s too much effort, but very few actually SAY they&amp;#039;re for blogging, and of the ones that do, they all felt like they existed in opposition to &lt;em&gt;some other thing&lt;/em&gt;, just out of frame, with which i was unfamiliar. they also usually wanted to run on like cloudflare or S3 or something, instead of a normal server? useless to me.
&lt;/p&gt;

&lt;p&gt;
mostly though, i just… didn&amp;#039;t find any blogging software, at all. i found activitypub stuff (don&amp;#039;t talk to me about activitypub, i am not interested in anything social-media-shaped) and i found things for like, “note taking,” and various “wikis,” all of which claimed they could be beaten into blog shape, but they were all fiendishly complicated and obviously intended to fight me at every turn. yes, i COULD make blogs with these, but they did not WANT to be blogs, and the instructions for how to make them act like blogs were lengthy, convoluted, and felt like they all had the subtext “okay, you can do this, but why would you want to.” also, none of them &lt;em&gt;looked&lt;/em&gt; like blogs. they looked like work. every “webapp” looks like work now, and nobody is going to read my posts on a site that looks like a Sharepoint.
&lt;/p&gt;

&lt;p&gt;
the sole exception seemed to be some node.js thing called Ghost, which almost looked promising, but no matter what anyone tells you, installing a node.js app is no different than running an .exe in windows: it&amp;#039;s a completely uninspectable black box that simply expects a given environment and explodes if it doesn&amp;#039;t get it.
&lt;/p&gt;

&lt;p&gt;
on windows though, API support has been basically unbroken for over 30 years, so at worst you need to install a runtime that&amp;#039;s trivial to find, takes two minutes to install, and then simply works. node.js however is a fragile china doll with infinite dependencies, and i have never gotten it working in any environment without a lengthy struggle. usually it demands “libDickSmasher v2.0 or higher”, so i install libDickSmasher 2.1, and then it says i don&amp;#039;t have v2.0 or higher. &lt;em&gt;or,&lt;/em&gt; it tries to run and crashes, because they broke the API between minor revs 2.0 and 2.1. and downgrading to 2.0 isn&amp;#039;t possible because something else demands 2.1. etc etc etc
&lt;/p&gt;

&lt;p&gt;
in the case of my shared webhosting situation, it&amp;#039;s even better: i literally &lt;em&gt;cannot&lt;/em&gt; make this work because all the commands from the ghost documentation just make the interpreter dump a trace and exit with an inscrutable error about not being able to create a thread or some other gibberish like that. googling gets nothing except a suggestion that i have inadequate perms; who&amp;#039;s surprised, since node.js is an enormous tentacle monster that expects total control of the system it&amp;#039;s running on. fuck that.
&lt;/p&gt;

&lt;p&gt;
do not mention containers to me unless you&amp;#039;re wearing a cup. and &lt;em&gt;no, i do not want to run a VPS.&lt;/em&gt; my first website was on shared hosting in 2003, and you can&amp;#039;t tell me that 21 years later we have slid so far backwards that i now need to feed and care for apache myself just in order to have any presence on the web at all. that&amp;#039;s stupid, and it&amp;#039;s also just plain wrong.
&lt;/p&gt;

&lt;p&gt;
CGI still works, it has always worked, and it has always been the ideal way to make a website. sure, it doesn&amp;#039;t scale well to actual “apps”; that&amp;#039;s good, i hate “apps.” i have a website, and CGI is perfect for that. it allows just enough complexity to make it easy to update your site without any external tools, and to have things like automatic indexes and search. yes, if you overreach you end up with wordpress - so don&amp;#039;t do that, and you&amp;#039;ll be fine.
&lt;/p&gt;

&lt;p&gt;
there are CGI websites, and in particular &lt;em&gt;PHP&lt;/em&gt; websites, which have been continuously functioning since i was twelve years old. i am not too good for this. in fact, it&amp;#039;s all i can really handle.
&lt;/p&gt;

&lt;p&gt;
everything more ambitious than a PHP script requires you to have a PhD from fucking NASA and breaks if you don&amp;#039;t &lt;em&gt;constantly&lt;/em&gt; feed and care for it. all the node.js Apps &lt;em&gt;and&lt;/em&gt; virtually all the SSGs are so complex that your only options are to either treat them as total black boxes, or adjust your brains entire neural geometry to understand their particular ecosystem, and i just don&amp;#039;t have the brainspace for it. the beauty of CGI apps is that i can understand them well enough to hack in the features i need without comprehending how the whole enchilada is assembled - and more importantly, eight months from now when i need to fix something, but i&amp;#039;ve completely forgotten everything i&amp;#039;d learned, i can relearn it all in a couple hours, because it&amp;#039;s not a massive App built on Frameworks with Models and Views and all this other incomprehensible dogshit that people only use because they want to be able to Scale to Enterprise Workloads.
&lt;/p&gt;

&lt;p&gt;
i am sick of being told i should care about Enterprise Workloads. i am sick of everyone telling me that i should use their tool because it “scales.” i am not a corporation, i am not interested in getting millions of pairs of eyes on my website, i just want to put text &lt;em&gt;and images&lt;/em&gt; on a page without having to assemble and operate a whole Toolchain. when did we give up on the idea that computers should make things easier? when did everyone decide that “1987 greentext unix machine” was the pinnacle of computing? i don&amp;#039;t know, but i refuse to accept it.
&lt;/p&gt;

&lt;p&gt;
so here i am. back in 2008, when things worked. back on dokuwiki. sigh. this goddamn thing. i&amp;#039;ll write more about it in another post
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:making_a_website_is_hard#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-19T19:48:15+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>found an unnamed txt on my desktop where i apparently wrote this</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
i&amp;#039;m always thinking about the concept of a “clone” in videogame discussions, partly because i&amp;#039;ve been walking around for about a decade thinking about the claim that there was a “flood of doom clones” after 1993, a phenomenon that, as far as i can tell, simply did not occur.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
the concept of a game “clone” used to be incredibly literal. after pong came out, a hundred companies simply &lt;em&gt;made pong, but not called pong,&lt;/em&gt; and sold their counterfeits not under the table, but openly, with huge advertising campaigns and the whole bit. this repeated for decades, and unsurprisingly created &lt;em&gt;vast&lt;/em&gt; amounts of IP law in its trail.
&lt;/p&gt;

&lt;p&gt;
in some cases, a company like atari would succeed in a lawsuit which established towering new concepts about copyright, then later sue someone else and inadvertently establish &lt;em&gt;more&lt;/em&gt; precedent which demolished the one they&amp;#039;d just set. ken williams of sierra once won a suit vs atari, and then &lt;em&gt;on the courthouse steps&lt;/em&gt; told reporters that &lt;a href=&quot;https://www.cgwmuseum.org/galleries/issues/softline_1.3.pdf#page=23&quot; class=&quot;urlextern&quot; title=&quot;https://www.cgwmuseum.org/galleries/issues/softline_1.3.pdf#page=23&quot; rel=&quot;ugc nofollow&quot;&gt;he wasn&amp;#039;t sure he actually agreed with the judgment&lt;/a&gt; and what it meant about his career and industry. the judgment &lt;em&gt;in his favor&lt;/em&gt;, rendering a verdict &lt;em&gt;he requested,&lt;/em&gt; i must stress.
&lt;/p&gt;

&lt;p&gt;
there was also the capcom / data east lawsuit, over a decade later, which established that data east was absolutely permitted to create a near-perfect clone of street fighter, because street fighter &lt;em&gt;itself&lt;/em&gt; was largely just a series of riffs on cultural tropes. you can read up on that one, it even has a wiki page, and the judgment was juicy and flavorful.
&lt;/p&gt;

&lt;p&gt;
but these were exceptions; clones were overwhelmingly accepted, legal and commonplace behavior through at least the late 80s, and every single successful game got cloned quickly and often crudely. everyone agrees that Power Blade is “a megaman.” so when doom came along, pundits simply assumed it would be massively duplicated, to the point that they didn&amp;#039;t really bother checking if that was actually, you know, happening.
&lt;/p&gt;

&lt;p&gt;
you can look into it yourself and draw your own conclusions, but i assert this very strongly: while doom was probably important to the development of the First Person Shooter, it did not actually define a pattern that much else used. if you check the fossil record you will find that &lt;em&gt;very few&lt;/em&gt; nearly-identical games were released in doom&amp;#039;s wake, and this differs &lt;em&gt;substantially&lt;/em&gt; from many other genre-defining works. Jazz Jackrabbit would not exist if CliffyB hadn&amp;#039;t been trying to make “sonic, but for the PC,” and the NES had a half-dozen games that were nearly pixel-perfect copies of Zelda, but it&amp;#039;s &lt;em&gt;really hard&lt;/em&gt; to find a game that looks or plays like Doom.
&lt;/p&gt;

&lt;p&gt;
heretic/hexen/strife don&amp;#039;t count - not only do they deviate enormously from the original work, they were based on the same engine. i don&amp;#039;t think you can call something a clone when it&amp;#039;s a legitimately licensed derivative of the exact same code made in partnership with the creators.
&lt;/p&gt;

&lt;p&gt;
duke nukem 3d could be the most notable “doomlike,” except that it isn&amp;#039;t really remotely doom-like. it&amp;#039;s hard to identify &lt;em&gt;anything&lt;/em&gt; it does that&amp;#039;s directly lifted from doom; they figured out that weapons shouldn&amp;#039;t be in the center before id did, they added a massive vertical component to the gameplay, non-abstract maps, huge moving mechanisms and complex puzzles - all kinds of extremely novel things that frankly don&amp;#039;t get enough retrospective attention imo.
&lt;/p&gt;

&lt;p&gt;
you can&amp;#039;t call DN3D a clone unless you think that “first person game” or “game with guns” are ideas that wouldn&amp;#039;t have been invented without id, which is patently absurd. both ideas existed and were being exploited from multiple angles, the self-suggesting combination of the two was going to have certain obvious and unavoidable properties, and the only reason doom seemed relevant to the conversation is because it was first. that in turn was incidental: 1993 was &lt;em&gt;the point when computers became barely powerful enough to start making this kind of game,&lt;/em&gt; and doom did it first solely because id happened to have a programmer on staff who was talented enough to squeeze a 3D engine into the capabilities of the 486.
&lt;/p&gt;

&lt;p&gt;
it&amp;#039;s not like “texture mapped first person 3d” was a remarkable idea nobody had had before; &lt;em&gt;everyone&lt;/em&gt; had had it in fact, since it was simply the natural progression of the nascent “VR” concept, which had been an object of obsession since the &lt;em&gt;70s&lt;/em&gt;. most devs simply didn&amp;#039;t know how to &lt;em&gt;execute&lt;/em&gt; on it, and since A) the PC meta in 1994 and 1995 was still overwhelmingly low-end 486s or worse, and B) doom was closed-source, its release changed nothing. i&amp;#039;m sure that lots of studios WANTED to clone doom, and there absolutely would have been a “flood of doom clones” if that had been &lt;em&gt;possible&lt;/em&gt;, but even two years later it was still incredibly hard to make something doom-like that would run acceptably on the PCs most people had.
&lt;/p&gt;

&lt;p&gt;
and thus, what mostly got released in doom&amp;#039;s wake were not &lt;em&gt;doom&lt;/em&gt; clones, but &lt;em&gt;wolfenstein&lt;/em&gt; clones - massively technically inferior and not really featuring remotely similar gameplay, but far more achievable to devs who didn&amp;#039;t know how to figure out what carmack had figured out. and even then, &lt;em&gt;once again,&lt;/em&gt; the most successful ones (e.g. rise of the triad, blake stone) were literally licensed off the wolf3d engine itself, dulling the impact of the term “clone” and its implication of illegitimacy. so there was really virtually nothing that looked like doom - but by the time this was apparent, the industry had new business to move onto, and nobody bothered readdressing it.
&lt;/p&gt;

&lt;p&gt;
the game that &lt;em&gt;actually&lt;/em&gt; got cloned to hell and back was quake ii. by the time it came out computers were far faster and it was straightforward to make something on-par without needing to invent new science; you could simply plot polygons onto the screen in the most obvious way and it would work on most midrange-or-better computers. then 3D acceleration came along and shifted the challenge away from technical execution and onto design, e.g. making a game that was actually &lt;em&gt;fun&lt;/em&gt;. this obviously left quake ii in the dust, and few people bothered commenting on it&amp;#039;s &lt;em&gt;genuine&lt;/em&gt; relevance to the development of the genre.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
all this came to mind because i was watching jeff gerstmann play balloon fight, and he opened by asserting that it was a joust clone. i can&amp;#039;t argue with this, it&amp;#039;s definitely a joust clone… but who has ever said that before? how many “joust clones” exist? is it more than one? how many &lt;em&gt;need&lt;/em&gt; to exist before we&amp;#039;d stop saying “clone” and just let it be a “genre”? and for that matter, do we apply this idea to any other artform?
&lt;/p&gt;

&lt;p&gt;
in a sense, sure - movie reviews have always been willing to say something is “like a mix between [movie a] and [movie b],” and apparently Bush got accused of being “Nirvana clones,” but it&amp;#039;s not really something that looms over a band or a film forever, unless they, you know, suck.
&lt;/p&gt;

&lt;p&gt;
in the videogame field however, we&amp;#039;re willing to point at a title and say, “this invented a new kind of gameplay, and now everything with similar mechanics will stand in its shadow, with an asterisk next to their names, unless they cross some unspecified and unknowable threshold. So Say We.”
&lt;/p&gt;

&lt;p&gt;
nobody called Symphony of the Night a &lt;em&gt;Mario Clone&lt;/em&gt;, but that is in large part just a matter of time, isn&amp;#039;t it? it seems like there&amp;#039;s no quantity of altered or superseded mechanics that &lt;em&gt;quantifiably&lt;/em&gt; lifts the velvet rope and allows a game to pass into the hall of Original Works, and i feel like we just don&amp;#039;t apply that level of conceptual exclusivity to much else. much to think about
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:mario_dot_jpeg#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:poem">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-27T22:33:28+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>poem</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:poem</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Apoem&amp;amp;media=blog:9a16a571a826a477607cdf08c5677728.png&quot; class=&quot;media&quot; title=&quot;blog:9a16a571a826a477607cdf08c5677728.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:9a16a571a826a477607cdf08c5677728.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://ia802208.us.archive.org/view_archive.php?archive=/14/items/windows-nt-3.5/Bootdisks (Server).rar&quot; class=&quot;urlextern&quot; title=&quot;https://ia802208.us.archive.org/view_archive.php?archive=/14/items/windows-nt-3.5/Bootdisks (Server).rar&quot; rel=&quot;ugc nofollow&quot;&gt;source&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:poem#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:silly_shit_i_had_to_do_with_git_submodules">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-10T20:40:02+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>silly shit i had to do with git submodules</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:silly_shit_i_had_to_do_with_git_submodules</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
it is not generally in my nature to spend any length of time talking about git or github or anything related to programming but i did find myself in a situation a couple days ago that was not easy to google, so here&amp;#039;s what i figured out.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
in case you end up in the &lt;em&gt;specific&lt;/em&gt; situation i was in:
&lt;/p&gt;

&lt;p&gt;
i was having some graphical issues with a game on linux and people suggested i use gamescope. i had never heard of this; it is apparently part of steamos, the linux distro for the Steam Deck, and is one of the elements of the special sauce that makes gaming more consistent compared to your typical desktop linux.
&lt;/p&gt;

&lt;p&gt;
in short, it&amp;#039;s a nested X server. you launch it with e.g. a 1280×800 resolution, it attaches to e.g. desktop :1, then you export :1 as your X server and run a game. the game connects to gamescope and sees what appears to be a 1280×800 desktop, but instead of taking over your real display, the output appears in a window you can drag around. i think you can also fullscreen it without the games knowledge or involvement, among many other things; it&amp;#039;s neat, and it papers over some problems.
&lt;/p&gt;

&lt;p&gt;
unfortunately it has had &lt;a href=&quot;https://github.com/ValveSoftware/gamescope/issues/1218&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ValveSoftware/gamescope/issues/1218&quot; rel=&quot;ugc nofollow&quot;&gt;a bug&lt;/a&gt; for several months, starting in 3.14.2, which causes it to shit the bed on startup if you&amp;#039;re running any GPU that doesn&amp;#039;t support a thing called “modifiers.” i think this primarily affects older AMD and intel GPUs, which is what I was using, and unfortunately every OS repo is serving up a broken version at the moment because the patch took a long time to make it into production. such is life
&lt;/p&gt;

&lt;p&gt;
i could not find a .deb of any version newer than like 2021, so i had to compile from an older revision. &lt;a href=&quot;https://forums.linuxmint.com/viewtopic.php?t=426482&quot; class=&quot;urlextern&quot; title=&quot;https://forums.linuxmint.com/viewtopic.php?t=426482&quot; rel=&quot;ugc nofollow&quot;&gt;here&amp;#039;s the forum thread&lt;/a&gt; i followed. be aware that the dependencies it asks you to install will not integrate with current versions of Mint (at least) and solving that is an exercise for the reader. i ended up having to purge &lt;em&gt;every single i386 package related to wayland&lt;/em&gt; and probably broke a ton of stuff so… just wait for the repos to be updated, tbh, don&amp;#039;t do this. &lt;em&gt;but if you do anyway, &lt;/em&gt;i have some tips
&lt;/p&gt;

&lt;p&gt;
googling this is nearly impossible because everyone assumes you know &lt;em&gt;mostly&lt;/em&gt; what you&amp;#039;re doing in git; i do not, so it was not obvious how to use the instructions i was being given. i had two problems:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; how to retrieve a copy of a Github project &lt;em&gt;as it was at a specific point in time&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; how to retrieve all the dependencies, or “submodules” (a concept i had never encountered before) &lt;em&gt;in the form they had at that same point in time&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
the first one is easy: you just find the revision you want in Releases or Tags and download the zip. but if it uses submodules (a git technique for pulling in other code libraries without actually merging them together) then it&amp;#039;s a pain in the ass to find all the associated modules. i guess in retrospect i probably could have used some of the steps i describe below to go back and get all the submodules as zips and extract them to appropriate places manually but, well, i didn&amp;#039;t think to do that, and this might actually be easier, idk? there&amp;#039;s also theoretically easier ways to do this but idk what they are so &lt;strong&gt;here&amp;#039;s one way that worked for me&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h1 id=&quot;okay_actually_i_have_a_better_way_now&quot;&gt;okay actually i have a better way now&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
as i expected, i immediately received a comment (thanks nic!!) explaining how to do this MUCH more concisely. simply perform:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
git clone –recursive -b 3.14.1
&lt;/pre&gt;

&lt;p&gt;
this is what i WANTED to do in the first place, but i didn&amp;#039;t know that you could use tag names as input here. some parts of git accept tags/releases (apparently they&amp;#039;re the same thing), branches, &lt;em&gt;and&lt;/em&gt;  SHAs; this command apparently only accepts tags/releases and branches. sigh. so yeah, do it this way and you&amp;#039;ll get the whole ball of wax in one go.
&lt;/p&gt;

&lt;p&gt;
also the version number here is not actually a version number, it&amp;#039;s just a freeform text field, so you&amp;#039;ll have to find the revision you&amp;#039;re interested in in the git tag or release section, then copy the exact name you see there. just look in my screenshot below; see where it says “3.14.1”? copy whatever you see there instead and it should work.
&lt;/p&gt;

&lt;/div&gt;

&lt;h1 id=&quot;here_s_the_way_i_did_it_that_you_don_t_need_to_do&quot;&gt;here&amp;#039;s the way i did it that you don&amp;#039;t need to do&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h2 id=&quot;step_1find_the_revision_you_need&quot;&gt;Step 1: Find the revision you need&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
we assume you have been told that e.g. “version 3.14.1 does not have this problem.” go to the Releases page in github and find that version. if there are no releases, look under Tags; I don&amp;#039;t really understand the difference but w/e.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Asilly_shit_i_had_to_do_with_git_submodules&amp;amp;media=blog:f86b9c4780d048056f57433db548de00.png&quot; class=&quot;media&quot; title=&quot;blog:f86b9c4780d048056f57433db548de00.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=195&amp;amp;tok=7f8e39&amp;amp;media=blog:f86b9c4780d048056f57433db548de00.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;195&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
see that string of gibberish under the 3.14.1 link, “&lt;strong&gt;f1cdbd1&lt;/strong&gt;”? make a note of that, then click it.
&lt;/p&gt;

&lt;p&gt;
many git tutorials refer to “the SHA” or “the hash.” this is a very long string of gibberish representing a “commit”, meaning a specific point in the history of the project. you can see it in your address bar now, after the last slash.
&lt;/p&gt;

&lt;p&gt;
apparently you can refer to any commit by the first seven characters of its hash. i don&amp;#039;t know how they avoid collisions but whatever: &lt;strong&gt;f1cdbd1 is the name for this version of the code. write that down.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;step_2find_the_revisions_for_each_submodule&quot;&gt;Step 2: Find the revisions for each submodule&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
in the upper right there&amp;#039;s a &lt;strong&gt;Browse files&lt;/strong&gt;  button. click that and you&amp;#039;ll be taken to a view of the whole repository as it existed when this code was committed.
&lt;/p&gt;

&lt;p&gt;
valve used a “subprojects” folder to store their submodule links. i&amp;#039;m sure not all projects use this convention; i think any directory can be a link to a submodule. you&amp;#039;ll know them because they have folder-with-arrow icons, they&amp;#039;re blue, and the links include SHA hashes:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Asilly_shit_i_had_to_do_with_git_submodules&amp;amp;media=blog:d53f1fa9fc3ea958cee7a1283037f0a9.png&quot; class=&quot;media&quot; title=&quot;blog:d53f1fa9fc3ea958cee7a1283037f0a9.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=308&amp;amp;tok=b489ec&amp;amp;media=blog:d53f1fa9fc3ea958cee7a1283037f0a9.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;308&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
find everything that looks like that and copy it to a notepad.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;step_3clone_the_project_and_submodules&quot;&gt;step 3: clone the project and submodules&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
we assume you have git installed and it&amp;#039;s in your PATH because every single compiling tutorial on earth describes how to do that.
&lt;/p&gt;

&lt;p&gt;
from a shell, type: &lt;strong&gt;git clone https://github.com/ValveSoftware/gamescope&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
you now have a copy of the main code repo in its current form. enter the dir: &lt;strong&gt;cd gamescope&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
to revert it to the commit you want: &lt;strong&gt;git checkout &lt;/strong&gt;&lt;strong&gt;f1cdbd1&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
now grab all the submodules: &lt;strong&gt;git submodule update –init&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
you now have copies of all the submodules, but they aren&amp;#039;t the right versions. you need to cd into each submodule directory and checkout the right version, e.g.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;cd subprojects/openvr &lt;br/&gt;
git checkout 15f0838&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
repeat for each directory, using the SHAs you got from github for each module. when you&amp;#039;re done, you should have the correct versions of everything. follow whatever forum post or wiki page you can find for instructions on compiling that specific project, gl;hf
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;conclusion&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
i am absolutely not a git expert, this is just one method that worked for me. there is probably an easier way. in particular, a lot of this would be unnecessary if we only wanted to get &lt;em&gt;the current code and all current versions of submodules;&lt;/em&gt;  for that you can supposedly just do &lt;strong&gt;git clone –recurse-submodules [url]&lt;/strong&gt;, but as far as I can tell this cannot be used along with a SHA, it will only grab the latest version of everything.
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:silly_shit_i_had_to_do_with_git_submodules#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:so_i_ve_been_playing_j2me_games">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-21T18:59:17+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>so i&#039;ve been playing j2me games</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:so_i_ve_been_playing_j2me_games</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
for 20 years I&amp;#039;ve regarded “phone games” as absolute dog shit, unworthy of even a second glance. i have recently discovered that this only applies to &lt;em&gt;smartphone &lt;/em&gt;games - despite “resident evil for flip phones” being a &lt;em&gt;cosmically &lt;/em&gt;hilarious phrase, it&amp;#039;s actually a well worth drinking at and i recommend you “get into it.”
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-210452.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-210452.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-210452.png&quot; class=&quot;mediaright&quot; align=&quot;right&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;ve never seen a good smartphone game. &lt;em&gt;yes, including that one.&lt;/em&gt; this is because you cannot make a good videogame on a device without buttons, yes, i&amp;#039;m including non-action titles. the only smartphone game i&amp;#039;ve ever seen that someone both &lt;em&gt;gave a shit about&lt;/em&gt; and also &lt;em&gt;was not ruined by the platform&amp;#039;s limitations&lt;/em&gt; was monument valley and that was like 14 years ago. i think since the platform&amp;#039;s limitations are as incomprehensibly vast as the stacks of cash you can make by doing fraud, everyone who actually gave a shit abandoned mobile in disgust like two years after the first smartphone app store appeared, leaving only a handful of indies making VNs that you can&amp;#039;t find unless someone links you to them. not like that would be different on any other platform
&lt;/p&gt;

&lt;p&gt;
anyway: touchscreens are &lt;em&gt;so bad&lt;/em&gt; that all you have to do is look at a platform that is &lt;em&gt;worse in every imaginable way &lt;em class=&quot;u&quot;&gt;except&lt;/em&gt; that it has buttons &lt;/em&gt;to see what a difference they make. the difference is staggering, you just suddenly see an explosion of interesting and novel ideas,&lt;em&gt; &lt;em class=&quot;u&quot;&gt;even if said buttons are staggeringly miserable to use&lt;/em&gt;&lt;/em&gt;. i am speaking of course of Java 2 Mobile Edition, AKA J2ME, AKA The Games What Cames Before Smartphones
&lt;/p&gt;

&lt;p&gt;
every flip phone (and candybar, and some sliders, but we&amp;#039;ll say “flip phone” for brevity, and because it&amp;#039;s funny) made after like 1997 had games, but the early ones were just snake and pong. i think starting in like 2002, if you bought a phone it&amp;#039;d come with like some horrible non trademark infringing tetris or match three title or whatever, but it was custom written not just for that &lt;em&gt;phone&lt;/em&gt; but also that &lt;em&gt;carrier. &lt;/em&gt;maybe your carrier offered a horrible little &lt;em&gt;carrier specific &lt;/em&gt;app store buried 3 layers deep into the menu where you could buy three additional games called like Platinum Bowling, Texas Slots, and MI:3. the latter would mostly just be static ads for the movie, and they&amp;#039;d never add any new titles, because what developer would even accept money to develop for a platform so intrinsically dead on arrival
&lt;/p&gt;

&lt;p&gt;
i have no idea when J2ME got introduced but it basically changed all of this. being java-based, it didn&amp;#039;t matter what architecture or OS the phone ran, and in order to ship J2ME support, vendors had to deliver specific features, defined through profiles called MIDP and CLDC, which specced shit up to and including a complete playstation-grade 3D engine. as far as I can tell, this changed the phone software ecosystem immediately, since it was now possible for a developer to ship a game that could run on an enormous variety of devices with minimal changes.
&lt;/p&gt;

&lt;p&gt;
it didn&amp;#039;t solve every problem, of course. for some reason, all software seems to run at hardcoded resolutions, and since flip phones came in almost as many screen sizes as smartphones, &lt;em&gt;including&lt;/em&gt; some with permanent landscape-orientation displays (samsung blackjack, etc.,) developers had to produce up to a couple dozen versions of each title - but I get the strong feeling that most of these conversions consisted of changing a few constants and calling it a day, and hey, it sure beats rewriting your whole game to another architecture, OS, and capability matrix 20 or 50 or 200 times over.
&lt;/p&gt;

&lt;p&gt;
i always assumed that J2ME improved the software situation &lt;em&gt;on paper&lt;/em&gt;, but i&amp;#039;d never really looked into it, because i assumed all the games were bottom tier garbage, shit out by clock-punching studios and not even reviewed by publishers, who simply wanted titles to stuff their app stores and didn&amp;#039;t care what was actually in them. however, after watching a DNOpls stream a few days ago I became energized to finally investigate this properly.
&lt;/p&gt;

&lt;p&gt;
i had actually initiated this like 2 years ago: I downloaded a massive collection of JARs (yes, J2ME games all come as JARs, it&amp;#039;s hilarious) scrubbed from a bunch of well known russian pirate websites; for some reason non-smartphones were &lt;em&gt;and still are &lt;/em&gt;massively popular in russia, specifically.
&lt;/p&gt;

&lt;p&gt;
i was all prepared to dig into this, but i made a huge mistake: the first thing I did was scrape out every duke nukem game in the collection and play them all on a stream, and as one would expect (duke nukem being a &lt;em&gt;comically&lt;/em&gt; dead and mismanaged brand by the time this platform existed) they were literally &lt;em&gt;the worst games i&amp;#039;d ever played&lt;/em&gt;, barely qualifying as functioning interactive entertainment. in my defense, this didn&amp;#039;t quite &lt;em&gt;sour &lt;/em&gt;me on the platform, but it did make me pretty nervous about putting more time into it, so I set it aside.
&lt;/p&gt;

&lt;p&gt;
then I watched DNO play like 6 resident evils, and like &lt;em&gt;four of them &lt;/em&gt;were objectively fucking excellent, so i got my shit together, went back to the well, and started loading up Flip Phone Games.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;holy shit.&lt;/em&gt; i was not ready for the depth, complexity, and in some cases &lt;em&gt;love&lt;/em&gt; that I found in these. maybe i&amp;#039;m just burned by the modern state of casual / mobile gaming, where literally everything feels like a cynical cashgrab, but so many of these &lt;em&gt;radiate&lt;/em&gt; care. i have always thought of “flip phone game” as a genre synonymous with born-abandonware, created by studios you&amp;#039;ve never heard of, whose entire career consists of taking pittances from movie studios to make tie-in sludge. there&amp;#039;s truth to this, certainly, but i really expected a &lt;em&gt;far&lt;/em&gt; lower standard of quality than I found &lt;em&gt;even in the licensed titles&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
to give you an idea: the first thing I did (as per habit when scrubbing a Big Pile Of ROMs) was to make a “cool” folder, for games I thought were cool. further taxonomical distinctions are impossible, but anyone can say whether a game is “cool” or not. I loaded up twelve games at random, and when I was done with those I had twelve files in the “cool” folder. i kept expecting to load up something bad, and it kept not happening.
&lt;/p&gt;

&lt;p&gt;
the games were:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Shrek The Third: The Official Mobile Game&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Devils And Demons&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The Club&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jimmy Whites: Snooker Legend&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Frogger: Beats &amp;#039;n Bounces&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dewy&amp;#039;s Adventure&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The Dark Knight&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Castlevania 2: Dawn Of Sorrow&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The Simpsons Arcade Game&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SimCity Deluxe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alpha Zone 3D&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Medal Of Honor: Airborne 3D&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
for this to scan you have to understand my criteria. in the same way that i treat games on the zed ex spectrum as “wow, this would be great if you were a bored british teen in 1984 with three quid to your name,” the nature of a good flip phone game is the same as a good smartphone game: it&amp;#039;s something to do while you&amp;#039;re waiting for a bus. each of these games would be great to play while waiting for a bus, and if you have any doubts, just remember: none of these cost more than $5, and most cost less, in an era before anyone had ever heard of the idea of selling a game for $1 or $0. alright i&amp;#039;m going to review them now
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;shrek_the_thirdthe_official_mobile_game&quot;&gt;Shrek The Third: The Official Mobile Game&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232835.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232835.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232835.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232841.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232841.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232841.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232846.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232846.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232846.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
obviously this one&amp;#039;s aimed at kids, but the nature of a game you can play while waiting for the bus pretty much smooths over any problems that might present - and besides, if you&amp;#039;re interested in a &lt;em&gt;shrek game&lt;/em&gt;, you probably are not expecting &lt;em&gt;Outer Wilds&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
this game is a basic platformer with a very small viewport and a very large shrek, presumably for both child and marketing reasons, meaning that everything looks huge and the stages are very simple. you walk forward, jump on platforms, do ground-pounds to break blocks and kill enemies, perform donkey-kong-country power rolls, and you punch dudes. “dumbed down DKC” is probably a good descriptor of the gameplay tbh. at one point, I ground-pound some blocks, plunge into a underground stream with a strong current, and get swept through some bonus items before swimming up through some water with barrel platforms floating in it that i otherwise might have just jumped over, assuming it to be death-water. this is literally a thing that would happen in DKC.
&lt;/p&gt;

&lt;p&gt;
the game runs at a low framerate: 12fps. this is exactly what i expected from all flip phone games, and probably what you did too. on its face it makes you want to write off the whole ecosystem, but consider two important points: 1) an &lt;em&gt;enormous&lt;/em&gt; number of games are faster than this, running at 30 or in some cases &lt;em&gt;60&lt;/em&gt; fps, and 2) the gameplay feels so solid that you&amp;#039;ll be surprised when you learn the framerate is that low, because it doesn&amp;#039;t feel like it.
&lt;/p&gt;

&lt;p&gt;
the basic motion and jumping physics feel absolutely spot-on perfect. when you see that an action game is on a flip phone you expect it to be janky, but it feels like any other meat-and-potatoes platformer from the late 16-bit era, which is &lt;em&gt;basically&lt;/em&gt; how one can describe the majority of J2ME games that I&amp;#039;ve tried so far: generally they are visually, mechanically, and conceptually on-par with midmarket GBA titles. i played three or four levels, and i don&amp;#039;t know how long the whole game is, but it&amp;#039;s definitely a good way to kill some time while waiting for a bus.
&lt;/p&gt;

&lt;p&gt;
now, the constant tutorial messages from donkey do definitely give it a child-oriented feel, but this is actually a universal quality of the platform, and now that i&amp;#039;ve described one example game, we should talk about the elephant in the room: input.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;detourthe_input_situation&quot;&gt;Detour: The Input Situation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-205456.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-205456.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-205456.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
let&amp;#039;s remind ourselves how flip phones are laid out. you have the dialpad, two Soft Keys which do whatever action is listed above them on the screen, and then a four-direction D-pad with a center button. there are often many other buttons, but none are universal, and are thus out of scope because no game will ever use them.
&lt;/p&gt;

&lt;p&gt;
none of these things is a clearly defined &lt;em&gt;&lt;strong&gt;&lt;a href=&quot;https://www.actionbutton.net/&quot; class=&quot;urlextern&quot; title=&quot;https://www.actionbutton.net/&quot; rel=&quot;ugc nofollow&quot;&gt;Action Button&lt;/a&gt;, &lt;/strong&gt;&lt;/em&gt;and this puts J2ME games in an interesting position in terms of capability vs. discoverability. they have a &lt;em&gt;load&lt;/em&gt; of buttons - more than the goddamn &lt;em&gt;Intellivision, &lt;/em&gt;to put it in perspective - but none of them seem like the obvious thing to press to accomplish any given task, except, of course, the D-pad and it&amp;#039;s center button. gleaming, unlabeled, clearly-context-sensitive, and clearly-central, the player will be drawn to it instantly, but it is not really the focus it appears to be.
&lt;/p&gt;

&lt;p&gt;
it &lt;em&gt;is&lt;/em&gt; the case that most games use the D-pad to control movement, and if you play them in an emulator, this will seem obvious and surprisingly practical, but there are several problems. one is that on real phones, the pad is an incredibly tiny and compromised little thing, intended for stumbling through menus for a few seconds, not performing Pulse Pounding Action. the other is that a game&amp;#039;s complexity is &lt;em&gt;heavily&lt;/em&gt; constrained by how many buttons are available on the controller, and this one is literally equivalent to the joystick from the &lt;em&gt;atari fucking 2600&lt;/em&gt;, an input device so wretched &lt;em&gt;and so goddamn pervasive&lt;/em&gt; that it&amp;#039;s actually astonishing home videogames survived the 80s instead of being written off as a failed experiment three years in. oh wait. that nearly happened. hm. i wonder wh
&lt;/p&gt;

&lt;p&gt;
to put it simply: the single-button joystick is an abomination, the bare minimum number of Action Buttons a player should have is two, and i will die on this hill. making a game work with only one action button is miserable, and much of the time it is impossible; limiting the player to &lt;em&gt;an &lt;/em&gt;button means limiting the game to something much less than it deserves to be.
&lt;/p&gt;

&lt;p&gt;
it is also, incidentally, why smartphones are so bad for action games in particular: you can &lt;em&gt;maybe&lt;/em&gt; get the player&amp;#039;s muscle memory to work a virtual joystick with one hand and a single button with the other, but reliably hitting two or more completely-untactile virtual buttons requires a level of surgical proprioception that most people are incapable of. as a result, smartphone games are divided sharply between early-DS type shit where you&amp;#039;re touching all over the screen, and games that simulate gamepad-type inputs - and the latter is divided &lt;em&gt;again &lt;/em&gt;into “games with a bunch of buttons you cannot hit reliably, so the game sucks” and “games with one big action button to make you feel like you&amp;#039;re doing something, but most character actions are triggered automatically.”
&lt;/p&gt;

&lt;p&gt;
hell, for the longest time all the smartphone hits were infinite runners, because devs just threw up their hands and said “fuck it, whole screen is button,” resulting in stuff like &lt;em&gt;Jetpack Joyride, &lt;/em&gt;a tragedy in motion that is at all times visibly &lt;em&gt;straining&lt;/em&gt; against the limitations of an input scheme so heavily compromised that it makes &lt;em&gt;the fucking Atari joystick &lt;/em&gt;look luxurious
&lt;/p&gt;

&lt;p&gt;
sorry, didn&amp;#039;t mean to go into a fugue state there. moving on
&lt;/p&gt;

&lt;p&gt;
after just one day of playing flip phone games in an emulator and coming away &lt;em&gt;astonished&lt;/em&gt; by the depth of the games themselves, i knew i needed to pump the brakes before i got too many incorrect ideas in my head about what this experience was actually like. i therefore took a trip to the local used electronics hole and spent four hours digging through boxes of miserable, sticky, largely-verizon-based telephones; RIP. (the sticky washes off but i worry that the verizon is now inside me forever. i may need to get chelated.)
&lt;/p&gt;

&lt;p&gt;
i returned home with a 2004 Motorola Razr V3 (comically: the &lt;em&gt;first &lt;/em&gt;version of that phone) and a 2007 Ericsson Z750a, and immediately confirmed my suspicions: the games I&amp;#039;d straight up &lt;em&gt;enjoyed&lt;/em&gt; playing with a keyboard were now considerably more clumsy, and in some cases had become &lt;em&gt;effort-sinks.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
the problem, as far as pure-action games go, is that the D-pad is not like the one on a real gamepad. it is not engineered to allow you to press multiple directions at once, and it&amp;#039;s nearly impossible to press the center button and a direction at the same time, so even the most basic “mario run, mario jump” cannot be achieved reliably and comfortably. it&amp;#039;s also really, really small, like shockingly small. but you know what input is &lt;em&gt;much&lt;/em&gt; bigger, easier to hit, and right nearby? &lt;em&gt;the&lt;/em&gt; &lt;em&gt;dialpad&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
now don&amp;#039;t get it twisted: while the 2, 4, 6 and 8 keys form a set of cardinal directions that are &lt;em&gt;much&lt;/em&gt; easier to hit reliably, they still aren&amp;#039;t laid out in a way that makes multi-direction inputs or quick changes practical. you cannot lay your thumb across the dialpad in a way that lets you simply &lt;em&gt;rock&lt;/em&gt; in whatever direction you like, as you can on a real gamepad, so fast action is still a huge pain in the ass. it&amp;#039;s &lt;em&gt;amazing&lt;/em&gt; how far away an inch seems when you&amp;#039;re trying to backdash away from an enemy in Castlevania, but honestly it&amp;#039;s annoying even in a turn-based game. in short, &lt;em&gt;playing games on this universally blows and nothing can change that.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
but the dialpad does offer one consolation prize: diagonals. the 1, 3, 7 and 9 form non-cardinals on the compass rose, and in virtually every game you can press those in place of the two corresponding directions. anyone who&amp;#039;s played games on the early PC (81-85) or 1980s japanese home computers, none of which had dedicated arrow keys, will be familiar with this method: to walk right, you press 6. to &lt;em&gt;jump to the right&lt;/em&gt;, you press 9. this is a genuinely good approach on a PC keyboard - right hand on numpad, left on space/ctrl/etc is honestly pretty nice. on a flip phone, it&amp;#039;s not &lt;em&gt;quite&lt;/em&gt; that nice, because you still need to get your other hand on an action button, and that&amp;#039;s always hard.
&lt;/p&gt;

&lt;p&gt;
while the center key on the D-pad is usually the default action button, almost all games duplicate its function on the 5 key, center to the dialpad. this is again easier to hit - but you can&amp;#039;t reach it if you&amp;#039;re using the numpad to move, since your thumb will be in the way, so you&amp;#039;ll usually have to use the D-pad button anyway. sometimes though, it goes the opposite way, moving on the D-pad and attacking with the dialpad; keeping this straight in your head can feel like running a three legged race. worse, some games &lt;em&gt;don&amp;#039;t&lt;/em&gt; have identical functions for the numpad and d-pad; sometimes you &lt;em&gt;have to&lt;/em&gt; hit 5, which forces you to find some nigh-painful &lt;em&gt;Claw Grip&lt;/em&gt; technique to make the game playable.
&lt;/p&gt;

&lt;p&gt;
so in other words, the flip phone UI is so awkward that there are &lt;em&gt;two completely separate options&lt;/em&gt; just for the most basic player movement, neither one is really satisfactory, and both approaches interfere with both action buttons. great! but then we also have to consider the &lt;em&gt;other&lt;/em&gt; action buttons.
&lt;/p&gt;

&lt;p&gt;
no dev wants to make a game with just one input, and since phones &lt;em&gt;have&lt;/em&gt; more buttons, they often get used. for one thing there&amp;#039;s the softkeys: &lt;em&gt;every&lt;/em&gt; game depends on them. they&amp;#039;re usually used for the “yes” and “no” inputs to dialogs and for accessing and navigating ingame menus, but often they change function contextually during a game, so you really have to pay attention to them. but then there&amp;#039;s all the dialpad keys that aren&amp;#039;t needed for basic motion - *, 0 and # are fair game, often used for e.g. offhand grenades, switching weapons, opening doors or pulling up sub-screens, and in a game that doesn&amp;#039;t need diagonal motion, 1, 3, 5 and 7 become available as well. That&amp;#039;s &lt;em&gt;seven additional inputs&lt;/em&gt;, eight if you count the 5/D-pad button, and if you add in a softkey (one is always used for an in-game menu but the other is usually available) then we have to look at the flip phone as a console with a &lt;em&gt;nine button gamepad&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
that&amp;#039;s a ton of inputs! and the fucked thing is that some games actually use them all!!!!!!!!!!!! but of course this is a mixed bag: it&amp;#039;s really cool that J2ME can &lt;em&gt;support&lt;/em&gt; games with that much complexity, even cooler that &lt;em&gt;devs actually took advantage of it&lt;/em&gt;, but honestly you&amp;#039;re rarely pleased when you have to hit * to throw a grenade. it beats the shit out of only getting one weapon because you don&amp;#039;t have a button to switch with, but ultimately, for a game on this platform to be fully approachable and un-frustrating, you want it to use &lt;em&gt;as few inputs as possible&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Shrek The Third The Movie The Game&lt;/em&gt; was clearly optimized for mass appeal, so it does this. left/right to move, up to jump, down to crouch (press while airborne to ground-pound; hold and press a direction while on ground to roll) and&lt;em&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;action&lt;strong&gt; &lt;/strong&gt;to attack are the only inputs. there&amp;#039;s nothing on the softkeys or *,0,# and you never need to hit two buttons at once. this is as simple as it could be, and yet you&amp;#039;re still given tons of health, tons of grace time, tons of space to see and react to enemies, and in fact, the action button is &lt;em&gt;optional&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
shrek can punch, but he can also stomp enemies like Mario do by just jumping or falling on them. this has the effect of removing the need for the player to press &lt;em&gt;any&lt;/em&gt; action buttons, ever - you &lt;em&gt;can&lt;/em&gt; punch, if you like - shrek even has a nice three-hit combo that feels good - but if you can&amp;#039;t manage the necessary two-hand dexterity, you can play the entire game with &lt;em&gt;just&lt;/em&gt; the motion inputs. this was of course the right decision, because the safest way to think of a flip phone is as a &lt;em&gt;zero button joystick.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
so, that&amp;#039;s the input situation, and it&amp;#039;s pretty rough, but fortunately, it&amp;#039;s really &lt;em&gt;most &lt;/em&gt;of the criticism I have of J2ME as a platform. it&amp;#039;s pretty hard to avoid tbh, they couldn&amp;#039;t tell vendors “uhhh make the phone more gamepad shaped,” but the quality of any given game &lt;em&gt;pretty much&lt;/em&gt; comes down to “how well did they accommodate the input situation.” this is why Donkey keeps telling you how to walk and jump: not only are inputs on flip phone games not obvious, but there can be a &lt;em&gt;shitload&lt;/em&gt; of them, or at the opposite end of the spectrum they can be combined to make input easier and simpler. therefore, every game &lt;em&gt;needs&lt;/em&gt; to tell you how to play, explicitly, or you just won&amp;#039;t know.
&lt;/p&gt;

&lt;p&gt;
oh, and since most of these games seem to have been digital-delivery-only, there was no chance of anyone having a manual. anyway, back to the reviews!&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;devils_and_demons_handygames&quot;&gt;Devils And Demons (HandyGames)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232930.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232930.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232930.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241021-115904.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241021-115904.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241021-115904.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241021-115912.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241021-115912.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241021-115912.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this is a Diablo clone. i found a review and it just opens by saying it&amp;#039;s a diablo clone. nonetheless, the reviewer (and me) recommends you play it anyway.
&lt;/p&gt;

&lt;p&gt;
unlike shrek, which is basically a typical GBA license title (if perhaps a little simplified) this is definitely a mobile-first design. unlike diablo&amp;#039;s open world, Devils And Demons takes place in a series of small stages. they&amp;#039;re made to &lt;em&gt;look&lt;/em&gt; like part of a contiguous larger world, but each one is basically a little arena with a simple goal: get to a particular spot without dying, kill a certain number of enemies, defend a control point, etc. it is absolutely the kind of bite-sized entertainment you want when you&amp;#039;re waiting for a bus that could take five to twenty minutes to arrive, you hadn&amp;#039;t intended to be out long enough to bring a more serious entertainment device, and mobile internet is in its infancy so you can&amp;#039;t just stare at a website.
&lt;/p&gt;

&lt;p&gt;
despite its minimal expectations vis a vis the player&amp;#039;s attention span, Devils And Demons makes a valiant effort to include as much Diablo flavor as it can fit. the basic gameplay loop - walk, find guys, swing sword - is solid, and in fact, if you happen to have one of the few touchscreen-based phones that came out in this era, it even supports that; playing this in an emu (KEmulator, by the way) feels exactly like playing a small Diablo that runs at 20fps. on a normal flip phone however, you&amp;#039;ll steer your boy around with the D-pad/numbers - but only in cardinal directions. there are unfortunately no diagonals, &lt;em&gt;because&lt;/em&gt; those keys are all used for special actions. like Diablo you have various spells and special moves which you trigger using the extra buttons; I haven&amp;#039;t played too far in, but I suspect all six orbs at the bottom become skills that bind to those keys.
&lt;/p&gt;

&lt;p&gt;
you even have sub screens for character, equipment, and the skill tree. you can&amp;#039;t DO much in them, it&amp;#039;s mostly just for fun-fun, but you do get to choose your path in the skill tree, apparently! this is a perfectly cromulent diablo clone for java based flip phones.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;the_club_rockpool_games&quot;&gt;The Club (Rockpool Games)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232943.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232943.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232943.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233243.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233243.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233243.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233249.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233249.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233249.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
i have only played a little bit, I need to play more to make sure there isn&amp;#039;t anything i&amp;#039;m missing, but THIS thing is fucking WEIRD.
&lt;/p&gt;

&lt;p&gt;
this appears to be based on a game of the same name, sold on conventional consoles. did i mention that a &lt;em&gt;lot&lt;/em&gt; of J2ME games are “ports”? not really though; this isn&amp;#039;t like back in the GBA days when e.g. Tony Hawk Pro Skater for the GBA was a nearly flawless copy of the original THPS, just converted to 2D isometric view. while lots of games on J2ME have the same names as conventional titles, as far as I&amp;#039;ve seen they&amp;#039;re rarely attempts to actually port or clone the original; more often they&amp;#039;re reimaginings, or completely new and unrelated entries in the franchise.
&lt;/p&gt;

&lt;p&gt;
this one goes WAY further than most though. The Club was a third person shooter for PC/PS3/360 which I have never heard of in my life and am now kind of fascinated by, but as far as I can tell, the gameplay is largely conventional 3D shooting action. J2ME The Club on the other hand is a strange twist on a rail shooter: stages are played in top-down perspective, and at first you might think it&amp;#039;s a Hotline Miamilike, but you have no direct character control! your boy moves on a predetermined path, and you can control how fast or slow he goes, and you can rotate his torso; that&amp;#039;s it, otherwise you&amp;#039;re just along for the ride.
&lt;/p&gt;

&lt;p&gt;
as you walk through the stage, Bad Guys appear. you can rotate to face them, the three blue arcs showing your field of fire. you don&amp;#039;t need to press an action button to fire though; if you&amp;#039;re pointing near a dude, you&amp;#039;ll blast him automatically. so gameplay consists of simply rotating back and forth to point at groups of enemies as your man walks through a neighborhood or whatever, and making sure you turn quickly enough to blast them before they blast you. at the end of stage one your boy walks to an intersection and stops, and for 10 seconds or so you are attacked by waves from all directions and have to fend them off. then the stage ends.
&lt;/p&gt;

&lt;p&gt;
this shit is so strange! i&amp;#039;ve never seen a game like this, it&amp;#039;s like a rail shooter meets smash TV - which makes some sense actually, since The Club is apparently yet another of those games with a plot based on an exhausting dystopian future bloodsport.
&lt;/p&gt;

&lt;p&gt;
the reason i look at the games nobody ever talks about, like “zed ex spectrum titles that &lt;em&gt;aren&amp;#039;t&lt;/em&gt; the dozen or so that everyone names when you bring up the zed ex,” is this right here. as far as I know this is an utterly unique game, i&amp;#039;ve never seen anything quite like it. is it fun? well, i don&amp;#039;t know that i&amp;#039;d spend $15 for it on steam, but i think it&amp;#039;d be a good way to kill some time while waiting for a bus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;jimmy_whitesnooker_legend_gameloft&quot;&gt;Jimmy White: Snooker Legend (Gameloft)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-232954.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-232954.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-232954.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233005.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233005.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233005.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233011.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233011.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233011.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this is a pleasant little snooker game. again, it has the vibes of a midrange GBA title, nice smooth 30fps animation (on a decent phone,) vibrant sprites, charmingly cheesy character portraits, and it even has a live trajectory preview. in a Serious Pool Experience you&amp;#039;d probably turn that off, but come on - this is a game you play while waiting for a bus. you&amp;#039;d really rather get more hits than misses, and since you&amp;#039;re staring at a tiny, low-res phone screen, precision just might be impossible. there&amp;#039;s a betting mechanic which insists that,
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;“To reach the top, you&amp;#039;ve got to take risks. Do you feel lucky today? What&amp;#039;s your bet for this match?”&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
my favorite thing about this game is that i think it taught me how to play snooker through nothing more than the little “hit this ball next” icon.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;froggerbeats_n_bounces_konami&quot;&gt;Frogger: Beats &amp;#039;n Bounces (Konami)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233325.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233325.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233325.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233331.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233331.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233331.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233337.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233337.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233337.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
recently i watched a youtube video (no i can&amp;#039;t remember who the youtuber was i&amp;#039;m sure you can look it up easily) attempting to cover all the frogger games made after frogger. they mentioned this one for two seconds and called it “lost media,” which is interesting because if you simply google “frogger beats n bounces download” you get a whole page of results. this is because nobody respects phone games.
&lt;/p&gt;

&lt;p&gt;
have you ever seen &lt;em&gt;any&lt;/em&gt; list of “all the games” in a franchise that included the mobile-only entries? probably not; almost &lt;em&gt;every franchise&lt;/em&gt; had mobile-only entries in this era, and nobody ever mentions them. we think of flip phone games the same way we think of Tiger LCD handhelds or a $10 watch with a picture of mario on it: a way to dupe a child into thinking they have gotten more of the thing they want, when there&amp;#039;s either no more of that thing, or it costs $60.
&lt;/p&gt;

&lt;p&gt;
this point of view is undeserved, and also super ironic, because the thrust of that video was “all the frogger games after frogger completely miss what makes frogger fun,” but this game &lt;em&gt;actually gets it&lt;/em&gt;. it turns frogger into a rhythm game! that actually makes a lot of sense!!! frogger is based on highly quantized motion pitted against an unceasing global timer - &lt;em&gt;it already is a rhythm game, if you think about it.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Frogger: Beats &amp;#039;n Bounces puts the titular green man on a five-lane vertical track, traveling upwards one hop at a time, to the beat of a MIDI soundtrack (more on this later.) on every beat, you can choose to move to an adjoining track, or zap a bug with Frogger&amp;#039;s tongue. that&amp;#039;s it, as far as i&amp;#039;ve seen; a simple, all-ages rhythm game that anyone could enjoy. and i think you &lt;em&gt;would&lt;/em&gt; choose to enjoy this, if you tried it - the art is pleasant, the levels are surprisingly long, and while it&amp;#039;s no Crypt of the Necrodancer, once again you would not want to get that deep into a game while waiting for a bus. the one criticism i have is that sometimes you can&amp;#039;t tell if things are going to hurt you, and some of the things that &lt;em&gt;do&lt;/em&gt; hurt you seem… surprising.
&lt;/p&gt;

&lt;p&gt;
by the way, did you notice the Konami name on this? that&amp;#039;s not just the publisher, Konami actually developed it. rather than just punting their big name franchises down to no-name studios and collecting the royalties, Konami actually spun up multiple wholly owned mobile studios, in both the US and Germany. fascinating!
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;dewy_s_adventure_konami&quot;&gt;Dewy&amp;#039;s Adventure (Konami)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233433.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233433.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233433.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233442.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233442.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233442.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233447.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233447.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233447.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this is another “port” of a conventional console game, Dewy&amp;#039;s Adventure for the Wii, and it&amp;#039;s the closest thing to “THPS for the GBA” that I&amp;#039;ve come across so far. i mentioned earlier that most ports are not like that, but this one is very much just a conversion of a contemporary 3D game into isometric 2D, as far as i can tell. i have never played the Wii title, nor have i gotten deep into the mobile version, but i watched some youtube footage and i get the strong impression that they basically cloned all the mechanics as best they could.
&lt;/p&gt;

&lt;p&gt;
this works pretty well! the game looks fantastic, the sprite work is excellent, and on a decent phone the game runs at nearly 20fps and feels buttery smooth. movement and attacks are immaculate; on an emulator with a good controller this simply feels like a GBA title. on a phone… well, at least the ones I&amp;#039;ve tried have been kind of awkward. this game really wants a proper d-pad to play right, and i found myself running off ledges and into enemies a lot. on the other hand, this uses sonic adventure type combat where you just hit action twice to jump, then zip down and attack an auto-targeted enemy, and since you can chain attacks into combos by just hammering the button, you can clear out a bunch of enemies pretty easily without a lot of micromanagement.
&lt;/p&gt;

&lt;p&gt;
i will say: i think the transformation mechanic is a bit much. you can press * and # to transform Dewy from his water form into either fog (cloud) or ice, and i&amp;#039;m not 100% sure if this is mandatory for e.g. puzzles or optional; throughout the first few levels it has seemed optional but that might change. now on the wii i&amp;#039;m sure this worked really well, but here i really feel a bit too overwhelmed by the basic gameplay, which already strains the limits of the platform, and i can&amp;#039;t really get myself to remember these exist or use them effectively. a shame; i wonder if they could have made that work better.
&lt;/p&gt;

&lt;p&gt;
all the same, with its bright artwork, cute characters and bite-sized levels, this would be a great game to play while waiting for a bus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;the_dark_knight_glu_mobile&quot;&gt;The Dark Knight (GLU Mobile)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233459.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233459.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233459.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233505.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233505.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233505.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233511.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233511.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233511.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
it goes without saying that a &lt;em&gt;lot&lt;/em&gt; of J2ME games are licensed - but frankly we can say that about every console released after the SNES. probably half the playstation library was in reality tie-ins with TV shows and movies most of us don&amp;#039;t even remember. anyway, here&amp;#039;s The Dark Knight
&lt;/p&gt;

&lt;p&gt;
released in 2008 to coincide with the film, this is a &lt;em&gt;really good &lt;/em&gt;Batman game. the artwork is phenomenal, the world is dark, batman&amp;#039;s dialogue is excellent (“i can&amp;#039;t tell you, you don&amp;#039;t know what the boss will do to me!” “think about what &lt;em&gt;i&amp;#039;ll&lt;/em&gt; do to you” is solid stuff) and mechanically it&amp;#039;s fantastic. emulator says the framerate is 26fps; i think it&amp;#039;s probably double-buffered and really running at 13, but it doesn&amp;#039;t matter. once again, motion is fantastic, the multilayer parallax scrolling makes the city look enormous, and the background art is terrific. as i write this, i&amp;#039;m watching trains pass by in different directions on three different background layers. great, great stuff.
&lt;/p&gt;

&lt;p&gt;
like all batman games made after the NES era, you can get overwhelmed by the combat and movement systems. there are so god damn many. batman has all his tools, and you&amp;#039;re expected to use them all, but due to the narrow field of view this can sometimes be difficult or, worse, feel pointless. for instance, batman can&amp;#039;t jump; all his vertical motion is done with the grappling hook, but much of the time you &lt;em&gt;literally cannot see&lt;/em&gt; what you&amp;#039;re supposed to be hooking onto. instead, you have to watch the HUD at the top for a tiny yellow icon indicating that you can use the launcher.
&lt;/p&gt;

&lt;p&gt;
the launcher itself is quite complicated. once you pull yourself up into the air, you can then swing in either direction; this is easy at first when you have obvious landing points, but soon they start having you take leaps of faith into empty air, at which point you have to choose to either hit action to put batman into a glide, &lt;em&gt;or&lt;/em&gt; watch for another grapple point so you can do the Spiderman thing and swing repeatedly. this feels kind of not-batmanny to me, and it&amp;#039;s hard to know when you&amp;#039;re expected to do it. the saving grace is that there&amp;#039;s no fall damage, but it feels kinda crappy to do this cool swing and glide only to watch helplessly as batman glides down past the thing he actually wants, then have to go back and do it all over.
&lt;/p&gt;

&lt;p&gt;
this is especially bad when you find out that you weren&amp;#039;t supposed to have taken the vertical path yet; levels often have objectives on the ground and in the air, so what you should actually do when you encounter a grapple point is to ignore it, proceed forward until you&amp;#039;re stopped, then go back and start exploring additional paths. some might see this as a good thing; i feel like it detracts from a solid batman experience.
&lt;/p&gt;

&lt;p&gt;
as far as “pointless,” that&amp;#039;d be the combat mechanics. you can hide in a doorway and jump-attack guys! it looks super cool… but guys go down effortlessly with three punches, so why bother? you can also land on them for a takedown, or sneak attack, or stun them and then perform a Glory Kill that takes like 5 full seconds to wind up and land. these are neat at first, but quickly become an unnecessary timesink; you get irritated when you trigger the glory kill accidentally.
&lt;/p&gt;

&lt;p&gt;
you know what though? i don&amp;#039;t think WB or DC &lt;em&gt;forced&lt;/em&gt; the devs to put these things in. i don&amp;#039;t think they&amp;#039;re executive mandates, i think they were put in by devs who &lt;em&gt;liked batman and wanted to make him do cool stuff&lt;/em&gt;. the game radiates passion; it is no “Sunsoft batman where he has a gun.”
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;castlevaniadawn_of_sorrow_tmt&quot;&gt;Castlevania: Dawn Of Sorrow (TMT)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233521.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233521.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233521.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233530.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233530.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233530.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233537.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233537.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233537.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this is basically a remix or reimagining of Castlevania: Dawn of Sorrow. if you hadn&amp;#039;t played the DS game in a while and you fired this up, you&amp;#039;d go “oh wow, they just ported it to phones!” but this isn&amp;#039;t really true. this game is &lt;em&gt;completely&lt;/em&gt; different, but that&amp;#039;s kind of a good thing. it would be tough to play the original on a low-res, portrait phone screen with all the complex enemy behaviors and tight combat, so what TMT did here, i believe, is they stripped down all the background art, then designed new levels that &lt;em&gt;feel&lt;/em&gt; like the originals, but are simplified, made more vertical, and generally adapted to work better on a phone screen. the result is sort of like if you tried to remake the game from memory.
&lt;/p&gt;

&lt;p&gt;
this game plays great; the music sounds &lt;em&gt;spot on&lt;/em&gt; to the original, although it&amp;#039;s sadly been truncated so the songs loop much sooner. motion is smooth and feels fantastic, though again it can be kind of tough on a dialpad, since it&amp;#039;s pretty close to the original game in terms of tightness and precision. i miss platforms a lot when playing on an actual phone. the thing that really bugs me though, if i&amp;#039;m honest, is the &lt;em&gt;severely&lt;/em&gt; abridged progress mechanics. you encounter the first boss like four screens in, and it&amp;#039;s the same first boss as in the original game, but he&amp;#039;s &lt;em&gt;much&lt;/em&gt; easier in every imaginable way. this makes sense, you&amp;#039;re playing on a damn phone while waiting for the bus; you don&amp;#039;t want a Real Challenge. and yet, it does feel a little… cheapened.
&lt;/p&gt;

&lt;p&gt;
on top of that, you level at an ABSURD rate, i&amp;#039;m talking every three or four basic enemies you get a level. it gets exhausting. there&amp;#039;s also no inventory system that i&amp;#039;ve noticed. i have to admit, i wish this was just a little bit deeper. this one &lt;em&gt;was&lt;/em&gt; developed by a third party and only published by konami, and it&amp;#039;s possible they were just given a very long leash to strangle themselves with
&lt;/p&gt;

&lt;p&gt;
notably, this is not the only Castlevastle on mobile. Aria of Sorrow was ported by “The Code Monkeys” but unfortunately it&amp;#039;s an example of a really bad J2ME title: atrocious framerate, unoptimized sprites copied straight from the original game, some with awful black borders, and just a general feeling of apathy. on the other hand, most of the original systems are retained basically intact, so it&amp;#039;s impossible to say whether it&amp;#039;s good or bad.
&lt;/p&gt;

&lt;p&gt;
there&amp;#039;s also Order of Shadows, a completely original, in-house-developed entry in the franchise, which is unfortunately just… not great. it&amp;#039;s hard to pick specific reasons because the whole game is just kind of crap; the artwork all looks bad and un-vania-ey, the particle effects look out of place, the music doesn&amp;#039;t sound remotely like it belongs in a castlevastle game, and the mechanics are &lt;em&gt;garbage&lt;/em&gt;. basic motion and attacking feel worse than any other CV game. RIP
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;the_simpsons_arcade_game_ironmonkey_studios&quot;&gt;The Simpsons Arcade Game (Ironmonkey Studios)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233546.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233546.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233546.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233551.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233551.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233551.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233556.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233556.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233556.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
this is an &lt;em&gt;incredibly&lt;/em&gt; curtailed version of the simpsons arcade game. i put it in the cool folder mostly because i&amp;#039;m amazed it exists at all. i hate to say it but this kind of drains most of the joy out of the simpsons. the sprites and backgrounds are all drawn from scratch, and while homer is basically on-model, the other characters aren&amp;#039;t, and the backgrounds are all dull and lifeless.
&lt;/p&gt;

&lt;p&gt;
the game &lt;em&gt;basically&lt;/em&gt; follows the course of the original, you start on the streets of springfield and end at burns&amp;#039; mansion, and along the way you fight a wiggum and a quimby, then you fight burns in a little robot, so that much is intact. everyone looks like shit though; i couldn&amp;#039;t screenshot because the game crashed (wow!) when i tried to replay it to get pics, but the bosses look pretty rough, and there&amp;#039;s only three of them. i think there&amp;#039;s supposed to be like 9, but about 80% of the game is missing; there are no levels between the streets and the mansion, and both are pretty damn short. you can finish this entire game in less than 10 minutes.
&lt;/p&gt;

&lt;p&gt;
that&amp;#039;s bad enough but almost everything else is missing too. you can only play as homer; there is only one enemy, a generic suit guy; none of the background characters or events are there; there are no pickups or throwable weapons; you&amp;#039;re basically homer walking through a generic, lifeless city. it&amp;#039;s kind of depressing to be honest, and it&amp;#039;s made worse by the near total lack of sound. there are no SFX at all, not that unusual for J2ME games, but it&amp;#039;s not like they were impossible. the occasional “woo-hoo!” when you pick up an extra life really would have improved things. and musicwise, all you get is a middling MIDI rendition of the main theme which plays on the menu on a loop, then plays one time whenever you pick up a health item. it&amp;#039;s all very hollowing, tbh.
&lt;/p&gt;

&lt;p&gt;
i included it here mostly because of the credits, which are surprisingly personal and even include a comic book store guy reference. whoever ironmonkey studios were, they liked the simpsons; i wonder why this game ended up so damn disappointing?
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;roll_it_back_-_let_s_do_that_again&quot;&gt;ROLL IT BACK - LET&amp;#039;S DO THAT AGAIN&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233604.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233604.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233604.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233610.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233610.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233610.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233615.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233615.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233615.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
whoops!! something is afoot!! the game i just played &lt;em&gt;was not&lt;/em&gt; the one most people saw!!!!
&lt;/p&gt;

&lt;p&gt;
after i wrote the above review i got Mad Suspicious. i went looking for reviews of the game, and found people saying it was actually quite good. i watched a youtube video… and saw a completely different game!!!!! so then i went back to my roms folder and checked; the JAR i played was 116KB, but most of the other copies i had were nearly 700KB!! so i loaded one up and WOULDN&amp;#039;T YOU KNOW IT, THERE&amp;#039;S A MUCH BETTER VERSION
&lt;/p&gt;

&lt;p&gt;
THIS one deserves the name The Simpsons Arcade Game. it&amp;#039;s all here - the background characters, the pickup weapons, the bosses, and &lt;em&gt;all the levels&lt;/em&gt;. the playthrough i saw on yt was nearly an hour long! i could say more but i don&amp;#039;t need to: this is simply the arcade game, and if you wanted to play that on your flip phone, &lt;em&gt;you could do it in 2009&lt;/em&gt;. wow!!!
&lt;/p&gt;

&lt;p&gt;
i have no idea what&amp;#039;s going on here! both games are developed by Ironmonkey Studio but they look NOTHING alike. the first one i reviewed says it&amp;#039;s version 1.3, this one says it&amp;#039;s version 4.2, but this can&amp;#039;t be a simple version difference. the first one looks like an alpha, but it also looks like it was actually released. was this for phones with far less memory or something?? i don&amp;#039;t know!! the one thing this is still sorely missing is SFX but again i will address that later; it &lt;em&gt;does&lt;/em&gt; at least have multiple music tracks which play throughout the game. nothing feels sad or lifeless about this one. you would play this while waiting for a bus, and then on the bus, and then maybe some more at home.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;simcity_deluxe_ea_mobile_montreal_team&quot;&gt;SimCity Deluxe (EA Mobile Montreal Team)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233622.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233622.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233622.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233628.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233628.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233628.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233634.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233634.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233634.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
they ported simcity to phones
&lt;/p&gt;

&lt;p&gt;
so this is really interesting, and really the synopsis of a mobile port if you needed one. it&amp;#039;s definitely simcity, but enormous chunks have been taken out. SimpliCity, if you will. for instance, while you do need to build power plants, there are only two types (coal and nuclear) and you do &lt;em&gt;not&lt;/em&gt; need to build power &lt;em&gt;lines&lt;/em&gt;. i think simply having a plant, somewhere on the map, is enough. when you build zones, you don&amp;#039;t drag a rectangle to pick an area, the game just gives you a 4&amp;times;4 stamp. both these decisions make a ton of sense, saving tons of awkward keystrokes and speeding up the building process. likewise there&amp;#039;s just one type of road, no rail or freeway, every category of building only contains one or two entries, you get the picture. the map is also tiny, barely larger than one screen, and i don&amp;#039;t think it can be bigger.
&lt;/p&gt;

&lt;p&gt;
despite all these limitations, the port team - “EA Mobile Montreal Team” - made sure to include the crucial elements. the basic RCI meters are here; population, happiness, tax rates, demand for various services. there are also natural disasters. this is all i know, because for some reason the game stopped running on the emulator. i can&amp;#039;t make any sense of it, it worked fine for a couple hours when i first played it; now if i load it up, it just hangs as soon as i try to get into a game. i had to load up a russian version to get these screenshots, and i&amp;#039;m 99% sure it&amp;#039;s been cut down to target some highly constrained phone platform, so there might be more to the game than i realize.
&lt;/p&gt;

&lt;p&gt;
regardless, the UI is kind of a masterpiece. in an interesting departure from most J2ME games, movement is &lt;em&gt;only&lt;/em&gt; possible on the D-pad, because the entire dialpad is shortcuts! you get to the build menu with a softkey, the other takes you to tax rates and other behind the scenes stuff, but numbers 1,2,3 take you to demand meters, 4,5,6 adjust simulation speed… i can&amp;#039;t remember what the others do, but it&amp;#039;s all designed for maximum efficiency, and it works. this is &lt;em&gt;exactly&lt;/em&gt; as much simcity as you&amp;#039;d like to play while waiting for a bus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;alpha_zone_3d_gameleons&quot;&gt;Alpha Zone 3D (Gameleons)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233650.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233650.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233650.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233656.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233656.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233656.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233702.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233702.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233702.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
okay i need to preface this by saying that i simply do not get got by “it&amp;#039;s doom, but for a platform previously thought incapable of that!!!!” because every single game of that type is dog shit. the various “OMG DID YOU KNOW THE AMIGA CAN RUN DOOM AFTER ALL” games are bad. not sorry, they look and play like shit, you just can&amp;#039;t do doom on a processor slower than a pentium and make it any fun.
&lt;/p&gt;

&lt;p&gt;
what&amp;#039;s interesting about this game is that it&amp;#039;s doom for a platform that is capable of &lt;em&gt;far more&lt;/em&gt; than doom. hell, J2ME has Doom RPG, which is in some ways considerably more complex than the original game! (it&amp;#039;s also good, play it.) but really, J2ME phones are capable of playstation-grade polygonal graphics at 30fps, there is no need to make Doom for Flip Phones, and yet that seems to be what&amp;#039;s happened here. i&amp;#039;m pretty sure this is a raycasting engine and there are several indications that it&amp;#039;s either derived from doom or was written as an exercise in reimplementing the doom engine from scratch. check out the minimap; you don&amp;#039;t do that by accident.
&lt;/p&gt;

&lt;p&gt;
as far as gameplay? oh, it&amp;#039;s crap, honestly. it&amp;#039;s really hard to make a good FPS on a platform like this, and i think they made a few poor decisions. for instance, in an attempt (presumably) to give the player good precision aiming ability, the default turning speed is INCREDIBLY slow. the longer you hold a direction, the faster you turn, but it starts out at an absolute crawl, and the result is that you&amp;#039;re going to get shot a lot by enemies you should have been able to snapshot. to compensate for this, the 1 and 3 keys make you instantly turn 90 degrees - but that really should have been 45! this is kind of unforgivable and i imagine in later levels you just die constantly because you can&amp;#039;t get yourself turned fast enough. ugh!
&lt;/p&gt;

&lt;p&gt;
the art is also not amazing. i suspect the gun sprites are screenshots of 3d models from e.g. counterstrike, the enemies are kind of vague and blocky and probably also stolen from something else. the level design is bizarre and nonsensical, but, you know, that&amp;#039;s really where the doomness shines through. if you call a game a “doom clone” or “doomlike”, it better have monster closets. when i find a keycard it better be on an illuminated plinth, and when i pick it up i better hear a distant wail of machinery as a door opens somewhere, informing me that i&amp;#039;m going to get ambushed by two assholes when walking through a hallway i had written off as safe. this game has all that.
&lt;/p&gt;

&lt;p&gt;
it &lt;em&gt;also&lt;/em&gt; has the most interesting (if not &lt;em&gt;good&lt;/em&gt;) ammo management system i&amp;#039;ve ever seen: your pistol has 10 rounds that recharge at about one bullet per half-second. this is not great, tbh. the first tier enemies take about four hits to kill, so if you don&amp;#039;t miss at all, you can take out two in one mag, which is good because you never meet just one enemy. the second tier (“shotgun guys”) though require like 6-8 shots, and they STILL come in pairs. not only are you guaranteed to get riddled by one guy while you&amp;#039;re killing the other, they don&amp;#039;t even stunlock very effectively, and even after you kill the first guy you&amp;#039;re gonna have to immediately dash away and hide to wait for your bullets to regen.
&lt;/p&gt;

&lt;p&gt;
in short, this game is not great, but it&amp;#039;s fairly doomy in ways that you might like, and since you&amp;#039;re given a pretty decent amount of health and lots of medkits, it&amp;#039;s more playable than i&amp;#039;m giving it credit for. i think you&amp;#039;d enjoy playing it while waiting for a bus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;medal_of_honorairborne_3d_ironmonkey_studios&quot;&gt;Medal Of Honor: Airborne 3d (Ironmonkey Studios)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233709.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233709.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233709.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233717.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233717.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233717.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Aso_i_ve_been_playing_j2me_games&amp;amp;media=blog:pasted:20241020-233722.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241020-233722.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=blog:pasted:20241020-233722.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
i almost didn&amp;#039;t include this one but I realized none of the other games I&amp;#039;d covered were actual, polygonal 3D. honestly i think 3d on this kind of platform is more a burden than anything; 2D games work really well with limited controls and tiny displays, 3d is often just a gimmick. that said, if you feel that way you can simply play the non-3D version, which is the exact same game but in 2D.
&lt;/p&gt;

&lt;p&gt;
this is a straightforward, mobile-ized, casual-ized WW2 game. you move through streets, autotarget guys, shoot them, sometimes throw a grenade, and you are given tasks like “blow up the flak cannon.” it&amp;#039;s nothing remarkable, you can easily imagine it shipping on the DS or something. the reason i bring it up here is twofold: one, the game&amp;#039;s controls and AI are optimized well for flip phone awkwardness; you can move and attack with the D-pad, using just one hand, and not get killed because enemies give you lots of grace time to fire and they stunlock easily, so you could enjoy playing this while waiting for a bus even if your other hand was occupied holding a shopping bag. the other reason though is because it&amp;#039;s incredibly performant.
&lt;/p&gt;

&lt;p&gt;
this runs in emulation at 60 frames per second, and on my Ericsson, it looks like it&amp;#039;s hitting somewhere north of 20. if i had a better phone, i&amp;#039;m sure i&amp;#039;d get closer to 60, and that&amp;#039;s just super wacky to see on a device of this vintage. other 3d games i&amp;#039;ve played have not run this well, so it seems there is a lot of room for optimization in the J2ME 3D environment; given that this was developed by Ironmonkey, the same people who ported the Simpsons Arcade Game - and quite well, as we found out in the end, squeezing an entire fairly-authentic experience into less than 700KB - i think we&amp;#039;re looking at some devs who really put their backs into learning and adapting to this platform. i should make a point to find out what else these people made.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;the_cool_shit_and_the_weird_things&quot;&gt;The Cool Shit And The Weird Things&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
these are by far not all the J2ME games i&amp;#039;ve played. i&amp;#039;m considering starting a review site, because i&amp;#039;m not wasting enough of my life on trivialities. i&amp;#039;ll call it good for now though and move on to some wrap-up.
&lt;/p&gt;

&lt;p&gt;
first, a thing i really like about J2ME: games can, and do, save themselves frequently. this makes sense given that phones die, and you often have to stop playing when the bus arrives.
&lt;/p&gt;

&lt;p&gt;
second, a thing that kind of sucks and kind of rules: while J2ME games are CAPABLE of sound effects, almost none of them actually have sounds! i strongly suspect this is because of the extreme space constraints: my Ericsson phone has, like, 8 or 16 megs of memory. you can add more, but these vendors know people aren&amp;#039;t going to do that, not in 2007; and that space is shared with texts, photos, music, etc. so games REALLY have to be tiny. i have not seen one over 700KB, and most are between 100-300.
&lt;/p&gt;

&lt;p&gt;
this is great because if you get a flip phone (which i know you will, now) you can just beam them over from your PC with bluetooth! this is the right play; on some platforms it&amp;#039;s the ONLY play. since the games are so small, they transfer pretty damn quick over BT, and you can fit quite a few into a phone even if it has no memory slot. hooray!
&lt;/p&gt;

&lt;p&gt;
but if a game is only 100K to begin with, they&amp;#039;re not going to want to pack in another 64K of sound effects. so almost nobody does - virtually every game i&amp;#039;ve played has no sounds other than music. why is music okay? because it&amp;#039;s all MIDI; while i&amp;#039;m sure you COULD write a tracker for this platform, the samples would be bigger than the game, but flip phones all have general midi for playing ringtones etc. so J2ME titles just leverage that.
&lt;/p&gt;

&lt;p&gt;
this results in two comical outcomes: 1) dorky MIDI renditions of well known tracks from blockbuster games, and 2) the occasional game which uses MIDI &lt;em&gt;for sound effects&lt;/em&gt;. at least one of the resident evil titles plays a bongo noise every time you fire your gun. it rules, but i have to admit, it&amp;#039;s the biggest downside of the platform. much of the time you&amp;#039;re just hearing… nothing.
&lt;/p&gt;

&lt;p&gt;
and… that was probably kind of normal. these were mostly the days before A2DP bluetooth, so if you wanted to listen to normal (non-phonecall) audio on your flip phone, you were gonna have to bring a &lt;em&gt;wired headset&lt;/em&gt;. few did this, and you didn&amp;#039;t want to listen to a bangin konami soundtrack on the tinny little speaker on your phone while on the bus, irritating everyone, so every single game on the platform - all of them - asks on startup if you want sound, and defaults to no. a lot of devs probably looked at the effort to implement better soundtracks or SFX and said “what&amp;#039;s the point, nobody&amp;#039;s going to hear it.” understandable, but still unfortunate.
&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&quot;in_conclusion&quot;&gt;IN CONCLUSION&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
play J2ME games! you can easily find huge collections by just googling “J2ME game archive” or w/e. when internet archive comes back you can grab some huge zips on there. unfortunately they&amp;#039;re a fucking mess; they&amp;#039;re all scraped from russian websites with poor quality controls, sometimes sorted into nonsense taxonomies, sometimes by platform, sometimes other ways. often you&amp;#039;ll just find 60 copies of the same game and have to drag them into your emulator one at a time until you find the one that&amp;#039;s in english, has the right resolution, isn&amp;#039;t landscape, and so on. but it&amp;#039;s worth it in the end to see a frontier of gaming that very few have paid attention to. you might even have an objectively good time!
&lt;/p&gt;

&lt;p&gt;
my one tip is this: don&amp;#039;t buy a RAZR. they&amp;#039;re really old and will not run anything well IME. the ericsson z750 is a good choice it seems, but i&amp;#039;m sure there are much better options you can get on ebay for $10. make sure you get a first party charger, back in this era they were all DRMed! make sure you find out if the phone will work without a SIM card, many will go into complete lockdown unless they detect a SIM from the carrier they were locked to! make sure you have a method for transferring data, these things don&amp;#039;t have wifi! make sure you know how and WHETHER you can install third party JARs! flip phones sucked and anyone who says otherwise is wearing rose tinted glasses so don&amp;#039;t waste a ton of money, dip your toe in first and make sure you don&amp;#039;t get burned.
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:so_i_ve_been_playing_j2me_games#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:three_useless_phones">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-23T17:26:54+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>three useless phones</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:three_useless_phones</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phones_1.jpg&quot; class=&quot;media&quot; title=&quot;useless_phones_1.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=268&amp;amp;tok=646414&amp;amp;media=useless_phones_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phones_1.jpg&quot; alt=&quot;useless_phones_1.jpg&quot; width=&quot;400&quot; height=&quot;268&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
today i bought three phones which are completely useless. i didn&amp;#039;t know that at the time but i probably would have bought them anyway if i had.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;read_more&quot;&gt;read more&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
i&amp;#039;m obviously on a flip phone kick rn, so i&amp;#039;ve been searching the local ewaste (pronounced “eh-wah-stay”) for Curiously Late Model devices. i actually have a terrific specimen already, an Ericsson Z750 that&amp;#039;s been doing a lot of good for me - it&amp;#039;s funny actually, i&amp;#039;ve been using it so much that it&amp;#039;s starting to feel like My Phone, like it belongs in my pocket and i feel kind of weird if it isn&amp;#039;t. 2007 is calling. no pun intended. but i could use more.
&lt;/p&gt;

&lt;p&gt;
obviously if i&amp;#039;m gonna take a serious look at flip phones, i need variety. i should get at least one “candybar,” i should get a couple different resolutions, i should find one with just an obnoxiously fast processor from the late days of the classic featurephone era (like 09,) i should find one of the pre-android touchscreen types (since there are J2ME games with touch support!) and i should find one of the few with landscape screens and built in keyboards. this&amp;#039;ll take a while.
&lt;/p&gt;

&lt;p&gt;
today i went looking and came up with these three, &lt;em&gt;none&lt;/em&gt; of which contribute to the aforementioned bottom line. none of these phones run J2ME. in fact, probably none of them will ever do anything useful again, but they&amp;#039;re still intriguing specimens.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phones_2.jpg&quot; class=&quot;media&quot; title=&quot;useless_phones_2.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=381&amp;amp;tok=c0d24c&amp;amp;media=useless_phones_2.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phones_2.jpg&quot; alt=&quot;useless_phones_2.jpg&quot; width=&quot;400&quot; height=&quot;381&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
from left to right, we have the &lt;strong&gt;Alcatel 40440&lt;/strong&gt;, the &lt;strong&gt;ZTE Z233VL&lt;/strong&gt;, and the &lt;strong&gt;Kyocera DuraXV e4520.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
at a glance, the first two look suspiciously modern; the screens are &lt;em&gt;enormous&lt;/em&gt; (it turns out flip phone screens are… smaller than I remember) and the keypads are very plain. the first one in particular looks almost like material design in physical form, utterly no nonsense, just big honking plain rectangles and simple geometric symbols. the middle one is a bit rounder and puffier, but the enormous, ultra-clear icons on the special buttons above the dialpad betray modern “clean” design sensibilities that simply didn&amp;#039;t exist in the 2000s. the third one looks a bit more dated, which will actually end up being ironic in the end.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phones_3.jpg&quot; class=&quot;media&quot; title=&quot;useless_phones_3.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=239&amp;amp;tok=940fdd&amp;amp;media=useless_phones_3.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phones_3.jpg&quot; alt=&quot;useless_phones_3.jpg&quot; width=&quot;400&quot; height=&quot;239&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
when we look at the menus, again, the kyocera looks right at home in 2004 or so, but the other two are immediately, violently out of place. the one in the middle in particular: those are &lt;em&gt;android&lt;/em&gt; icons.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;weirdness_level1&quot;&gt;weirdness level: 1&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phone_zdroid.jpg&quot; class=&quot;media&quot; title=&quot;useless_phone_zdroid.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=533&amp;amp;tok=e220fa&amp;amp;media=useless_phone_zdroid.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_zdroid.jpg&quot; alt=&quot;useless_phone_zdroid.jpg&quot; width=&quot;400&quot; height=&quot;533&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
and sure enough, it is android. or, well… close? apparently this is a ZTE fork they call Zdroid, and i can&amp;#039;t find much info on it. one redditor says it&amp;#039;s a heavily customized version of 8.1 (per the ZTE open source compliance site) that they modified to support touchless operation. that seems truthy but it&amp;#039;s all i can find so who knows.
&lt;/p&gt;

&lt;p&gt;
developer mode is disabled, it won&amp;#039;t open APKs, it has no wifi (&lt;em&gt;incredibly&lt;/em&gt; weird to see on an android device!) and since i have no SIM for it and USB tethering has been removed, there&amp;#039;s &lt;em&gt;no way&lt;/em&gt; to get this thing online. not that it matters, because there doesn&amp;#039;t seem to be a store - i don&amp;#039;t think it was &lt;em&gt;ever&lt;/em&gt; possible to add apps to this thing, which kinda makes sense. i get the impression that it was sold as an ultra cheap entry level device (mine was made under contract for TracFone) and you were expected to upgrade to a better gadget if you wanted access to all of god&amp;#039;s kingdom.
&lt;/p&gt;

&lt;p&gt;
i bought this because i wanted very badly to have an &lt;em&gt;android flip phone&lt;/em&gt; in my collection. what a strange concept. i believe this is actually a dead lineage, and that other vendors are offering flip phones with a much more normal, actual-android OS to this day; i need to look into it further, because $20 or $40 would be a reasonable price to pay to see what &lt;em&gt;that&amp;#039;s&lt;/em&gt; like.
&lt;/p&gt;

&lt;p&gt;
as weird as this is though, it doesn&amp;#039;t hold a candle to the Alcatel.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;weirdness_level2&quot;&gt;weirdness level: 2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phone_kaios.jpg&quot; class=&quot;media&quot; title=&quot;useless_phone_kaios.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=533&amp;amp;tok=bdee8c&amp;amp;media=useless_phone_kaios.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_kaios.jpg&quot; alt=&quot;useless_phone_kaios.jpg&quot; width=&quot;400&quot; height=&quot;533&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
“what,” you might be saying, “the &lt;em&gt;fuck&lt;/em&gt; is KaiOS?”
&lt;/p&gt;

&lt;p&gt;
or more likely you&amp;#039;re saying “ah okay it&amp;#039;s yet another CompanyNameOS that&amp;#039;s not an OS at all, but just a shitty reskin of android.&lt;em&gt;”&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;but that&amp;#039;s where you&amp;#039;d be wrong, and where i was wrong, and where everyone would be wrong because this is motherfucking&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt; &lt;span style=&#039;font-family: inherit; font-size:28px; color: inherit;  background-color: inherit &#039;&gt;FIREFOX OS.&lt;/span&gt;  &lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
that&amp;#039;s right. remember when mozilla tried to make an android competitor back in 2014 and literally everyone ignored it? no, you don&amp;#039;t remember that, because it was a flash in the pan that nobody remembers? yeah me too actually. i only vaguely remembered that this thing existed, and that it was considered a joke, and then it went away.
&lt;/p&gt;

&lt;p&gt;
i read &lt;a href=&quot;https://news.ycombinator.com/item?id=13782709&quot; class=&quot;urlextern&quot; title=&quot;https://news.ycombinator.com/item?id=13782709&quot; rel=&quot;ugc nofollow&quot;&gt;a post on hackernews&lt;/a&gt; (sorry) which linked a post on medium; combining the two, it seems that the basic order of events there was,
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mozilla comes up with an android competitor where the gimmick is that the entire OS, every single pixel you see, is rendered by gecko. whole OS is a single browser window. all apps are just webapps in a zip file.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mozilla works on this for a couple years, then shops it to phone vendors. &lt;em&gt;absolutely nobody&lt;/em&gt;  is interested, and it&amp;#039;s obvious the project is a failure&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; as the whole thing is grinding to a halt, market analysts notice that there&amp;#039;s actually a massive and underserved market in a few places like india, where the phones people can afford cannot run android. it is clearly possible to make firefox os serve this market. an attempt is made.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the attempt fails; the phone is too expensive and too slow. mozilla could fix this, but they fail to respond quickly and effectively and the whole thing falls apart, especially because,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;it won&amp;#039;t run WhatsApp.&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
you can&amp;#039;t sell a phone in india that doesn&amp;#039;t run whatsapp, and apparently they refused to port it to firefox because it was this nothing-OS that nobody had heard of. naturally mozilla couldn&amp;#039;t change that without selling a billion phones, which they couldn&amp;#039;t do without whatsapp. a real pickle.
&lt;/p&gt;

&lt;p&gt;
according to a poster on HN, mozilla&amp;#039;s last-ditch effort to save firefoxOS was to try to get it to run WhatsApp &lt;em&gt;without any help from the company&lt;/em&gt;, and their route to achieving this was… adding J2ME support. because apparently the big secret of WhatsApp&amp;#039;s success, the thing that perennially &lt;em&gt;baffles&lt;/em&gt;  all us rich westerners, is that it wasn&amp;#039;t just a smartphone app - &lt;a href=&quot;https://web.archive.org/web/20160306053407/http://blog.textit.in/your-path-to-a-$16b-exit-build-a-j2me-app&quot; class=&quot;urlextern&quot; title=&quot;https://web.archive.org/web/20160306053407/http://blog.textit.in/your-path-to-a-$16b-exit-build-a-j2me-app&quot; rel=&quot;ugc nofollow&quot;&gt;you could use it on flip phones too&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
mozilla&amp;#039;s hail mary pass apparently failed however; they did not get WhatsApp J2ME working, and FirefoxOS did not take off in india or anywhere else. shortly thereafter the project was cancelled and many people were fired, but a lot were apparently poached by a company called KaiOS Technologies. they took the FirefoxOS source, chopped out everything that wouldn&amp;#039;t fit in a $30 phone, and made the thing Mozilla should have made. this worked perfectly.
&lt;/p&gt;

&lt;p&gt;
per wikipedia:
&lt;/p&gt;
&lt;blockquote&gt;&lt;div class=&quot;no&quot;&gt;
 In market share study results announced in May 2018, KaiOS beat Apple&amp;#039;s iOS for second place in India, while Android dominates with 71%, albeit down by 9%. KaiOS growth is being largely attributed to the popularity of the competitively-priced &lt;a href=&quot;https://en.wikipedia.org/wiki/JioPhone&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/JioPhone&quot; rel=&quot;ugc nofollow&quot;&gt;JioPhone&lt;/a&gt;. In Q1 2018, 23 million KaiOS devices were produced.&lt;/div&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;div class=&quot;no&quot;&gt;
 In March 2020, Mozilla and KaiOS Technologies announced a partnership to update KaiOS with a modern version of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Gecko_(software)&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Gecko_(software)&quot; rel=&quot;ugc nofollow&quot;&gt;Gecko browser engine&lt;/a&gt;, and more closely aligned testing infrastructure. This change should give KaiOS four years worth of performance and security improvements and new features.&lt;/div&gt;&lt;/blockquote&gt;

&lt;p&gt;
the article also claims the latest release was last year. that might suggest its popularity is winding down, but given the limited functionality of these devices, maybe yearly-at-best updates are actually the norm.
&lt;/p&gt;

&lt;p&gt;
going back to the phone in question: what&amp;#039;s really intriguing is that this thing was sold here, in the US. don&amp;#039;t get me wrong, you can buy and (apparently) use brand new KaiOS phones in the US, but i don&amp;#039;t think any carriers offer them, even ones like tracfone, presumably because subsidies here are so generous that you can just get a $100 android phone for essentially free. all the KaiOS phones out there are dirt cheap, and in fact all seem to use the Snapdragon 210, a cheap-as-hell SoC from 2015 which I think has been the backbone of KaiOS devices forever.
&lt;/p&gt;

&lt;p&gt;
it&amp;#039;s what&amp;#039;s in my alcatel as well, in fact. but the remarkable thing is that it&amp;#039;s not &lt;em&gt;branded&lt;/em&gt;  as an Alcatel: it&amp;#039;s OEMed to AT&amp;amp;T, that&amp;#039;s the only logo you&amp;#039;ll find on it (unless you pry off the back cover and look at the battery,) but for &lt;em&gt;some inscrutable reason&lt;/em&gt;, AT&amp;amp;T themselves brand it under… Cingular???????????
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/detail.php?id=blog%3Athree_useless_phones&amp;amp;media=blog:pasted:20241022-235545.png&quot; class=&quot;media&quot; title=&quot;blog:pasted:20241022-235545.png&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=600&amp;amp;h=429&amp;amp;tok=baefe6&amp;amp;media=blog:pasted:20241022-235545.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; height=&quot;429&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
no, the cingular brand has not been resurrected; i checked. AT&amp;amp;T has used it for &lt;em&gt;nothing&lt;/em&gt;  since killing it in 2007… except this. the “AT&amp;amp;T Cingular Flip”, and flip 2, 3, 4 and flex were all very similar kaios phones, and as far as i can tell the only things to use the cingular brand. what on earth was this about? i have no idea. i am raising my hands in a gesture of helplessness; i cannot help you.
&lt;/p&gt;

&lt;p&gt;
i think i&amp;#039;m probably forgetting a few observations i wanted to write here, because a bug in ckgedit made me lose half this post &lt;em&gt;three times&lt;/em&gt;  before i got fed up and hacked doku&amp;#039;s draft code to save constant backups. ah, right, here&amp;#039;s something: there&amp;#039;s no app store. from what i understand kaios is supposed to have a “big” app store, so the lack here is glaring. on the other hand, most kaios phones seem to be touch based, so perhaps the apps are all designed for that? maybe the store was disabled in the US because the market was so small that none of the software was likely to be translated or updated for it? not sure
&lt;/p&gt;

&lt;p&gt;
one feature that makes sense but is extremely weird to see in a flip phone is wifi. it works just fine, and why wouldn&amp;#039;t it? the phone has a snapdragon 210, i&amp;#039;m sure those have built in wifi. in fact, it just makes it even weirder that the ZTE android flip phone &lt;em&gt;didn&amp;#039;t&lt;/em&gt;  have it, though i&amp;#039;m not 100% sure which SoC is in that. consequently though, i was able to easily verify which browser it&amp;#039;s using:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phone_kaios_1.jpg&quot; class=&quot;media&quot; title=&quot;useless_phone_kaios_1.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=400&amp;amp;tok=4837d7&amp;amp;media=useless_phone_kaios_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_kaios_1.jpg&quot; alt=&quot;useless_phone_kaios_1.jpg&quot; width=&quot;300&quot; height=&quot;400&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phone_kaios_2.jpg&quot; class=&quot;media&quot; title=&quot;useless_phone_kaios_2.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=400&amp;amp;tok=0ded15&amp;amp;media=useless_phone_kaios_2.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_kaios_2.jpg&quot; alt=&quot;useless_phone_kaios_2.jpg&quot; width=&quot;300&quot; height=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
it was amazing that this thing just got online with no complaints. i guess it probably has relatively recent TLS support and certs, having come out in at least 2017 (based on the release date of KaiOS 1.0.) that said, firefox 37 came out in 2015, so… was it super outdated, were the version numbers inconsistent vs. desktop, or do i have my dates wrong? couldn&amp;#039;t say.
&lt;/p&gt;

&lt;p&gt;
the way the browser works is interesting. as soon as it starts, a mouse cursor appears. this is not an underlying OS showing through or anything like that - remember, this is a native phone OS, afaik it was never derived from anything desktop-oriented. i believe the browser is drawing this itself, because there&amp;#039;s no touchscreen and no mouse, so you steer this pointer from element to element with the D-pad, and it snaps to each one; I don&amp;#039;t know if there&amp;#039;s a mode where you can move the cursor freely.
&lt;/p&gt;

&lt;p&gt;
this works… fine. as you can see the resolution of the screen leaves a lot to be desired, though it does start at a pretty high zoom level as well and decreasing that helps. it&amp;#039;s also sluggish; you wouldn&amp;#039;t want to do a ton of web browsing on this. but it&amp;#039;s certainly no “3g flip phone from 2003” browser; it&amp;#039;s just normal firefox, so any page that will fit in memory i assume is going to render and work just fine.
&lt;/p&gt;

&lt;p&gt;
one last observation&lt;em&gt;: &lt;/em&gt;i&amp;#039;m sure this is just a US rebrand of a phone originally targeted at various east asian markets, most likely including china, so…
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?media=useless_phone_kaios_3.jpg&quot; class=&quot;media&quot; title=&quot;useless_phone_kaios_3.jpg&quot;&gt;&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=300&amp;amp;h=400&amp;amp;tok=94c1cf&amp;amp;media=useless_phone_kaios_3.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_kaios_3.jpg&quot; alt=&quot;useless_phone_kaios_3.jpg&quot; width=&quot;300&quot; height=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…is it even remotely surprising that it has an FM radio?
&lt;/p&gt;

&lt;p&gt;
idk if radio is Just That Popular in china or if it&amp;#039;s simply that they have quadrillions of FM receiver modules that cost a tenth of a penny, thus letting manufacturers stick one more meaningless bullet point on the feature list, but either way this is a nearly universal feature in chinese domestic market products; you actually find FM radios shoved into things &lt;em&gt;much&lt;/em&gt;  stranger than phones, but i&amp;#039;m pretty sure &lt;em&gt;every&lt;/em&gt;  domestic market phone has one.
&lt;/p&gt;

&lt;p&gt;
naturally there isn&amp;#039;t room for a reasonable FM antenna though, and this is solved the same way it always is in this kind of device: by using the cable on a pair of headphones as the antenna. consequently, when you launch the radio app, it outright refuses to operate until you plug in headphones - something my sony ericsson j2me phone &lt;em&gt;also&lt;/em&gt;  does, except it requires a proprietary headset that i don&amp;#039;t have, so i haven&amp;#039;t even been able to test it.
&lt;/p&gt;

&lt;p&gt;
the alcatel simply takes a 3.5mm plug, so i hooked up my Sennheiser HD660S and was consequently treated to &lt;em&gt;the nicest radio experience of my life&lt;/em&gt;. it picked up the local NPR station immediately, there was some soft jazz playing, and it just sounded absolutely phenomenal. i mean those headphones work a lot of magic on their own, but the phone was driving them pretty well and getting a super clear signal, so i gotta give it &lt;em&gt;some&lt;/em&gt;  credit. it also continues operating when you leave the radio app, so if you were out and about you could absolutely use this as just, you know, a pocket radio. there&amp;#039;s nothing to complain about except, i guess, that it can&amp;#039;t record; we can guess why that is, particularly for the US model.
&lt;/p&gt;

&lt;p&gt;
technically i could probably come up with more things to say about this phone but i&amp;#039;d just be fisking it at that point, reviewing every little pixel, so let&amp;#039;s move on to the final entry.
&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&quot;weirdness_levelhonestly_its_back_to_1_again_tbh&quot;&gt;weirdness level: honestly its back to 1 again tbh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
after all that, the kyocera is almost a letdown. it&amp;#039;s pretty much just a ruggedized flip phone with a PTT button, you know the sort, nextel sold a billion of them. unlike the other specimens we&amp;#039;ve been looking at, this isn&amp;#039;t some kind of &lt;em&gt;Thing That Should Not Be&lt;/em&gt;  - the sort of thing it is was by no means rare in its day. well. if it had been &lt;em&gt;made&lt;/em&gt;  during its day.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://blog.cathoderaydude.com/lib/exe/fetch.php?w=400&amp;amp;h=533&amp;amp;tok=bc8d47&amp;amp;media=useless_phone_brew.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;useless_phone_brew.jpg&quot; alt=&quot;useless_phone_brew.jpg&quot; width=&quot;400&quot; height=&quot;533&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
the kyocera runs Brew MP. short for Binary Runtime Environment for Wireless, BREW was the primary competition (supposedly) with J2ME in its heydey. as the name suggests, BREW apps used native code, which theoretically means they ran faster due to the lack of a VM between them and the bare metal. there&amp;#039;s a lot i don&amp;#039;t know about BREW. did it demand a specific architecture, or were devs expected to cross compile tons of variants of each app? was it &lt;em&gt;actually&lt;/em&gt;  faster, did anyone ever try benchmarking it? and many other questions that are hardly even worth asking since, as it turns out, i will probably never get to see &lt;em&gt;any&lt;/em&gt;  of it in action.
&lt;/p&gt;

&lt;p&gt;
i was excited when i stumbled on this phone. i had found about a dozen J2ME devices but didn&amp;#039;t really expect to encounter BREW unless i went looking for it specifically. then i fired this thing up and presto, there it was! i bought it for a few bucks, took it home, went looking for an archive of BREW apps… and didn&amp;#039;t get &lt;em&gt;nearly&lt;/em&gt;  the results i expected. oh sure, they&amp;#039;re out there, but only in the form of a couple big zipfiles on internet archive (which is down again, sigh) and one &lt;em&gt;huge&lt;/em&gt;  zip on mega. J2ME on the other hand had, and continues to have, something like &lt;em&gt;eight&lt;/em&gt;  different piracy sites, with contents categorized and sorted meticulously by target platform and screen size. what&amp;#039;s going on here?
&lt;/p&gt;

&lt;p&gt;
well, as it turns out, there wasn&amp;#039;t much of a piracy scene for BREW. part of this, to be crass, is probably because of its market: from what i&amp;#039;ve read it was almost exclusively a US phenomenon, and while not all 2000s-era american cellphone-havers were wealthy, probably very few were broke enough to be interested in pirating games that cost $2-3. J2ME on the other hand was massive in europe, including a number of fairly impoverished countries where piracy was rampant. virtually all the J2ME piracy sites are russian, and indeed, there &lt;em&gt;continues&lt;/em&gt;  to be an enormous community of mobile device hackers in russia who spend all their time jailbreaking every imaginable low-cost gadget, smart or dumb. xdadevelopers still has people hacking &lt;em&gt;windows mobile&lt;/em&gt;  devices.
&lt;/p&gt;

&lt;p&gt;
it&amp;#039;s kind of ironic that J2ME was the standard in these places, because it is the most easily pirated thing in existence. no attempt at DRM was made: every game is simply a JAR file, and many phones would let you simply copy anything you downloaded to a memory card, or in some cases just beam it over bluetooth. of the J2ME phones I&amp;#039;ve played with, all of them have been quite happy to simply install any JAR i beamed to them, or selected from a memory card.
&lt;/p&gt;

&lt;p&gt;
BREW, on the other hand, is DRMed &lt;em&gt;straight up the asshole&lt;/em&gt;. if what i&amp;#039;ve read is to be believed,
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; no BREW phone has any mechanism for installing software from a filesystem. &lt;em&gt;all&lt;/em&gt;  apps must be delivered through a carrier store.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; everything you download is tagged with a device-specific key&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; even if you somehow manage to get the files into the phone&amp;#039;s filesystem, it will refuse to run them&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; this has been jailbroken on a total of like, 4 phones, and the kyocera is not one of them&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
in other words, i&amp;#039;m screwed. with the carrier store gone, this phone will &lt;em&gt;never, ever&lt;/em&gt;  run a BREW app again, and that&amp;#039;s all there is to it. chances are i will never find a phone that can be sideloaded either, so BREW is probably just off the table.
&lt;/p&gt;

&lt;p&gt;
though, that first point is interesting - because maybe the carrier store &lt;em&gt;isn&amp;#039;t&lt;/em&gt;  gone? i don&amp;#039;t have a way to check, since i can&amp;#039;t get it on a network, but since this phone came out in &lt;em&gt;2015&lt;/em&gt;, i guess maybe the store COULD still exist? but coming out that late, long after the smartphone revolution, would the store even have contained anything other than, like, verizon&amp;#039;s shitty GPS app? probably not! who knows!
&lt;/p&gt;

&lt;p&gt;
it&amp;#039;s interesting that this phone even came out in 2015. sure, it has the PTT feature, but i believe that eventually got rolled into android phones. i suspect that hadn&amp;#039;t happened yet though - this was probably just an extension of the problem that created kaiOS, that android was still too heavy for low cost devices.
&lt;/p&gt;

&lt;p&gt;
and… that&amp;#039;s it! three pretty much useless phones. i mean, i guess they&amp;#039;d probably make calls and send texts, but i will not be doing that with any of them, ever, and probably there are better options even if you wanted to.
&lt;/p&gt;



&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:three_useless_phones#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
    <item rdf:about="https://blog.cathoderaydude.com/doku.php?id=blog:why_am_i_interested_in_flip_phones">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-23T19:52:42+00:00</dc:date>
        <dc:creator>Anonymous (cathoderaydude@gmail.com)</dc:creator>
        <title>why am i interested in flip phones</title>
        <link>https://blog.cathoderaydude.com/doku.php?id=blog:why_am_i_interested_in_flip_phones</link>
        <description>
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
every time i talk about flip phones (and this has been going on for &lt;em&gt;years&lt;/em&gt;, not just recently) people start going “yeah yeah yeah let&amp;#039;s go back i want my nokia back” and i do not understand why this happens. well i do but the point is that i would never even say it because i &lt;em&gt;hated flip phones&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;break&quot;&gt;break&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
in 2002 i had one just like everyone else, and i considered it a “dumbphone” even before smartphones existed. like, sure, as far as &lt;em&gt;making phone calls&lt;/em&gt; went, they worked great. they were an obvious evolution from the motorola startac, smaller and more convenient, so i had no beef there. texting was an interesting novelty which i had little use for, particularly in the days where you paid egregious rates per-text, but as an outgrowth of the concept of &lt;em&gt;paging&lt;/em&gt; i understood it too.
&lt;/p&gt;

&lt;p&gt;
assuming you wanted a device for &lt;em&gt;making phone calls and sending tiny messages&lt;/em&gt;, flip phones were fine, it&amp;#039;s just that i didn&amp;#039;t want to do those things. i wanted to do the things i do now, on a smartphone, and i wanted a smartphone in order to do them.
&lt;/p&gt;

&lt;p&gt;
long before the iphone existed, long before i&amp;#039;d even touched a PDA, i wanted a smartphone in &lt;em&gt;exactly&lt;/em&gt; the form they now have. i am not claiming to be precocious or clairvoyant, it just… wasn&amp;#039;t that big a leap. many people have noticed that smartphones got invented about a dozen times throughout the early 20th century in science fiction; star trek did it, i think dick tracy did it, it just kept happening, and it&amp;#039;s because it&amp;#039;s an incredibly obvious idea. it&amp;#039;s so obvious that i wonder if anyone even succeeded at patenting the basic elements; i doubt it, otherwise android probably wouldn&amp;#039;t exist.
&lt;/p&gt;

&lt;p&gt;
if you look at &lt;em&gt;the human hand&lt;/em&gt; and &lt;em&gt;the human eye&lt;/em&gt; and then think about &lt;em&gt;the concept of digital information&lt;/em&gt;, moments later you will find yourself holding a drawing of a smartphone, because it&amp;#039;s just a dead-simple idea. it is a box designed to nestle in the palm, which can display arbitrary information, and it&amp;#039;s sized such that an average human thumb can just about reach across its surface. i, too, imagined this device long before it existed, and was frustrated that i couldn&amp;#039;t have one.
&lt;/p&gt;

&lt;p&gt;
once i learned about PDAs, i looked into them ferociously, and immediately became disappointed. have you used palmos? have you used windows mobile? they are bad, clunky, unfortunate things that don&amp;#039;t actually deliver the level of information manipulation that i wanted even &lt;em&gt;22 years ago&lt;/em&gt;. the fact that nothing yet existed that could do what we can now do was not important to me; i could see where the wind was blowing, i knew what was going to BECOME possible, and if i couldn&amp;#039;t have it yet, i preferred to have nothing instead of a stopgap.
&lt;/p&gt;

&lt;p&gt;
so, once the iphone came along, i aimed myself at it like a heat seeking god damn missile. when a friend upgraded and ditched their 2G, i snapped up that scratched and chipped motherfucker with such gusto that i must have looked like the proverbial convict at the crack in the gas chamber door. hm. is it proverbial if i have no idea where it came from or if anyone else ever says that? anyway, i had been down bad and desperate for almost ten years, so when i got this thing i devoured it like my last god damned meal. huh. another death row allegory. curious
&lt;/p&gt;

&lt;p&gt;
the 2G had been upgraded to ios 2 or 3 or whatever one added real apps. it was slow as molasses. it had a 320×480 screen. it was already unable to run some of the new stuff in the app store. but it was &lt;em&gt;right&lt;/em&gt;, it was &lt;em&gt;objectively correct&lt;/em&gt;, it was the thing that was &lt;em&gt;supposed to exist&lt;/em&gt;, and i finally had it, and i never let it out of my sight ever again because it filled in &lt;em&gt;every single gap in my electronic life&lt;/em&gt;. which, at this point in my existence, was simply my entire life.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
all this to say: i am a &lt;em&gt;disciple&lt;/em&gt; of the smartphone, and a full-contact user. “full-contact” meaning that i use &lt;em&gt;every single part of the animal&lt;/em&gt;; nothing goes to waste.
&lt;/p&gt;

&lt;p&gt;
i rocked iphones from the 2G up through the 5, then i got a oneplus one and immediately converted to android because - at that time - it was like flipping a switch from “fisher price My First Portable Supercomputer” to “linux in your pocket” and, for all the hate i give linux (and i give it a &lt;em&gt;lot&lt;/em&gt;) i have immense respect for what it &lt;em&gt;used&lt;/em&gt; to represent, namely, the platform for people who know what they&amp;#039;re doing and are willing to accept the consequences if it turns out that&amp;#039;s not true.
&lt;/p&gt;

&lt;p&gt;
this distinction has, admittedly, softened considerably over time. for instance, apple added the ability to manipulate arbitrary files on iphones a few years ago, though i personally still find it clunky and awkward. it feels like going into a five star restaurant and asking for a grilled cheese: even if they make it for you, you&amp;#039;re going to get stinkeye the whole time. this is how i feel about the entire apple ecosystem, in fact. on paper it can do anything, but if you want to do something that apple wouldn&amp;#039;t like to see happening in one of their TV ads, the UI will make sure you feel like an unwanted guest who is just being tolerated. you aren&amp;#039;t &lt;em&gt;exactly&lt;/em&gt; unwelcome, but you should probably just use the bathroom, buy a cola at the bar as an unspoken apology, drink two sips, then leave as quietly as possible so everyone can start forgetting the time they had to see someone beneath their status.
&lt;/p&gt;

&lt;p&gt;
but back in 2011 or whenever, android was still the only platform for the absolute jerkoff who wanted to download a ZIP, extract the contents, edit them, then copy them to a USB drive, &lt;em&gt;entirely on their fucking phone&lt;/em&gt;. i did, and i still do this kind of bullshit from time to time. not every day, not every week, but often enough that i wouldn&amp;#039;t be caught dead with a device that couldn&amp;#039;t handle it. and the thing is, regardless of the specific platform, smartphones are just &lt;em&gt;amazing&lt;/em&gt;. i am in continuous &lt;em&gt;awe&lt;/em&gt; that i am carrying a device in my pocket at all times that can be used to SSH into a server, remote desktop into a windows PC, or create UEFI linux install media &lt;em&gt;literally&lt;/em&gt;&lt;em&gt; singlehandedly, as in, using only one hand&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
i have used my phone to rip a floppy disk before. earlier today, i paired it via bluetooth to a phone from 2004 in order to sideload a java game, and then i used it to find out if the UPS store was still open or if i&amp;#039;d be wasting a trip heading over there. my phone is simply a hyperportable laptop with a weird UI, and it&amp;#039;s &lt;em&gt;so fucking cool&lt;/em&gt; that i can own that, so when people say they want to go back to flip phones, i&amp;#039;m just… baffled.
&lt;/p&gt;

&lt;p&gt;
i mean. i&amp;#039;m not really, i&amp;#039;m just saying that for effect, i know what&amp;#039;s actually going on. nobody ACTUALLY wants to go back, because if you wanted to, &lt;em&gt;you would&lt;/em&gt;. you can still use a flip phone from 15 years ago, but also you can just buy a new one because they still make them. they never stopped. there has never been a time since like 2005 when you couldn&amp;#039;t buy a flip phone for $40. walmart is selling them &lt;em&gt;right now&lt;/em&gt; for $19.95 in fact. you can just buy one if you want! but you don&amp;#039;t, actually!
&lt;/p&gt;

&lt;p&gt;
i mean what would you do with it? make phone calls? i haven&amp;#039;t met anyone in over a decade who didn&amp;#039;t regard a ringing cellphone the way one would regard a moist paper bag abandoned on a bus seat that is emitting a white mist, so i &lt;em&gt;know&lt;/em&gt; you aren&amp;#039;t looking to tote around a gadget just for that. text on it? when&amp;#039;s the last time you sent a text, an &lt;em&gt;actual SMS&lt;/em&gt;, and not an IM on discord or telegram or whatever? the purpose of texting is to get yelled at by relatives, bosses and landlords. everyone you actually &lt;em&gt;trust&lt;/em&gt; you talk to online, so i know you don&amp;#039;t want to downgrade from “little box that has all my friends in it :)” to “little box whose sole purpose is to let collections people and homophobic aunts bother me.”
&lt;/p&gt;

&lt;p&gt;
also when&amp;#039;s the last time you composed text on a dialpad? people complain about touchscreen keyboards and yeah, no, i get it, but &lt;em&gt;when is the last time you texted on a dialpad?&lt;/em&gt; things could be, and were, much worse.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
when people say they want a flip phone again, what they &lt;em&gt;usually&lt;/em&gt; mean (as with most nostalgia) is that they want to be &lt;em&gt;young again&lt;/em&gt;&lt;em&gt;, &lt;/em&gt;or at least, they want to return to a time when they felt like the world was simpler. the trick with this is that the world was never simple. every generation ends up feeling &lt;em&gt;exactly&lt;/em&gt; the way you do right now, after they&amp;#039;ve been through enough “months that last for years.” that is not a new phenomenon, The Cool Zone has been around forever.
&lt;/p&gt;

&lt;p&gt;
imagine living through the cuban missile crisis or watergate. you spend weeks or months constantly at high stress, and then when it&amp;#039;s “over”, it&amp;#039;s not over. the ramifications just keep going and going, and you can&amp;#039;t un-learn what you&amp;#039;ve learned, so it&amp;#039;s now a part of the algebra for &lt;em&gt;every single thought you have about the world, forever&lt;/em&gt;. inevitably, you will pine for anything that reminds you of the time before you had these awful revelations. the fact that the world &lt;em&gt;still sucked&lt;/em&gt; doesn&amp;#039;t matter, because you didn&amp;#039;t &lt;em&gt;know&lt;/em&gt; that. ignorance is bliss, and losing yourself in nostalgia is the closest you can get. letting yourself enjoy a sony clie
&lt;/p&gt;

&lt;p&gt;
again, if i&amp;#039;m wrong, prove me wrong: throw out your smartphone and buy a $20 walmart special. i know you won&amp;#039;t, because you &lt;em&gt;rightfully&lt;/em&gt; consider it absurd to not be able to pull up home depot&amp;#039;s website in your car to see if something&amp;#039;s in stock &lt;em&gt;before&lt;/em&gt; driving across town just to get disappointed and waste 40 minutes. we can crow all we want about being “addicted” to the internet or apps or whatever but if you wanted to stop, you&amp;#039;d just &lt;em&gt;not install them&lt;/em&gt;. you aren&amp;#039;t staying in bed for three hours in the morning flipping through tiktok because it&amp;#039;s a hypnosis program made by some big mind-controlling meanie, it&amp;#039;s because &lt;em&gt;you aren&amp;#039;t looking forward to getting up&lt;/em&gt;. you know what people did in the 80s when they felt like there was no point in getting out of bed because it&amp;#039;s all downhill after that? they stayed in bed and did nothing at all. you&amp;#039;re just filling the empty space with &lt;em&gt;something&lt;/em&gt; instead of nothing.
&lt;/p&gt;

&lt;p&gt;
and yeah, i know there&amp;#039;s other downsides to The Black Rectangle being the default option. everyone misses tiny keyboards, but smartphones are a land of compromises, and every single one of them was a necessary part of the pursuit of functionality. every time phones have gotten larger and the bezel has shrunk, i have rubbed my hands together and giggled, because i&amp;#039;m the guy with the SICKOS shirt. i &lt;em&gt;am&lt;/em&gt; a full-contact user who wants the largest possible amount of screen real estate &lt;em&gt;and &lt;/em&gt;happens to have huge hands, so i hated how tiny the iphone 5 was, and i hate how tiny &lt;em&gt;most&lt;/em&gt; smartphones still feel in my hands. but i do understand that this doesn&amp;#039;t work for everyone and i sympathize.
&lt;/p&gt;

&lt;p&gt;
it goes &lt;em&gt;completely&lt;/em&gt; without saying that the blind pursuit of raw functionality is an injustice that has left many people behind. i have a friend who went FAR out of her way to buy one of the precious few semi-modern android phones with a physical keyboard, and she loves it, despite recognizing how much of a disadvantage it puts her at in some ways. her phone is &lt;em&gt;weird&lt;/em&gt;, and limiting, and the screen is tiny, but it&amp;#039;s what she needs. i really, really, really wish that our economic system wasn&amp;#039;t allergic to variety, because more phones like that should exist. hell, they should make smartphones with keyboards and then &lt;em&gt;a full size portrait screen on top&lt;/em&gt;. a phone that&amp;#039;s like 12“ tall - i know countless people who would rock it. fuck capitalism. anyway
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
in summary, i &lt;em&gt;like&lt;/em&gt; smartphones. i &lt;em&gt;like&lt;/em&gt; where things have ended up, and this is all working out for me, the protagonist of reality. i wish it worked out for more people, but &lt;em&gt;personally&lt;/em&gt; i don&amp;#039;t want anything all that different from what i&amp;#039;m getting. well, they should put more physical buttons on the phones, THAT&amp;#039;S just free real estate, but otherwise i&amp;#039;m pretty happy and i have no desire &lt;em&gt;at all&lt;/em&gt; to RETVRN.
&lt;/p&gt;

&lt;p&gt;
the reason i am dicking with flip phones is because i&amp;#039;m curious about the software situation, a thing i missed out on in its day. J2ME games are a window into a segment of the human experience that i (and probably most nerds) was not part of, partly by choice, partly due to privilege. to wit, when i looked at my Cingular flip phone in 2004 and saw that it could, theoretically, deliver a copy of Bejeweled to me, i reacted with a mix of disinterest and disgust.
&lt;/p&gt;

&lt;p&gt;
disinterest, because i had access to a high powered PC with a huge screen at home, and (being unemployed and supported by my family) nothing stopped me from spending many hours there using it.
&lt;/p&gt;

&lt;p&gt;
disgust, because i saw that PC version as the objectively correct and ideal version of the game, and knew that the flip-phone version would be heavily compromised in comparison. lower resolution, poorer quality sound effects, rougher inputs, fewer stages, etc.
&lt;/p&gt;

&lt;p&gt;
all true, as it turns out - mobile bejeweled is worse than any desktop version, objectively. and yet, those things shouldn&amp;#039;t have invalidated Bejeweled For Phones in my eyes. as a shitty teen i regarded it as a scam, or at least a silly waste of money: “if you&amp;#039;re going to play a game, do it right. either get a PC or a decent handheld console.” i did not have a worldview broad enough to imagine a person who
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; could not afford a PC, or a second handheld device&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; or was rarely home&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; or who spent a lot of time on public transit&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; or who just simply didn&amp;#039;t see any &lt;em&gt;need&lt;/em&gt;  to restrict their Bejeweling to an environment where they could run it on an enormous monitor at 60fps.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
part of the maturing of my outlook on life has been to accept that i, like most nerds, am a picky elitist, and that most people &lt;em&gt;literally cannot perceive&lt;/em&gt;  many of the things that i consider disappointing compromises, or if they can, they simply do not care.
&lt;/p&gt;

&lt;p&gt;
and sure enough, when i posted the clip of J2ME Pac-Man on my YT side channel the other day, a couple dozen people commented immediately, citing various flip phone games that they straight up adored and would like to play again. my elitism was, clearly and unsurprisingly, &lt;em&gt;factually&lt;/em&gt;  wrong. so i am redressing that, and in the process learning that there &lt;em&gt;was&lt;/em&gt;  meat on this bone, and had i been a bit less stuck up back in 2006, i could have enjoyed it.
&lt;/p&gt;

&lt;/div&gt;
&lt;span class=&quot;plugin_feedmod_comments&quot;&gt;
  &lt;a href=&quot;https://blog.cathoderaydude.com/doku.php?id=blog:why_am_i_interested_in_flip_phones#discussion__section&quot; title=&quot;Read or add comments to this article&quot;&gt;Read or add comments to this article&lt;/a&gt;
&lt;/span&gt;
</description>
    </item>
</rdf:RDF>
