code logs -> 2022 -> Fri, 05 Aug 2022< code.20220804.log - code.20220806.log >
--- Log opened Fri Aug 05 00:00:57 2022
01:19 gizmore|2 [kvirc@Nightstar-1hjo0u.dip0.t-ipconnect.de] has joined #code
01:21 gizmore [kvirc@Nightstar-rg0sb2.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
01:57 jessifae_ is now known as jessifae
02:12 Degi [Degi@Nightstar-5cr2c3.pool.telefonica.de] has quit [Ping timeout: 121 seconds]
02:13 Degi [Degi@Nightstar-sb3up3.pool.telefonica.de] has joined #code
04:35 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
05:19 Vorntastic [uid293981@Nightstar-phvupn.irccloud.com] has joined #code
05:19 mode/#code [+qo Vorntastic Vorntastic] by ChanServ
05:39 Pink [Pink@Nightstar-dgaf27.ph.cox.net] has quit [Ping timeout: 121 seconds]
07:12 gnolam [lenin@Nightstar-j9ajs0.priv.bahnhof.se] has quit [[NS] Quit: Gone]
07:38 Pink [Pink@Nightstar-dgaf27.ph.cox.net] has joined #code
07:48 jessifae_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code
07:48 jessifae [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Connection closed]
09:07
<&McMartin>
New Bumbershoot post! In which I talk about DOS nonsense and how it leaks into Amiga nonsense. https://bumbershootsoft.wordpress.com/2022/08/05/memory-models-and-far-pointers/
11:09 gnolam [lenin@Nightstar-j9ajs0.priv.bahnhof.se] has joined #code
11:09 mode/#code [+o gnolam] by ChanServ
12:53 Kizor [a@Nightstar-nfsqa7.yok.fi] has quit [Ping timeout: 121 seconds]
12:59 mac [macdjord@Nightstar-2heugl.dsl.bell.ca] has joined #code
12:59 mode/#code [+o mac] by ChanServ
13:02 macdjord [macdjord@Nightstar-2heugl.dsl.bell.ca] has quit [Ping timeout: 121 seconds]
13:09 jessifae_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [[NS] Quit: -a- IRC for Android 2.1.60]
13:23 Kizor [a@Nightstar-nfsqa7.yok.fi] has joined #code
14:11 Kizor [a@Nightstar-nfsqa7.yok.fi] has quit [Connection closed]
14:20 Kizor [a@Nightstar-nfsqa7.yok.fi] has joined #code
15:03 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
15:03 mode/#code [+qo Vornicus Vornicus] by ChanServ
16:49 Vorntastic [uid293981@Nightstar-phvupn.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity]
18:32
<@celticminstrel>
Why did “approximately every Macintosh programmer” use the high bits of pointers for custom metadata?
18:32
<@celticminstrel>
Was it something in the Macintosh Toolbox?
18:33 Kindamoody[zZz] is now known as Kindamoody
18:34
<&McMartin>
My impression was "it was something you could by casting your void *s to unsigned long"
18:34
<&McMartin>
*you could do
18:35
<&McMartin>
I'd have to re-check to see if the Toolbox did it itself, too, because handles probably could do that
18:35
<@celticminstrel>
That alone doesn’t seem sufficient to claim “approximately every Macintosh programmer”…
18:35
<&McMartin>
That should be read in the same tone of voice as "every DOS programmer relying on buffer overruns for correct behavior"
18:36
<&McMartin>
OK, re-checking
18:37
<&McMartin>
Yes, the memory manager pre-System 7 did this automatically. However, that didn't necessarily break things and lots of stuff runs on both 6 and 7, because "handles" are supposed to be opaque types and the code that did this manipulation is part of the OS, not linked into the binary itself.
18:38
<&McMartin>
But that did not stop people from manually taking advantage of that or replicating it themselves, which they did with sufficient abandon that any random piece of System 6-era software *probably* does not run on System 7 with patches.
18:38
<@celticminstrel>
You mean without patches?
18:38
<&McMartin>
Er, yes.
18:39
<&McMartin>
(Not the only reason it might not; System 7 is also the first point where multitasking becomes actually mandatory, as well.)
18:39
<&McMartin>
(That one has burned a few of us here when trying to get old games to run in emulation.)
18:40
<&McMartin>
Oh my
18:41
<&McMartin>
I take back "handles are supposed to be opaque types," because they *weren't* and *C didn't recognize them as such*
18:41
<&McMartin>
A classic Mac handle is struct whatever **.
18:42
<&McMartin>
"to convert a handle to a pointer, a program just de-references the handle directly, but if the handle is not locked, the pointer can become invalid quickly. Calls to lock and unlock handles are not balanced; ten calls to HLock are undone by a single call to HUnlock"
18:43
<@celticminstrel>
Handles being opaque types is a Carbon thing, isn’t it?
18:45
<&McMartin>
I haven't dug into this much but I think it comes about as part of the PowerPC transition, and the 68k Macs inherit it as part of later versions of System 7.
18:46
<&McMartin>
68040s cannot fake 24-bit mode in hardware so 32-bit cleanliness is a hard requirement there, which will also mean that they have to do handles properly at the OS level.
18:46
<&McMartin>
So that's going to show up... with the Quadras in 1991 I guess?
18:47
<&McMartin>
... which is also about when the Amiga 1200 shows up, and also about the point where DOS machines take their unstoppable lead over Amigas
18:54
<&McMartin>
I am occasionally baffled that Apple managed to survive long enough for OS X to become a thing
20:26 jessifae [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code
23:03 Kindamoody is now known as Kindamoody[zZz]
--- Log closed Sat Aug 06 00:00:58 2022
code logs -> 2022 -> Fri, 05 Aug 2022< code.20220804.log - code.20220806.log >

[ Latest log file ]