[HN Gopher] How Apple's developers reflashed Mac ROMs in the '90s
___________________________________________________________________
How Apple's developers reflashed Mac ROMs in the '90s
Author : SerCe
Score : 177 points
Date : 2023-11-27 08:11 UTC (14 hours ago)
(HTM) web link (www.downtowndougbrown.com)
(TXT) w3m dump (www.downtowndougbrown.com)
| rbanffy wrote:
| From the color scheme, I assume the author of the utility really
| liked Squeak.
| ahoka wrote:
| Actually the UX of that app is just awesome.
| pavlov wrote:
| This is actually older than Squeak by a couple of years at
| least.
|
| The reason why so many early 1990s UIs have this kind of color
| scheme is part fashion and part technological opportunity.
|
| Rainbow pastel colors were really popular around 1986 - 1993.
| It was a reaction to the muted browns and oranges that
| characterized '70s and early '80s design, and also a reflection
| of the economic optimism of the era.
|
| At the same time, computer displays evolved beyond monochrome
| (original Mac) or garish 16-color palettes (PC EGA). With 256
| colors out of a palette of millions, it became possible to
| display those fashionable pastels on a computer too. So why
| hold back?
|
| (Personally I'm still stuck in this era. Light background is a
| must. I never use dark mode on anything. I genuinely don't
| understand the kids who want their IDEs in black like some
| depressing 1982 textmode VAX. For me it's warm pale yellow and
| baby blue terminals all the way; extra bonus for dark purple
| text highlights and a mint green pique shirt.)
| tralarpa wrote:
| > The reason why so many early 1990s UIs have this kind of
| color scheme
|
| Do you have any examples? Because from the early 1990s I only
| remember Windows pre-XP (mostly black and white and blue),
| AmigaOS (mostly gray, including the newer frameworks like
| MUI), NeXTStep (gray). Only exception: the colored tabs in
| OS/2 Warp, if I remember correctly.
| fidotron wrote:
| SGI Irix is a good case
| https://en.m.wikipedia.org/wiki/IRIX
|
| It is the windows 3.1 aesthetic on much more capable
| hardware.
| tralarpa wrote:
| Thanks. But I was looking for something like the flash
| tool shown on the website, or like the default color
| scheme of Morphic. "Crazy" colored GUI elements etc., not
| just the background.
|
| Edit: never mind. The link by pavlov has more examples.
| pavlov wrote:
| SGI IRIX is a pastel-land which I'm very fond of:
|
| http://toastytech.com/guis/irix.html
|
| It's more muted, but follows the principle of "let's use
| these truecolor hues now that we've got them."
|
| The global fashion trend after 1990 was moving away from
| bright pure colors and towards increasingly muted pastels.
| So for examples of more bright-colored UIs on 256-color
| displays, I think the Mac II / System 6 era would be the
| place to look. Early CD-ROMs might be a rich vein.
| actionfromafar wrote:
| AmigaOS 1.3 and earlier was bright blue, white and a
| sprinkle of orange.
| noelwelsh wrote:
| Windows 1.01 goes hard on the vibrant pastels:
| https://guidebookgallery.org/screenshots/win101
|
| It's a reflection in UIs of Memphis Design, which dominated
| the 1980s: https://en.wikipedia.org/wiki/Memphis_Group
| einr wrote:
| CDE: https://upload.wikimedia.org/wikipedia/commons/a/ae/CD
| E_Appl...
|
| CDE had different default color schemes from different
| vendors but most of them were pretty colorful in pastel
| hues.
| diegoperini wrote:
| > Personally I'm still stuck in this era. Light background is
| a must. I never use dark mode on anything. I genuinely don't
| understand the kids...
|
| Kid here (34). My understanding is our generation grew up
| spending much more time looking at a screen in general.
| Gaming, socializing, following news, doing work, doing
| homework, talking to parents, talking to partner(s), reading
| books, painting, sculpting, paying taxes, managing finances,
| applying jobs, applying for visas... The list is too long to
| fit here. Participating in society demands more screen time
| than ever.
|
| Dark mode makes screens blend with the environment better by
| emitting light where only needed. Since we can't reduce our
| screen time without any compromise, we try to optimize with
| the dials we are left with, in this case, pixel brightness.
| pavlov wrote:
| My personal theory of display ergonomy is that a light
| background is better for the eyes because then you have to
| dial down the screen brightness all the way to a level
| that's good for reading (generally something close to paper
| white in the same environment, and usually much lower than
| the display's maximum brightness).
|
| Admittedly this theory is only backed by personal
| preference and some vague recollections of CRT-era
| ergonomics discussion in 1990s UI design books.
| diegoperini wrote:
| > Admittedly this theory is only backed by personal
| preference
|
| Same for my argument too.
|
| There is also the cultural factor. The age when I was
| going to make a decision about which high school to
| choose and what kind of study to pursue, we had the
| chance to enjoy the release of a few of the best sci-fi
| movies/shows ever made. Those movies had the black
| screen, neon green/blue strokes and fonts as the main
| design language. Looking at the letters falling down in
| the movie Matrix, it was like "coooool, I wanna be able
| to type those in real time and make computer do stuff".
| simfree wrote:
| Lots of us younger people have dark mode with the screen
| brightness turned way down. I personally often have my
| screen brightness at minimum, and on mobile I have Extra
| Dim turned on for more than half of my usage time.
| pavlov wrote:
| OTOH reading too low-contrast text is supposed to be bad
| for the eyes too? (At least that was what parents and
| educators told me as a kid: "Read at your desk where the
| light is good or you'll spoil your eyes!")
| pasc1878 wrote:
| And us older folks have screen brightness turned up as
| our eyes get worse. For many years I had white background
| so I could really see things.
|
| Now with floaters I have to use dark background and many
| games are now unusable as they have light background and
| medium unreadable text and strain my eyes.
| bitwize wrote:
| No, it's backed by evidence. Light mode is, objectively,
| better for your eyes because light characters on a dark
| background tend to "bloom" and be less clear.
|
| https://www.nngroup.com/articles/dark-mode/
| blincoln wrote:
| I'm in my mid-40s, and I've been looking at screens for
| many hours on most days for about 38 years. I've preferred
| a "light mode" colour scheme, with the brightness cranked
| up ever since I first saw one (an original Mac that a
| friend's parents bought in the late 80s).
|
| My personal theory is that some people are just genuinely
| more light-sensitive than others, but that the main factor
| is which scheme came (back) into fashion during someone's
| formative years, so it will always be associated with being
| new and novel to that person.
| executesorder66 wrote:
| In matters of taste, I like both light and dark mode equally.
|
| In terms of practicality:
|
| - Dark mode uses less energy and doesn't burn your eyes at
| night.
|
| - I've only ever found light mode useful when the ambient
| light is really strong, e.g. direct sunlight shining on my
| laptop screen. When this happens dark mode is basically
| impossible to read even with full screen brightness.
|
| So 99.9% of the time dark mode will suit my needs better.
| slowwriter wrote:
| Yes, on an OLED panel dark mode saves energy, but not on,
| say, an LCD panel
| semi wrote:
| I could be wrong but I think it's only saving power if
| pixels are actually solid black where the pixel can be
| turned off entirely. I don't think dark shades are more
| power efficient than other colors. Thankfully a lot of
| apps are getting explicitly named OLED dark modes to take
| advantage of that.
| nomel wrote:
| It would have saved a negligible amount on a CRT monitor
| of the time, as well.
| qball wrote:
| >Light background is a must. I never use dark mode on
| anything.
|
| Dark mode is fundamentally a hack around two things.
|
| First, shitty screens that can't run light mode anywhere near
| dim enough once the sun goes down (which is at least a
| 5-nines percentage of all screens ever produced). A good
| chunk of this is due to insufficient PWM frequency but
| software has a lot to do with it too- and if I can't make the
| screen go dark enough, well, _then I 'll just tell all the
| pixels to be black and use white text_.
|
| Second, shitty flat UI design has made it more difficult to
| see borders between items. It seems to be easier to pick out
| a bright glowing spot in a field of black than the reverse-
| it's worse for comprehension, but not for
| identification/differentiation. It's easier to see _that_
| something is selected when you 're using white-on-black, and
| if you already have a good idea what that something is the
| comprehension penalty is irrelevant.
|
| Those two things predate most proper dark mode
| implementations; I assert they created the need for it to
| exist in the first place.
| NikkiA wrote:
| Bright displays also absolutely fuck up my ability to focus
| my eyes for the rest of the day, so I attempt to use dark
| themes on everything, having to accept a light theme for
| any site or OS feels like a personal failure and reminds me
| of my almost-useless old eyes.
| HeckFeck wrote:
| > By the way, I actually succeeded today at hacking the code of
| Flasher to erase and program modern flash chips. It required a
| lot of 68k assembly work, but luckily I had a good reference to
| start from in my USB SIMM programmer.
|
| And then, jealousy intensified, I close the tab and go back to
| debugging my MVC webapp.
| TazeTSchnitzel wrote:
| Why be jealous and only feel bad about it? Let the envy
| motivate you to create great things! There are a million tiny
| hobby project ideas out there that you have the power in your
| hands to actualise.
| blincoln wrote:
| You never know where such things will lead, either. I did
| reverse-engineering as a hobby for years because it was a
| personal interest, then eventually switched careers to
| information security partly because of that background.
|
| No one is ever likely to make a living reverse-engineering
| 30-year-old ROM-flashing utilities, just like no one is
| likely to make a living figuring out how to convert
| early-2000s console game data to standard formats, but that
| kind of hobby project builds skills that are uncommon and
| useful in certain lines of work.
| rmilk wrote:
| Precisely. I have been told I have a knack for reading
| other people's code. Turns out it was years of reverse
| engineering as a hobby in my youth that gave me the skills
| to sit down and understand someone else's code very
| quickly. A hobby that gives useful real-world skills.
| Waterluvian wrote:
| Two facts I have discovered over the past 11 years:
|
| 1. There are always people far brighter than the people who
| wrote most of what we use every day.
|
| 2. You are far more capable than you realize.
| surajrmal wrote:
| The grass is always greener. Working on low level things has
| lots of drawbacks and it's not uncommon to wish for better
| tools, documentation, libraries, etc like you get in higher
| level programming. It takes a lot of work to accomplish what
| externally seems like trivial results.
| rob74 wrote:
| I know there's a rule against posting titles like "How To Do X"
| in https://news.ycombinator.com/newsguidelines.html, but in this
| case the title doesn't make sense without the "how" - of course
| Apple's developers reflashed Mac ROMs in the 90s, they had to do
| it as part of their job, the article is about _how_ they did it.
| appleskeptic wrote:
| You're misreading the rule. Such titles are allowed.
|
| _If the title contains a gratuitous number or number +
| adjective, we 'd appreciate it if you'd crop it. E.g. translate
| "10 Ways To Do X" to "How To Do X," and "14 Amazing Ys" to
| "Ys." Exception: when the number is meaningful, e.g. "The 5
| Platonic Solids."_
|
| Just the relevant bit:
|
| _translate "10 Ways To Do X" to "How To Do X"_
| bragr wrote:
| I see you've never submitted anything. I suggest you try a
| few times, deal with the automatic title mangling, and then
| come back and tell us how you feel about this rule ;)
| dylan604 wrote:
| It's such a dumb rule to even have. If the article shows 10
| Ways To Do X, then it is pretty accurate. How To Do X sounds
| like there is one way to do it, and it's being shown.
|
| What happened to the don't editorialize rule, because that's
| exactly what's being done in the provided example. You're not
| just shortening an acceptable length title, but you've
| changed the meaning.
| airstrike wrote:
| Submitters can edit titles after they submit a story, even in
| these cases AFAIK
|
| Also "How X" != "How to X"
| mistrial9 wrote:
| here in California there were zero instances of "flashing a
| ROM" among ordinary developers -- it was obviously illegal
| (maybe a reason) but also you just buy a Mac and get the rom
| image.. Macs were everywhere... fifty percent of the Macs in
| the world were in this area, by some measures at some time.
|
| This was the nightmare of Apple from the early days and they
| actively pursued it. Also, intelligent people in the creative
| professions were inventing things.
| Clamchop wrote:
| Why was it illegal?
| KerrAvon wrote:
| I think the poster (maybe someone's AI experiment?) is on a
| tangent about replacing the standard Apple ROMs with your
| own versions? That wasn't really a thing, but it wasn't
| illegal either. What was illegal was copying Apple's ROM
| code to sell in your own clone machines.
| mistrial9 wrote:
| > maybe someone's AI experiment?
|
| if you take half-a-second, longer than I spent reading
| that article, you would know this is a personnel account,
| right? do you need to repeat "AI" rumors here ? It is
| neither amusing nor adding any substance to the topic
| IMHO
| dev_tty01 wrote:
| Hmm. You seem to be railing against something that is not
| related to the article. The article describes how Apple
| internal developers reflashed ROMs while developing the
| firmware for new prototype computers. This is something that
| Apple's developers had to do on a regular basis.
| mistrial9 wrote:
| yes - my fault.. so it goes
| kragen wrote:
| is this the actors carl hewitt (rip)?
| CharlesW wrote:
| This Carl Hewitt is alive: https://www.linkedin.com/in/carl-c-
| hewitt
| kragen wrote:
| aha, thanks
|
| not sure why my comment is downvoted to -3
| CharlesW wrote:
| My guess is that the downvoters think you're talking about
| an actor rather than the computer scientist:
| https://en.wikipedia.org/wiki/Carl_Hewitt
| Reason077 wrote:
| > _"See that thing that suspiciously looks like a CD-ROM drive on
| the left? It's not. It's a blank cover ... I pressed the button
| thinking the CD tray would come out. If you push the button hard
| enough, it gets stuck back in there."_
|
| Pretty weird and un-Apple-like to have a physical eject button at
| all. The mid-90s were such a weird time to be alive.
| sjsdaiuasgdia wrote:
| I really enjoyed the handful of mid-90s Mac models where the
| power button was just to the bottom right of the 3.5" floppy
| slot, very near where you'd find the eject button relative to
| the floppy slot on pretty much every PC of the era.
| morsch wrote:
| It's hard to describe just how _cool_ the soft eject
| mechanism was. At least to my young impressionable mind. I
| can still remember the sound it made. It made PCs appear
| archaic.
| weinzierl wrote:
| It was in the mid-nineties and I had to hand in my weekly lab
| report. As my printer at home had decided to go on strike once
| again (as they used to do in the mid-nineties) I decided to
| print it in the university's library. So I went, still a
| quarter to the deadline, with my little 3.5 inch floppy disk.
| All the PCs were taken so I resorted to the only Mac.
|
| I was a little excited, because these jewels were expensive
| back then, and usually always taken by someone that seemed to
| have more important design tasks to do than I had. Now I had
| the opportunity, for once.
|
| I inserted my floppy, opened the document, sent it to the
| printer. All went fine until I wanted to get back my disk to
| rush to the lab session. No button to eject, nowhere to be
| found, so I asked one of my fellows sitting at a PC. He told me
| to drag the disk into trash bin. Yeah, right, sure I believe
| that! So I asked another guy, and sure he said I should throw
| my disk into the bin.
|
| Now, these lab reports were important, because you needed to
| pass all of them to be allowed to write the test at the end of
| the semester and there were only two substitute dates. So I had
| little choice. I dragged the little disk icon over the little
| bin icon and let go. I already saw all my work on the disk gone
| but to my great surprise the disk ejected immediately and
| completely unharmed.
|
| My lab report was handed over in time, it passed. The two
| substitute dates at the end of the semester never materialized
| because the prof was sick, as every year before and after - as
| I lerned. So, good on me to trust my fellow students but
| g00daxxit terrible UI!
| benjaminpv wrote:
| Decades late, but they could have told you to use Special:
| Eject Disk if dragging to the trash was too much for you.
| Then you'd have to grapple with what to do now that the
| physical disk was in your hand but its icon remained. There
| was also...Command+Y, I think?
| filchermcurr wrote:
| To be fair to the UI, there's also an 'Eject' option in the
| menu bar when you've selected the disk. There's also a
| keyboard shortcut. Dragging it to the trash is just more fun!
|
| Actually, if memory serves, dragging to the trash was a
| shortcut for ejecting AND... what did they call it... putting
| it away, I think. Normal eject would leave a ghost of the
| floppy disk so when you inserted another one, you could copy
| from one floppy to another. You had to 'put away' to remove
| the ghost.
| wolfgang42 wrote:
| The Mac had a distinction between "Eject" and "Put away"
| mostly as a relic of the days when it had a single 400k
| floppy drive, so "ghost" disks were used to keep track of
| however many disks you needed to juggle whatever task you
| were doing. For example, you'd boot the computer, eject the
| System and insert your application, start it, then eject
| the application and insert your document; the system would
| know about all 3 disks, and whenever it needed something
| off a different disk it would automatically eject and
| prompt you to "Please insert the disk: <<Name>>".
|
| In this world, the split makes perfect sense: you eject a
| disk when you want the drive slot to be free, but you don't
| put it away until you're done with it. Once hard disks
| became standard equipment, the floppy drive was relegated
| to data transfer and you almost always wanted "Put away",
| but renaming the menu items to what new users expected
| would have confused existing users.
| Reason077 wrote:
| Modern (as in, the last 20 years or so) versions of macOS
| still have this feature, _except_ when you start dragging an
| electable volume, the icon changes to an eject symbol to make
| it clear that you're not actually trashing anything...
| bonton89 wrote:
| Better than my similar Mac story from the early aughts. I did
| not frequently use Mac computers but needed to quickly print
| a document I had burned to CD. For whatever reason, I was in
| the Mac computer lab which had nothing but what I believe
| were Power Mac G3s. Inserting when fine, and I knew from
| using those original black and white Macs in high school that
| dragging the disk to the trash would eject. When I did so I
| was rudely informed I lacked permissions to unmount a disk
| that I had myself just inserted and used.
|
| Fortunately, the lack of an eject button was a farce on this
| machine. The CD drive was just your garden variety PC drive
| and if you aren't shy about abusing the facade door Apple
| placed over top of it you can still get to the eject button.
| flir wrote:
| 2012 Macbook Pro had a physical CD eject button (it was top-
| right of the keyboard). Control was probably routed through the
| OS, so that may not be what you meant, but it was definitely
| physical.
| dev_tty01 wrote:
| I saw a sales droid demoing a Mac at Comp USA years ago. That
| model had the manual eject/inject button underneath the CD
| tray because in normal use you never needed to push the
| button. To eject you drag it to the trash on screen. To
| inject, you just push on the tray a bit and it detects that
| and pulls it in. The sales droid was talking about how stupid
| it was to have the button there because it was blocked by the
| tray, never realizing that he just needed to push on the tray
| a bit. Ugh.
| Reason077 wrote:
| Oh yeah, Macs had _that_ eject button for years. Until pretty
| late in the Intel era, IIRC.
|
| But you could "eject" (unmount) anything with it, disk images
| etc. It wasn't hardwired to any particular drive.
| tambourine_man wrote:
| The Performa 630CD was my first Mac and it warmed my heart to see
| its picture. That feeling went away quickly as I saw it being
| used as guinea pig for ROM shenanigans. Save that Performa!
| amatecha wrote:
| well, normally I'd agree, but it doesn't look like there are
| any irreversible/destructive changes being made? plus this
| seems like a pretty valuable experiment/project for the retro
| Mac community.
| JKCalhoun wrote:
| > I would love to see an example of what these PDS cards looked
| like, if anyone out there has some inside knowledge they would be
| willing to share!
|
| The only thing that came to mind were these Newton development
| boards from about that era. I believe they were more or less
| Newtons shoved into one of the slots of a Quadra-like machine
| (perhaps the PDS slot?).
|
| My memory of that era is fuzzy though.
| sneak wrote:
| What blows my mind is how active the collector community is about
| these machines. These machines are over 30 years old--they're so
| old they're not even regularly on eBay anymore.
|
| I still have and cherish my 8600, the very first Bad Motherfucker
| computer I ever managed to obtain. :)
| koz1000 wrote:
| I was working on an 8-bit system back in this same time period.
| We couldn't afford flash devices and the kit required to
| reprogram them. But we did a similar trick with an extra write
| pin located near the ROM socket, then used a special
| daughterboard filled with SRAM that replaced the ROM and also
| touched the write line. Now we could just use our cheap debugger
| and blow an image into the address space the ROM used.
|
| Only downside was that you lost the image on power down, so I can
| see why EEPROM was more important to Apple in developing their
| systems.
| NelsonMinar wrote:
| Adjacent: does anyone have a good article describing how Macs
| used to boot from ROM? Not just some sort of BIOS but the full
| MacOS System. It seemed like a really neat feature, but IIRC
| quickly became useless because there was no way to update the ROM
| so you'd end up loading the OS from disk to get the latest
| version.
| vanchor3 wrote:
| There's a brief write-up on porting it to other Macs here:
| http://www.synack.net/~bbraun/macromboot.html
| retrac wrote:
| > Not just some sort of BIOS but the full MacOS System.
|
| It's not quite the full system. It may be best to think of the
| original Mac OS as a software library. The application is in
| primary control, and uses the OS as a library directly -
| jumping right into the OS code sometimes. Modern ideas about
| layers of separation and protection did not yet exist.
|
| A significant portion of the ROM is QuickDraw, routines for
| doing bitmap graphics and text very quickly. There are some
| other rather generic routines, like string handling, a sort of
| a standard library. There are also drivers, interrupt and timer
| handling, etc. The Chicago system font is in ROM too.
|
| Since it was all designed together, it was not too hard to just
| make it modular, and have some of the modules in the ROM, and
| the rest loaded from disk. There is a central dispatch table
| kept in RAM. When a program makes a Mac OS call, the dispatcher
| looks up the current vector from the table. When the OS loads,
| any patches to ROM are handled by redirecting the dispatch to
| the new routines or patches. It's important to remember classic
| Mac OS had resources (labelled sections). Large blocks of code
| are referred to with handles, not pointers. The resource
| manager can transparently load/unload them behind the scenes as
| needed.
|
| The Mac has gone through a fair bit of setup before it starts
| reading the disk. The OS memory manager is running, and the
| device manager is configured, the disk driver service is set up
| as well. The boot splash (grey background and the happy Mac
| icon) is drawn using standard graphics API calls. The calls
| would do the same thing if used in a normal Mac OS app. The
| boot sector on disk is loaded using the same calls as in a Mac
| OS app if you wanted to do low-level disk access.
|
| The resource manager is then told about all the resources in
| the system file, and any patched resources are patched, etc.
| And then the finder application is loaded and started. When it
| goes to look for resources, it'll find them mapped to ROM or
| the system file through the in-RAM resource map. And when it
| goes to make a system call, it'll find them mapped to ROM, or
| the routines loaded in RAM from the System file, through the
| trap table.
|
| Here's a good article (2019) doing a much deeper dive:
| https://macgui.com/news/article.php?t=496
|
| > became useless because there was no way to update the ROM
|
| The original Mac 128 and 512 were limited, because their ROMs
| were the original code, and also 64 KB in size. The later Mac
| software needed at least 128 KB of ROM (new file system, etc.)
| and so could never run on those machines. But later system
| software was never going to run on those machines, anyway.
|
| RAM was extremely expensive in the mid-80s. That is really the
| only reason for this. The original Mac would have needed an
| extra 64 or 128 KB of RAM otherwise. That would have bumped the
| price up several hundred dollars. RAM prices imploded shortly
| after the Mac's release, of course. System 7 loads around 100
| KB of patches to the ROM on a Mac Plus. By 1990 it would
| clearly have been better to just have it all in RAM. But the
| architecture was already fixed. (Later Macs would just load a
| complete ROM image off disk.)
|
| There is one more minor factor: the original Mac can execute
| code from ROM at full speed. The RAM is contended with the
| video hardware and has slightly slower throughput. So there is
| a slight plus to having QD in ROM!
| bonaldi wrote:
| > It's not quite the full system.
|
| You're right about the ROM, but parent is talking about
| something else: the built-in bootable system that came in ROM
| on the Classics. Cmd-opt-x-o at startup would boot you
| straight into 6.0.3, at the cost of RAM (it made a RAM disk
| to run from).
|
| https://lowendmac.com/1990/mac-classic/
___________________________________________________________________
(page generated 2023-11-27 23:00 UTC)