1. I'd enjoy hearing from someone knowledgeable about Linux kernel evolution what they consider the big contributors to modern Linux taking up many times more resources than it did back when I ran early Slackware on a similar 486 with 12 MB of RAM. NOT so I can rant about how "modern software is bLoATeD because programmers are LaZy" (ugh), but I'm truly curious what has changed, because we usually tend to think of software growing over time for several reasons, some of which don't seem very applicable here:

    1. Using a higher-level language/runtime that's more efficient for programmer productivity but that outputs less efficient code — nope, still using C.

    2. Decreased effort on optimization. I'm sure this is a factor, but I also wonder how applicable it is here. In my day job, I may carelessly use an exponential algorithm or an inefficient data structure because it's quicker to just get the job done, but my impression is that the kernel is still going to pay a lot of attention to such things. Not quite as much as 30 years ago, probably, but kernel engineers aren't just using bubble sort all over the place now.

    3. Increased functionality. The modularity of Linux, especially the kernel, mitigates this somewhat: sure, a 2025 kernel supports thousands more devices, file systems, etc than a 1995 one did, but you can compile most of those out. Still, my impression is that we end up with a kernel not just somewhat larger but many times the size of the old ones.

    4. Tunables (or things that potentially could be tunable). This would actually be my best guess for where big easy wins could be had: code paths that allocate a 1 MB buffer when they could get by—and would have, years ago—with a few KB. On a system with GBs of RAM, larger allocations like that are probably advantageous but they can really crush an old system.

    Likewise in userland: `ls` surely has more options now, but not _that_ many more, right?

  2. One of the coolest things I've seen in a while
  3. Everything now tries to ape the Apple aesthetic in advertising. Badly. I wish more companies would cut a different path instead of being mentally lazy and giving us uninspired crap 💩 that all looks the same.
  4. Coin op is always fascinating to me. How custom and bespoke the boards are for audio and video and IO. The amount of hardware in this gaming experience is insane. I would have loved to play any of these versions.
  5. Rebellion. This is beyond amazing to see. It’s like wiring LED lights inline with speaker wire to capture the beat in “Das Blinkenlightsen” in the 80s.
  6. i remember dos 5.0 fondly. we had been stuck on 3.30 forever. 4.0 had come but had used to much memory that i never encountered it in the wild. 5.0 was just so much better. edit, qbasic, freed up more memory for applications.
  7. Super impressive
  8. That is absolute... MADNESS! And I mean that in the very best possible way. Wildly impressive.
  9. I remember seeing one of these in a Walmart entry lobby back in the early 90s. It was eye-catching to a video game nerd and looked sort of cool but after playing it a couple times I stopped because, well, it just wasn't a very fun game.

    Like so many other high-concept or 'gimmick' games, it managed to get attention but failed on basic game play.

  10. That sounds like a very relevant clue - interesting!

    Maybe you're thinking of DisplayWrite? See the second screenshot at https://www.dosdays.co.uk/topics/Software/ibm_displaywrite.p...

  11. lol :D
  12. As the last line says: Here there's a bill there's a key!
  13. Great blog. I was recently reviving my Zorba and had my first experience spelunking through the Walnut Creek archive - his articles were immensely helpful. https://techtinkering.com/articles/tag/cpm/
  14. IBM Selectric Electric Typewriter left margin symbol indicator thingy on the little carriage position indicator plate between the keys and the platen of the typewriter. Most high schools had rows of these typewriters in a classroom to teach touch typing until at least the 90s when they were displaced by PC software. I don't think high schools teach typing anymore, would not work well on iPads.

    I was there in the 80s, and I remember this character being used margin/tab displaying purposes in at least one word processor program. It seems an obvious use, IBM literally used that symbol for that purpose on their typewriters. Does anyone else remember the name of the word processor program?

  15. I love seeing these kind of "can it be done?" experiments, limitations be damned. But I also have to admit it appears absolutely unreadable :) The 40 column mode looks nice, though.
  16. I will toss out the idea that the moderns are simpler and more orthogonal to teach than the retros.

    For example Classic Retro Motorola had an interesting register model where 8 bit registers A and B are ALSO simultaneously 16 bit register D, found on my favorite 6809 but also the 68hc11 microcontroller. This is mystifying to new programmers (so I wrote to register A which messed up register D what?)

    The craziest thing about RISC-V register model is if you try to save a value to register x0 you will be very unhappy when you read zeros from x0 (because x0 is an infinite source of zeros on RV32I ...)

    Likewise things get weird on retro CPUs where certain adds and moves can be written in assembly but can't be assembled by the assembler. I distinctly recall a test question where some new-at-the-time chip example was asking if you can inc its stack pointer or add hex 1 to its stack pointer or just pop it. It depends on the chip of course but generally the newer the chip the more generic its registers and rules.

  17. Turbo Pascal had a similar method where code segments could be swapped in and out via .OVL files that were created at compile/link time.

    https://secondboyet.com/articles/publishedarticles/theslithy...

  18. I am on my 3rd keyboard for the 1200xl. probably the only flaw in the system. I feed video off of it from my DVDO Iscan video processor - I hope to have a revive machine some day so that I can go direct to display, but I dare to dream.....
  19. [ I posted a question (below) over at HN on the thread for this article and got the reply (further down) ]

    > "In July 2024, a new company called Tengen Games released its first game, “Zed and Zee,” for the Nintendo Entertainment System (NES) ... Tengen and its parent company, Atari Games, had disappeared 30 years ago after being crushed in court by Nintendo for doing exactly the same thing: manufacturing unauthorized cartridges for the NES."

    The article doesn't address how Tengen is now able to produce unauthorized NES-compatible cartridges. Is Tengen paying Nintendo for a license? Did the patents expire? Did relevant legal precedents change? Another possibility might be that, while Atari's 80s legal actions established that intermediate infringement during reverse engineering could be fair use, Atari itself was precluded from relying on that fair use because its lawyers did naughty things. Maybe "new" Tengen reversed engineered it again from scratch without naughty lawyers?

    [ Reply ]

    > The patent on the lockout mechanism has expired and clean software implementations of the algorithm have been created. So the old legal protections no longer apply.

    And while Nintendo still aggressively enforces their copyright on their old games, they probably don't care very much about unlicensed games being created for their very old hardware. It's just not commercially relevant to them.

  20. I have a 1200XL in my collection (signed on the bottom by one of its hardware designers!). Compared to the 800XL, 600XL, 800 and 400, which I also have, it does indeed have the nicest keyboard. Since I wasn't following the Atari market closely in early 80s, I was interested to learn from the article that the 1200XL was announced and shipped before the 800XL and 600XL and then quickly discontinued.
  21. > Unless you're Dave's drinking buddy and there's beer on the table, that specific wording may be just a little bit harsh

    Yeah, maybe, sorry if it came across like that. We use the term "I call BS on that!" very colloquially and loosely here, so I didn't think of it as being offensive. I could have worded that better, I agree.

    > "Although it’s impossible to write to ROM, Commodore left out the circuitry in the 1541"

    There is no "circuitry" to disable writing to ROM. ROM chips have no r/W pin, so no circuitry could attach to that. The only thing I could imagine is that they "forgot" the circuitry to disable the ROM's outputs when a write was issued. In that case, the CPU and the ROM write to the data bus at the same time. Which would totally garble whatever it is that is on the bus (which doesn't matter, since the write would be lost anyway), and maybe send a few more milliamps through the processor's (or the ROM's) data lines, but I doubt that this would be much more than what those pins are designed to handle in the first place.

    One fact though is that the RAM chips they used back then were often very low quality (because they had trouble sourcing the amount they needed to keep up with the demand), and these RAM chips just broke at some point.... Watch any YouTube video about a C64 repair, and you will notice that everyone just complains about those chips. But that is a different issue and wouldn't explain the ROM chips breaking, or why the issue happens because of "writing to ROM"...

  22. yeah, there definitely were hardware viruses, stepping the drive out of its maximum cylinder was one... I remember there were even hard drives that didn't have a physical stop, so the head just dropped down on the platter at some point. But to exploit that you had to make sure that you are running on the exact (vulnerable) disk drive model, which was already very unlikely.

    I also heard stories of programming graphics card registers in a fancy way to trigger high frequencies in the CRT coils that could, again if the CRT was vulnerable, potentially destroy the coil. But this also relied on very specific hardware to pull it off.

    A generic attack on such a high volume home computer or floppy drive like the C1541 would definitely have made the rounds back then in the computer magazines.

    And the myth that developers deliberately put in code to damage or even destroy the pirates' computers can also be ruled out almost entirely, as (at least in europe) even back then there was a strong legal protection against deliberately damaging other people's property. I distinctly remember reading about this being debunked in the largest German C64 magazine (64'er) by a lawyer....

  23. You're limited to 64k on the AppleII, but one of the extensions to standard Pascal that Apple Pascal supports is "segments", where you can break a larger program into multiple code segments, which can replace each other in memory.
  24. All versions of Apple Pascal use 16-bit pointers, so data was always limited to a 64 KB address space. On the 128K Apple II, p-code was located in aux memory, and data was located in main memory.

    Apple III Pascal had similar limitations, with separate 64K address spaces for p-code and data. On machines with more than 128 KB of RAM, there were assembly routines available for allocating additional memory and swapping data memory.

  25. There was a 128k version of Apple Pascal available on the Apple II. My question, applicable to both this and the Apple III version, is: Was the bank switching managed by the developer or by the Pascal runtime? If it's managed by the runtime, the addresses must have been encodable with >16 bits.
  26. you have 0 messages(s) :-)
  27. > code that destroys chips or other components by overheating/stressing them

    I agree with you that, just on general principles, I don't know of any reason writing to a masked ROM chip would have any negative impact. While I didn't have a C64 back in the day (I do now though), I did have a Radio Shack Coco which had 16K of masked ROM for the BASIC interpreter (and another 8K of masked ROM if the optional disk controller cartridge was there). And the Coco never had anything like what Dave describes ("Although it’s impossible to write to ROM, Commodore left out the circuitry in the 1541"). The CPU could write to any address whether it held ROM, RAM, control registers or nothing at all. A masked ROM doesn't even have a write select pin. Some EPROMs have a write select but that requires other voltage etc. I used a lot of EPROMs back in the day because I worked at a company that leased hundreds of complete Coco systems to corporate customers each with it's own unique software on a custom cartridge. Each EPROM was burned by hand because it had proprietary customer data on it. The cost was no problem because one month's lease paid for the whole computer. :-)

    Since I wrote the EPROM bank switching assembly language routines that drove the custom ROM cartridge hardware, I hammered EPROMS with writes all the time and it never hurt them (and we had hundreds of systems in all-day use). So that part doesn't make much sense to me unless there was something very unusual about the Commodore 1541 controller hardware (and to be fair, I understand the 1541 was weirdly complicated). EEPROMs could maybe have been effected but those were expensive and I can't imagine Commodore shipped electronically erasable chips in volume when much cheaper masked ROMs would suffice. So I suspect whatever Dave is talking about perhaps got garbled or conflated (as 30+ year-old memories do).

    If it's garbled or conflated it could be based on the legendary (but real) undocumented HCF instruction (Halt and Catch Fire). And I know all about that because the Coco's 6809 was the original 8-bit home computer CPU that had that instruction. https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing.... But even HCF wouldn't actually damage your processor, although it could certainly warm it up if you left it running!

    Further grasping at straws here... I guess every CPU does have some lifespan limit based on cycles and heat but it's really long. Unless something's very wrong with the chip or system design, that lifespan limit isn't usually a factor for a mass market computer. Another thing which might lead to confusion is that lots of computers over the years have had designs that were "thermally challenged" either through poor design, manufacturing errors or excess cost cutting. In those specific cases, it was possible to run really tight loops on the CPU which would, given some time, warm up the processor more than normal and cause a crash due to exceeding the T-limit (max operating temp) for too long. Some early computers also had RF design issues in how the traces on the motherboard were laid out. On these systems, if the RF shield wasn't grounded and you ran code hammering the address lines in certain ways, it could cause enough ringing to turn traces into little antennas spewing out noise and that could cause the computer to crash due to corrupted signals on the adjacent data lines. Once again, that was just a software crash, not permanent damage, and I never personally saw it happen except on prototypes and wire-wrap boards.

    > I call BS on this claim

    Unless you're Dave's drinking buddy and there's beer on the table, that specific wording may be just a little bit harsh. I mean, Dave has generated a huge volume of retro writing over a lot of years... and the dude definitely lived it first hand. Mistakes happen and I've certainly conflated or garbled some things from 30+ years ago but I doubt he's just making stuff up. I think he's writing from personal experience and relating the truth as he remembers it. That said, I think it's entirely reasonable to ask him for more clarification whenever something doesn't make sense. As retro-obsessive as he obviously is, like me, I'm sure he'd love to find out something he thought he knew is actually different.

  28. There was the BHP virus, but that was more of a proof of concept, and I don't remember hearing much (if anything) of it being in the wild. That said, it could stamp itself on disks even by simply listing the directory. 64'er was indirectly its source (by claiming it couldn't be done), and they were also the ones to issue a cleaner to remove it from disks.

    See also groepaz's list: https://hitmen.c02.at/files/docs/c64/C64_Virus_List.txt

  29. Except it's unlikely to be exclusively for Commodore systems - they seem to be making it retro-general. Which is fine, but that's not Gazette, either.
  30. Apple Pascal on the Apple II was restricted to 64 K memory; this limitation was due to the 6502's 16-bit address bus. The Apple III with it's 6502A could address 256 K, but only by bank switching; pointers remained 16-bit. The later Pascal versions (after Apple III) did no longer use P-code, but compiled to native code.
  31. More