Need math problem to crash 80's CPUs

I think he needs to go a little higher level on what he’s talking about.

All of the answers (well, the on-topic ones) in this thread are good, but to take the request literally, to lock-up the computer you can just write a trivial loop in a few lines of assembly (POKE’d into memory if you have a BASIC language) and the CPU’ll be useless until it resets. But that’s not very dramatic.

I don’t want to physically damage it, I was just letting people know that even if the 80’s processors were passively cooled, loops are not enough to overheat them. :slight_smile:

edit: BTW the “does not compute exploding robot” is definitely what I am going for, the person is writing the program to intentionally do so for an art exhibit.

The one line loop is not sufficient because metaphorically for the story it does not ask an interesting problem that is a metaphor for a human being trying to comprehend infinity/god etc. I think I was too ignorant about how computers work and I will just have to scrap the story, but I learned a lot!

I think an infinite loop would be a pretty good metaphor for trying to comprehend infinity. Every post makes me more confused about what exactly you’re asking for, so I’ll just bow out I guess.

If it’s an art exhibit why don’t you just use explosives?

Yeah wait a minute, all of this and then you tell us it’s for something that could be easily faked? Feh.

Just have your art exhibit write “oh wow this universe sure is infinite, ain’t it?” on the screen then pipe-in some smoke machine behind it.

Because,

10 Type “hi”
20 GOTO 10
is not interesting at all or a very good metaphor use in the character’s art exhibit. So I was looking for an elegant way in software to lock up an 80’s CPU without causing it physical damage, so that it could be reset to think of the same problem over and over again.

So the problem with this thread is that I am not doing a great job explaining what I want (I am no programmer) or, it sounds like what I am looking for is not possible because even 80’s CPUs just kick too much ass. I don’t want to write the story if I can’t describe the program plausibly (since it sounds like it’s not possible).

I have suggested a problem similar to computing pi to a however many digits until the computer runs out of memory, but that I’d like a different/more obscure problem to eventually run out of memory than computing pi, but no one has so far suggested one.

That’s nonsense from the 1950s that reflected the fact most people writing and consuming fiction back then had no idea how computers worked. It’s never been accurate. Nothing has ever worked, or failed to work, like that. Ever.

The closest you’ll get is the ‘killer pokes’ of the type I linked to above, a completely non-dramatic infinite loop, or a simple error code which isn’t much more dramatic than an infinite loop.

The idea that giving a computer an illogical instruction will cause the computer physical damage is nonsense. You might as well imagine that getting lost will cause your car’s engine to overheat and the radiator cap to blow off (because your car still has a radiator cap, right?).

Go with the factorial function, because it approaches infinity rather quickly, and will overflow any 80s computer rather rapidly with a screen full of numbers.

1! =1
2!=2
3!=6
4!=24

99!=933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000

From here

Si

Well, part of the problem here is that, generally speaking, the amount of memory has nothing to do with the CPU. The CPU itself only contains the barest minimum memory to complete its work, maybe 12-24 bytes. Another problem is that to present a CPU with a problem, you need to speak to it in the right language which is not something you can show a reader and have them go, “oh yeah that’s an interesting problem.” You wrote your loop example in BASIC, but a CPU knows nothing of BASIC…

So I think you really need to be talking about computer systems, and not just CPUs. I think that’s a lot of the confusion in this thread.

Computing Pi on, say, a C-64 will run out of memory fairly quickly, but it won’t automatically reset and run the same program again when the memory runs out. I don’t know of any way of doing that without “cheating” (i.e. by replacing the C-64’s ROM with a custom ROM, which would be pretty badass but certainly not easy.)

So what I’d recommend:

  1. Pick a specific 80s computer system (Commodore PET/64/128, Atari 400/800, Apple ][, Tandy 1000, or Sinclair ZX-81 would be the most popular choices)
  2. Pick a specific problem you want to present to the computer that meets your “reminds me of the infinite universe” criteria
  3. Have your character wire-up a custom ROM and replace the system’s default ROM with his own ROM chip

Now as to the second request, you want to explain what is going on in great detail so the reader understands it… well, you’re going to need to understand exactly what’s happening yourself first. Even for a Commodore-64, that’s quite a bit of study.

Instead of computing pi, maybe something like the program is trying to set memory so there are an even number of 0’s and 1’s, but every instruction that gets processed alters the landscape (instruction pointer changes, condition code register, etc.), so the program is never able to adjust memory properly, it gets close but not exact.

I think the issue with overheating is a modern-day issue with overclocking, high-end GPUs, etc. except for the infamous Apple III.

What do you want the computer to overheat for? If you just want the computer to shut down what about a power off or reboot command.

Set up a visual Tower of Hanoi with a recursive solution. Some number of disks will get you a stack overflow eventually. Pick a machine where that can be detected and use a serial or parallel port wired to an explosive detonator to get the big finale.

ETA: Sheez, artists. Got to do everything for them.

It just occurred to me that Commodore 64’s had cartridge slots, and they would boot-to-cartridge if one was inserted. So you don’t need to “cheat” by modifying the computer’s ROM, but you still need to build a custom ROM to go on the cartridge.

I finally re-read my OP. Forgive me, I made it when I was very tired, I have no idea why I type “overheat” attempting when I did not mean physically overheat, but lock up/crash or run out of memory. I was wondering why you guys were so obsessed with fans and heatsyncs when that wasn’t what I was trying to do, sorry. :slight_smile:

Oh crap! He’s modifying the specs again.

So, just another day at work then :wink:

Si

He must be in Sales or Marketing.

Or Apple OS Development?

Zing!

Instead of overloading the CPU, you could fill up the OS’s process table. Then it would be impossible to spawn new processes, including processes to kill off the out-of-control program.