From ef87a7283cc3b4f1e9c0f280a4d1fa4891ca6abd Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Mon, 20 Mar 2023 15:21:36 +1000 Subject: [PATCH] Add DeRez post --- v2/content/posts/2023/derez/DITL.png | Bin 0 -> 4563 bytes v2/content/posts/2023/derez/Dialog.png | Bin 0 -> 2132 bytes v2/content/posts/2023/derez/MPW.png | Bin 0 -> 9081 bytes v2/content/posts/2023/derez/_index.md | 13 -- v2/content/posts/2023/derez/index.md | 182 +++++++++++++++++++ v2/content/posts/2023/derez/mac-nim-temp.mp4 | Bin 0 -> 42727 bytes v2/content/posts/2023/derez/mac-nim-temp.png | Bin 0 -> 24188 bytes v2/sass/screen.scss | 3 + v2/templates/shortcodes/figure.html | 9 +- v2/templates/shortcodes/video.html | 11 +- 10 files changed, 201 insertions(+), 17 deletions(-) create mode 100644 v2/content/posts/2023/derez/DITL.png create mode 100644 v2/content/posts/2023/derez/Dialog.png create mode 100644 v2/content/posts/2023/derez/MPW.png delete mode 100644 v2/content/posts/2023/derez/_index.md create mode 100644 v2/content/posts/2023/derez/index.md create mode 100644 v2/content/posts/2023/derez/mac-nim-temp.mp4 create mode 100644 v2/content/posts/2023/derez/mac-nim-temp.png diff --git a/v2/content/posts/2023/derez/DITL.png b/v2/content/posts/2023/derez/DITL.png new file mode 100644 index 0000000000000000000000000000000000000000..278c24ee9835cfd776f9b290f73dc2e8eaa1455b GIT binary patch literal 4563 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 literal 0 HcmV?d00001 diff --git a/v2/content/posts/2023/derez/Dialog.png b/v2/content/posts/2023/derez/Dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..9513ea5bb25db7f413dc51a09ebb638401dc17b3 GIT binary patch literal 2132 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 hzJdI+g~QTy>kr{|7Y|Kx6;_ literal 0 HcmV?d00001 diff --git a/v2/content/posts/2023/derez/_index.md b/v2/content/posts/2023/derez/_index.md deleted file mode 100644 index fa40517..0000000 --- a/v2/content/posts/2023/derez/_index.md +++ /dev/null @@ -1,13 +0,0 @@ -+++ -title = "How to use DeRez" -date = 2023-03-19T19:09:53+10:00 - -#[extra] -#updated = 2023-03-01T21:54:06+10:00 -+++ - -As part of my efforts to use a modern programming language to write classic Mac OS -software - - - diff --git a/v2/content/posts/2023/derez/index.md b/v2/content/posts/2023/derez/index.md new file mode 100644 index 0000000..556cb16 --- /dev/null +++ b/v2/content/posts/2023/derez/index.md @@ -0,0 +1,182 @@ ++++ +title = "How to use DeRez" +date = 2023-03-20T12:44:38+10:00 + +#[extra] +#updated = 2023-03-01T21:54:06+10:00 ++++ + +After my post on trying to run +[Rust on Classic Mac OS post](@/posts/2023/rust-on-ppc-classic-mac-os/index.md) I continued trying to +find a modern language that I can use to build classic Mac OS software. I've +had some success with [Nim] and built a little +[temperature converter application][nim-temp-src]. As part of this I wanted to be able to use +[ResEdit] to edit the layout of the dialog. The problem was that I need a way +to convert the modified resources back into the textual representation used in +the source code. In this post I describe how I did this with `DeRez`. + + + +{{ video(video="posts/2023/derez/mac-nim-temp.mp4", height=227, poster="png", preload="auto", alt="Video of the temperature converter application.", caption="Video of the temperature converter application.") }} + +To build the temperature converter I started with the [Dialog sample] from +[Retro68], which looks like this: + +{{ figure(image="posts/2023/derez/Dialog.png", link="posts/2023/derez/Dialog.png", pixelated=true, alt="TODO", caption="Dialog Sample") }} + +I opened it up in ResEdit and edited the `DITL` (Dialog Template) resource to +add the icon and temperature fields. I also added a new `ICON` resource and +drew a little thermometer: + +{{ figure(image="posts/2023/derez/DITL.png", link="posts/2023/derez/DITL.png", pixelated=true, alt="Screenshot of the ResEdit DITL editor editing the DITL resource for my temperature converter.", caption="Editing DITL resource in ResEdit") }} + +With the changes made, I now wanted to convert the binary resources stored in +the resource fork back into the [textual format used in the source code][dialog.r]. +I believe the format is called `Rez`, here's a snippet of it: + +``` +resource 'DITL' (128) { + { + { 190-10-20, 320-10-80, 190-10, 320-10 }, + Button { enabled, "Quit" }; + + { 190-10-20-5, 320-10-80-5, 190-10+5, 320-10+5 }, + UserItem { enabled }; + + { 10, 10, 30, 310 }, + StaticText { enabled, "Static Text Item" }; + + { 40, 10, 56, 310 }, + EditText { enabled, "Edit Text Item" }; + + { 70, 10, 86, 310 }, + CheckBox { enabled, "Check Box" }; + + { 90, 10, 106, 310 }, + RadioButton { enabled, "Radio 1" }; + + { 110, 10, 126, 310 }, + RadioButton { enabled, "Radio 2" }; + } +}; +``` + +This turned out to be a bit of journey and the motivation for this blog post. +As part of the [Macintosh Programmers Workshop][mpw] (MPW) theres is a tool +called `DeRez` that does what I want. First up I had to work out how to operate +MPW. It's an editable shell where you run commands with ⌘-Return. Once I worked +that out I could run `DeRez` on my edited application but I only got the +fullback hexadecimal representation of the resources, not the structured output +I wanted: + +``` +data 'DITL' (128) { + $"0007 0000 0000 00A0 00E6 00B4 0136 0404" /* ....... .æ.´.6.. */ + $"5175 6974 0000 0000 009B 00E1 00B9 013B" /* Quit.....›.á.¹.; */ + $"0000 0000 0000 0046 000A 005A 0136 0808" /* .......F...Z.6.. */ + $"4865 6C6C 6F20 5E30 0000 0000 001E 000A" /* Hello ^0........ */ + $"003E 002A A002 0597 0000 0000 0014 0032" /* .>.* ..—.......2 */ + $"0024 007D 8807 4365 6C73 6975 7300 0000" /* .$.}ˆ.Celsius... */ + $"0000 0014 00AA 0024 00F5 8809 4661 7265" /* .....ª.$.õˆÆFare */ + $"6E68 6569 7400 0000 0000 0029 0036 0039" /* nheit......).6.9 */ + $"0081 1009 4564 6974 2054 6578 7400 0000" /* ..ÆEdit Text... */ + $"0000 002B 00AE 003B 00F9 1009 4564 6974" /* ...+.®.;.ù.ÆEdit */ + $"2054 6578 7400" /* Text. */ +}; +``` + +`Help DeRez` in MPW didn't shed much light on the problem but after a lot of +searching online I eventually found some extra details in the [man page for +`DeRez`][DeRez man] shipped on Mac OS X. Specifically: + +> The type declarations for the standard +> Macintosh resources are contained in the `Carbon.r` resource header file, +> contained in the Carbon framework. You may use the ${RIncludes} shell +> environment variable to define a default path to resource header files. +> If you do not specify any type declaration files, `DeRez` produces data +> statements in hexadecimal form. + +and + +> You can also specify resource description +> files containing type declarations. For each type declaration file on +> the command line, DeRez applies the following search rules: +> +> 1. DeRez tries to open the file with the name specified as is. +> +> 2. If rule 1 fails and the filename contains no colons or begins with a +> colon, DeRez appends the filename to each of the pathnames specified by +> the {RIncludes} environment variable and tries to open the file. + +With this information I was able to construct a command that worked: + + +``` +DeRez -i 'Macintosh HD:MPW-GM:Interfaces&Libraries:Interfaces:RIncludes:' "Macintosh HD:Retro68:Retro68App" Carbon.r +``` + +`-i` sets the include path for type declarations and `Carbon.r` tells it to use +that file for resource descriptions. Running the command I was now rewarded +with textual resources: + +{{ figure(image="posts/2023/derez/MPW.png", link="posts/2023/derez/MPW.png", pixelated=true, alt="TODO", caption="DeRez output in MPW") }} + +To get the text out of the VM I copied and pasted it into a new document in +[BBEdit] (version 5.0) and saved it with Unix line endings to the Unix folder +that [SheepShaver] shares with the host and with that I was able to update the +[resource file in my temperature converter project][my dialog.r]. + +### Honorable Mention + +Whilst trying to work out how to do all this I was also reminded of Ninji's +[mpw-emu] project ([detailed write-up on their blog][mpw-emu-blog]). It +combines an emulator with implementations of library functions in order to be +able to run MPW tools directly (outside a Mac OS emulator). It has gained +support for `DeRez` so you can run `DeRez` directly on a host system like +Linux. + +I [MacBinaried][MacBinary] `DeRez` in SheepShaver and copied it to my Linux host. Then with a bit +of fussing with `mpw-emu` Rust code I was able to run it: + +``` +$ mpw-emu ~/Documents/Classic\ Mac/Shared\ 2/DeRez.bin +[2023-03-20T02:11:07Z ERROR emulator] Unimplemented call to InterfaceLib::SetFScaleDisable @10012C6C +[2023-03-20T02:11:07Z ERROR stdio] Unimplemented format character: P +[2023-03-20T02:11:07Z ERROR emulator] Unimplemented call to InterfaceLib::SecondsToDate @1000B2A4 +### /home/wmoore/Documents/Classic Mac/Shared 2/DeRez.bin - No filename to de-compile was specified. +### /home/wmoore/Documents/Classic Mac/Shared 2/DeRez.bin - Usage: /home/wmoore/Documents/Classic Mac/Shared 2/DeRez.bin resourceFile [-c] [-d name[=value]] [-e] [-i path] [-m n] [-noResolve [output | include]] [-only type[(id[:id])]] [-p] [-rd] [-s type[(id[:id])]] [-script japanese | tradChinese | simpChinese | korean] [-u name] [file…]. +``` + +Amazing! + +Unfortunately I don't think `DeRez` will work this way outside a macOS host. It +needs to be able to read the resource fork of the application I edited with +ResEdit and that is not preserved on Linux: + +``` +$ mpw-emu ~/Documents/Classic\ Mac/Shared\ 2/DeRez.bin Dialog.APPL +[2023-03-20T02:14:05Z ERROR emulator] Unimplemented call to InterfaceLib::SetFScaleDisable @10012C6C +[2023-03-20T02:14:05Z ERROR stdio] Unimplemented format character: P +[2023-03-20T02:14:05Z ERROR emulator] Unimplemented call to InterfaceLib::SecondsToDate @1000B2A4 +### /home/wmoore/Documents/Classic Mac/Shared 2/DeRez.bin - The resource fork of "Dialog.APPL" is empty and uninitialized. +``` + +If you're on macOS I think that this would actually work. Although now I think +about it Xcode ships (or at least used to) a native version of `DeRez` so now +I'm not sure what Ninji's motivation for making it work in `mpw-emu` was. +Perhaps it is possible to use on Linux somehow... + +[Nim]: https://nim-lang.org/ +[ResEdit]: https://en.wikipedia.org/wiki/ResEdit +[Retro68]: https://github.com/autc04/Retro68 +[Dialog sample]: https://github.com/autc04/Retro68/tree/5f882506013a0a8a4335350197a1b7c91763494e/Samples/Dialog +[dialog.r]: https://github.com/autc04/Retro68/blob/5f882506013a0a8a4335350197a1b7c91763494e/Samples/Dialog/dialog.r +[DeRez man]: https://www.manpagez.com/man/1/DeRez/ +[BBEdit]: http://www.barebones.com/products/bbedit/index.html +[SheepShaver]: https://sheepshaver.cebix.net/ +[my dialog.r]: https://github.com/wezm/classic-mac-nim/blob/39e6ed7c2b31c20b775782319cde8ae5a43e1512/dialog.r +[mpw-emu]: https://github.com/Treeki/mpw-emu +[mpw-emu-blog]: https://wuffs.org/blog/emulating-mac-compilers +[mpw]: https://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop +[MacBinary]: https://en.wikipedia.org/wiki/MacBinary +[nim-temp-src]: https://github.com/wezm/classic-mac-nim/tree/39e6ed7c2b31c20b775782319cde8ae5a43e1512 diff --git a/v2/content/posts/2023/derez/mac-nim-temp.mp4 b/v2/content/posts/2023/derez/mac-nim-temp.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..6b74bebc4f4ca2c2e9bd43e79989fb41724f15bd GIT binary patch literal 42727 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 N7dz`URt|Rd{{u)D-Z}sP literal 0 HcmV?d00001 diff --git a/v2/content/posts/2023/derez/mac-nim-temp.png b/v2/content/posts/2023/derez/mac-nim-temp.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6406ed67dcf9387770a58c31e6c5669958220f GIT binary patch literal 24188 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 T8ts5p9y)ly%jNZceByrrJuof2 literal 0 HcmV?d00001 diff --git a/v2/sass/screen.scss b/v2/sass/screen.scss index 13ba41a..3418ba2 100644 --- a/v2/sass/screen.scss +++ b/v2/sass/screen.scss @@ -183,6 +183,9 @@ figure { .figure-border img { border: 1px solid #AAA; } +.figure-pixelated img { + image-rendering: pixelated; +} figcaption { font-size: 16px; font-weight: 500; diff --git a/v2/templates/shortcodes/figure.html b/v2/templates/shortcodes/figure.html index b862396..c8044e2 100644 --- a/v2/templates/shortcodes/figure.html +++ b/v2/templates/shortcodes/figure.html @@ -1,8 +1,11 @@ +{% set figure_class = ["text-center"] %} {% if border %} -
-{% else %} -
+ {% set figure_class = figure_class | concat(with="figure-border") %} {% endif %} +{% if pixelated %} + {% set figure_class = figure_class | concat(with="figure-pixelated") %} +{% endif %} +
{% if resize_width %} {% set image = resize_image(path=image, width=resize_width, op="fit_width", quality=quality | default(value=75)) %} diff --git a/v2/templates/shortcodes/video.html b/v2/templates/shortcodes/video.html index 56c187e..c28941d 100644 --- a/v2/templates/shortcodes/video.html +++ b/v2/templates/shortcodes/video.html @@ -1,4 +1,13 @@ +{% if poster %} +{% else %} + {% set poster = "jpg" %} +{% endif %} +{% if preload %} +{% else %} + {% set preload = "none" %} +{% endif %} +
- +
{{ caption }}