when it's trying to un-show a dialog box, it fills in the dialog box with black.
then white.
then it starts redrawing the background.
Notices by Foone🏳️⚧️ (foone@digipres.club)
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:07 JST Foone🏳️⚧️
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:06 JST Foone🏳️⚧️
oh good lord. when you open the Hall of Fame window, it paints the background light blue, then loads the background image which overwrites the light blue with dark blue
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:06 JST Foone🏳️⚧️
this only happens with movable dialogs. unmovable dialogs don't flash black+white.
which makes me think it's a bug rather than an intentional decision
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:05 JST Foone🏳️⚧️
b8 13 29 MOV AX ,0x2913
50 PUSH AX
b8 00 00 MOV AX ,0x0
50 PUSH AXPOP QUIX: The usual way to zero out a register on x86 is XOR AX,AX. This'd be only 2 bytes (31 C0). The compiler knows this. Why didn't it use XOR AX, AX here, instead of the bigger MOV AX, 0x0?
(It's not because optimizations were off!)
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:04 JST Foone🏳️⚧️
@millihertz got it:
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:04 JST Foone🏳️⚧️
here's a hint: that disassembly is from the EXE, not from the memory of a running program.
(why would that matter?)
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:03 JST Foone🏳️⚧️
I named this variable SoundBlasterPort but now, thanks to crossreferencing with the Prince of Persia disassembly, I know it's actually sound_blaster_port
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:02 JST Foone🏳️⚧️
63.9% named, and I'm up to 160 matching functions with prince.exe
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:02 JST Foone🏳️⚧️
Total funcs: 762
Unnamed funcs: 293
% named: 61.5%118 of those named functions have been marked as identical to ones from Prince Of Persia (or vice versa... I have no idea which game had this code first)
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:01 JST Foone🏳️⚧️
1000:700b MOV CX,0x20
TimingLoop:
1000:700e LOOP TimingLoopahh, the good ol' days when "32 instructions" was a meaningful unit of time.
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:01 JST Foone🏳️⚧️
my initial theory of how the code sharing went:
Prince of Persia ->
Where in the World is Carmen Sandiego (enhanced) ->
Where in the USA is Carmen Sandiego (enhanced) ->
Galleons of Glory: The Secret Voyage of Magellan -
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:58:00 JST Foone🏳️⚧️
1. why does the PS/1 sound card use the gameport IO range?
2. WHY DID I HAVE TO READ THE DOSBOX-X SOURCE CODE TO FIND THIS OUT? -
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:57:59 JST Foone🏳️⚧️
The game also refers to the capitol of china as Peking, which is weird considering it's been Beijing since 1945. I know it took a long while for everywhere to catch up, but by 1990 pretty much everyone was using Beijing. I guess they used an old atlas?
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:57:59 JST Foone🏳️⚧️
the game picks between "they flew off to X" and "they drove off to X" and "they rowed off to X" and "they sailed off to X" but it doesn't seem to do this with any smarts.
or if it does, the database is incorrect.carmen apparently drove off to nepal from canada
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:57:58 JST Foone🏳️⚧️
another way in which this game shows that it's from 1990 is that the librarians will tell you anything about their patrons.
that shit stopped after 2001
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:57:57 JST Foone🏳️⚧️
I'm experimenting with a way to show how DOS games render themselves.
Basically I'm recording a lossless video of the game running on a very slow CPU, then removing all the frames where nothing happens, and I'm playing it back sped up a lot.The highlight of this video is how terrible the handling of the mouse cursor is! it's getting peeled and restored constantly
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 13:57:57 JST Foone🏳️⚧️
what do you mean he changed his money to rupees?
You're in Sri Lanka! YOUR currency is rupees! -
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Friday, 30-May-2025 12:43:13 JST Foone🏳️⚧️
I wonder if anyone has made a ethernet to usb-c adapter, that could be use to simultaneously charge and provide internet to a smartphone
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Thursday, 29-May-2025 12:58:31 JST Foone🏳️⚧️
@alilly I think they just wanted it to be proprietary for its own sake
-
Embed this notice
Foone🏳️⚧️ (foone@digipres.club)'s status on Thursday, 29-May-2025 12:57:33 JST Foone🏳️⚧️
btw my ad-hoc "eras" for DOS that I just invented in that post:
early era: text or CGA, usually assumes 8mhz (so you have to turn off turbo), may even be a booter. 5.25" disks. freeware and bad ports.
mid era: supports 5 video standards but only ever uses 16 colors max. comes on a 3.5" disk or two. might support soundblaster but only use it as adlib, while the sound effects are still pc speaker. shareware and edutainment abounds.
late era: CD-rom based, super-vga. big boxed retail software.