--- 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 |