Post AwQLMzZRbvfHEVIezw by rpl@s.pebcak.de
 (DIR) More posts by rpl@s.pebcak.de
 (DIR) Post #AwPO1IEzcWupTG7Qi8 by foone@digipres.club
       2025-07-23T00:41:03Z
       
       0 likes, 0 repeats
       
       I tried to use my "capture the game running on a super-slow CPU" trick on SimCity 2000 and got a surprising result: it just crashes immediately!
       
 (DIR) Post #AwPO72Du5PZbWyLaRE by foone@digipres.club
       2025-07-23T00:42:09Z
       
       1 likes, 0 repeats
       
       I wonder how you write a program so that if your CPU suddenly drops to 1/100th speed, it crashes. weird.
       
 (DIR) Post #AwPOBeD4nKqcVE9xr6 by whitequark@mastodon.social
       2025-07-23T00:42:19Z
       
       0 likes, 0 repeats
       
       @foone question: how do you end up with a screen like this? aren't the text and graphics modes using different planes with incompatible encodings?
       
 (DIR) Post #AwPORyvjWbsjOmpuxk by theogrin@chaosfem.tw
       2025-07-23T00:45:56Z
       
       0 likes, 0 repeats
       
       @foone Does it tie certain events to how much real time has passed rather than framerate?  That's the only thing that leaps immediately to mind.
       
 (DIR) Post #AwPOUu5E0C1NEdfYO0 by foone@digipres.club
       2025-07-23T00:46:02Z
       
       0 likes, 0 repeats
       
       @whitequark They are! I'm not entirely sure this is possible on real hardware, but sometimes text modes are emulated on top of a vesa mode, so they can crash and collide like this
       
 (DIR) Post #AwPOq4tazrseqnKJ3A by whbboyd@mastodon.social
       2025-07-23T00:50:14Z
       
       0 likes, 0 repeats
       
       @foone My guess, especially from the error: it's trying to talk to some other piece of hardware (disk, maybe) that's *not* running at 1% speed, and isn't prepared to do enough waiting/buffering to handle the discrepancy.
       
 (DIR) Post #AwPOuLXn2atdduA8Lw by rakslice@mastodon.social
       2025-07-23T00:51:05Z
       
       0 likes, 0 repeats
       
       @foone @whitequark like there's no reason a video bios couldn't know how to draw text in a graphics mode the video hardware supports
       
 (DIR) Post #AwPPtHlZhUkDahfUMC by huronbikes@cyberplace.social
       2025-07-23T01:02:02Z
       
       0 likes, 0 repeats
       
       @foone found an old thread from Vogons about DOS/4GW crashing SimCity 2000 in DOSBox and a thread on Steam about Dark Forces acting in a similar manner. The remedy in either case was of course to do the opposite of what you did.Seems like an interesting problem.
       
 (DIR) Post #AwPQCYZ9Spr5CE2wOu by cr1901@mastodon.social
       2025-07-23T01:05:31Z
       
       0 likes, 0 repeats
       
       @foone @whitequark I have seen some BIOSes- maybe even the original 1981 one- keep a copy of the text mode font ROM in their firmware, but with the gfx mode layout.I have the source to a Hercules gfx demo _somewhere_ that displays text using said gfx mode copy of the BIOS font ROM.
       
 (DIR) Post #AwPS9KeMwjGd4o4q80 by foone@digipres.club
       2025-07-23T01:27:20Z
       
       0 likes, 0 repeats
       
       @Rairii @whitequark yeah. usually dos4gw crashes into a lower resolution (320x200) but I guess because this is a vesa 640x480 mode, it looks relatively normal
       
 (DIR) Post #AwPmq44kRa6lCt4N8a by StompyRobot@mastodon.gamedev.place
       2025-07-23T05:18:56Z
       
       0 likes, 0 repeats
       
       @foone many async systems have that problem. Sound playback is common.
       
 (DIR) Post #AwPnvfwXBGLo3LT0KW by foone@digipres.club
       2025-07-23T05:31:25Z
       
       1 likes, 0 repeats
       
       @StompyRobot Sound is a good point! I went back and tried disabling music/sound to see if it'd help, but sadly no.
       
 (DIR) Post #AwPpRYSKeXvc3L6Zua by SvenGeier@mathstodon.xyz
       2025-07-23T05:48:18Z
       
       0 likes, 0 repeats
       
       @foone"At every vsync do xyz, if you encounter abc, drop registers 2234 onto the stack and hit some interrupt to signal to the CPU that this needs to be cleaned up". And then the CPU doesn't get around to cleaning it up and the stack overflows...🤷🏽‍♂️
       
 (DIR) Post #AwPrCqa5BMJBpaqRjk by foone@digipres.club
       2025-07-23T06:08:07Z
       
       0 likes, 0 repeats
       
       130 cycles/second seems to be the slowest you can set it without it crashing. it also double-buffers the screen so I can't easily capture it drawing the screen. I don't yet have a way to capture the evolution of off-screen buffers (though I've worked on it )
       
 (DIR) Post #AwPrIIE7p5Zv1NAgRE by foone@digipres.club
       2025-07-23T06:09:10Z
       
       0 likes, 0 repeats
       
       130 is also way higher than I'd like, because you can memcopy the screen in like 50 frames at that speed
       
 (DIR) Post #AwPrMkND7Iq9TTXpuy by foone@digipres.club
       2025-07-23T06:09:54Z
       
       0 likes, 0 repeats
       
       so normally I use like 30 cycles per second for these slow-motion drawing GIFs. sadly this game is buffered and crashy at low speeds
       
 (DIR) Post #AwPrPzbgw2r1aarjtY by foone@digipres.club
       2025-07-23T06:10:27Z
       
       0 likes, 0 repeats
       
       I suspect the crash is mouse related: I got it to run at 125 cycles/second for a couple seconds, but then I moved the mouse "too much" and it crashed
       
 (DIR) Post #AwPsf5wXl7j5XTNt1k by StarkRG@myside-yourside.net
       2025-07-23T06:12:39Z
       
       0 likes, 0 repeats
       
       @foone It's probably related to how consumer-grade GPS refuses to work at really high speeds or altitudes (to stop it being used on non-American missiles).
       
 (DIR) Post #AwPsf74jY9s73ADwQq by foone@digipres.club
       2025-07-23T06:24:20Z
       
       0 likes, 0 repeats
       
       @StarkRG good point. terrorists are always trying to use 90s city simulators for evil
       
 (DIR) Post #AwPtB4PSzoX2389yHQ by foone@digipres.club
       2025-07-23T06:30:10Z
       
       0 likes, 0 repeats
       
       I tried doing a memory dump and DOSBox says all 16 megabytes of ram I have are 0x55. 32bit DOS programs are so weird
       
 (DIR) Post #AwPthKWMd8PjHglihU by lanodan@queer.hacktivis.me
       2025-07-23T06:36:24.264453Z
       
       0 likes, 0 repeats
       
       @foone Heh 'U' I guess the DOS is crying. ^^
       
 (DIR) Post #AwQLMzZRbvfHEVIezw by rpl@s.pebcak.de
       2025-07-23T11:45:52Z
       
       0 likes, 0 repeats
       
       @foone Can’t you implement some speed limit for the virtual mouse? A Mouse with cruise control seems like it’s directly up your alley.
       
 (DIR) Post #AwQMID4G6MsXbDzqyW by rvalue@infosec.exchange
       2025-07-23T11:56:26Z
       
       0 likes, 0 repeats
       
       @foone I’d do it by audio buffer under-run, personally.
       
 (DIR) Post #AwQQUNQzmfEJ2iglou by foone@digipres.club
       2025-07-23T12:43:25Z
       
       0 likes, 0 repeats
       
       @rvalue Someone else suggested that! I tried turning off the sound & music to see if it helped: sadly not
       
 (DIR) Post #AwSbhyn3h7qCTbcKg4 by StompyRobot@mastodon.gamedev.place
       2025-07-24T13:58:32Z
       
       0 likes, 0 repeats
       
       @foone worth a shot
       
 (DIR) Post #AwSc0bOssjmhR6Bpqq by rvalue@infosec.exchange
       2025-07-24T14:01:58Z
       
       0 likes, 0 repeats
       
       @foone if you think there might be something there, maybe turn off the device emulation altogether?Never did DOS audio but I understand the “hardware” will be raising an interrupt registered by the driver to update the waveform buffers etc. and the interrupt handler might not be reentrant.