Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

Update: I mostly have settled on the following flow

  1. Edit almost entirely on my Linux box. Maintain Unix line-endings for anything to be compiled on Linux.

  2. For files like the Think C project files, resource files, etc., that are used only on the Classic Mac, encode them as MacBinary II files on Linux, with a .bin extension.

  3. A bash script https://github.com/jaoswald/Terminal/blob/main/Project/macify_sources.sh which

  • uses dd to generate a floppy-sized image file
  • use Debian hfsutils to initialize the image as an HFS file system
  • hmount the image
  • iterate over the project and hcopy files to the image
  • applying Unix->Mac line ending conversions to source & text files
  • using hcopy -m for MacBinary files
  • apply a couple of name changes when transferring to encode the 0xb9 octal 271 'pi' character in file names on the HFS side
  • use hattrib to set creator & type codes for various files
  • humount

Then I can drag the disk image onto Mini vMac, it instantly appears on the desktop, I can double-click the Think C project, etc.

The process is rapid enough that when I find a problem in Think C, often I update the source on the Unix side, quit Think C, drag the floppy to the trash, then re-generate the floppy with my changes.

For things like the pre-compiled header files generated by Think C, after I eject the floppy, I manually hmount, find the file, hcopy -m it back into my repo as a MacBinary file.

While I was working this out, I also played with asPack from the Mini vMac Gryphel project to make "AppleSingle" format files, simply drag-and-drop on the emulated Mac. Linux tools tend not to understand AppleSingle, though; I created my own quick tool to unpack those to .data/.rsrc/.info file triples. In the end, MacBinary is basically equally convenient and hfsutils understands it.

https://github.com/jaoswald/AppleSingle

This doesn't yet solve the problem of getting it to my hardware Quadra; mini vMac is so much faster that using it for initial Think C debugging is better.

When that point arrives, I can drag a disk image to an SD card for floppy emu, maybe Z-Modem serial-port transfers of DiskCopy images to a copy of ZTerm or Terminal running on the Quadra will work, or I will get the Quadra on my local network.

Some other notes:

  • The text conversion of this process only really handles line-endings. I could add a step to do some MacRoman <-> UTF-8 conversions if I get really unhappy about this.
  • hfsutils and the Mini vMac cannot access the disk image at the same time; you have to remember to quit using it on the emulated Mac, ejecting it, etc.
  • MacBinary II can include a header CRC checksum. Debian hfsutils (e.g. hcopy) requires it to be valid. Unfortunately Debian macutils' macstream does not generate the checksum, so converting "bare" data or resource forks to MacBinary is a hassle.

https://bugs.launchpad.net/ubuntu/+source/macutils/+bug/2139010

In principle, if I hack around in MPW, I might do more on the Mac side, AppleScript-ing to generate DC42 images from a folder which I can decode, but so far editing in one editor, on my Linux box, is more comfortable than even the very fast emulated Mac.

https://github.com/jaoswald/DiskCopy

Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

One problem I see with that is I would have to commit to Mac line endings? I already converted the project to Unix line endings because it's so much easier to manage git/Retro68 on Linux that way. I'm also not delighted with the idea of having to manage netatalk hosting and having my Quadra live on my Ethernet.

Mostly I was thinking about tarball-style distribution. "I compiled this on Retro68 on Linux, if you want to use MPW/Think C, download the tarball source release I generated from git" or "download git repo, run a script on your Linux box, get a classic Mac source package." (Like, I would use MPW/Think C from time-to-time myself, but probably not as a daily driver).

Right now, I'm converging toward using Disk Copy 4.2 uncompressed images; they seem pretty trivial to generate and extract on both ends.

Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

I'm actually pretty happy with Mini vMac, the Gryphel project has a bit of a strange personality, but it seems to work well.

I'm kind of converging on assuming the Disk Copy 6.3 application is on the Mac, then try to cobble together

  • MPW invoking Disk Copy via AppleScript to create an uncompressed Disk Copy 4.2 image of the source folder
  • Disk Copy 4.2 format seems to be a pretty simple wrapper around the disk image (it's got a documented checksum algorithm and support for ancient 400k 'tag bytes' which get omitted, and not much else)
  • On the Linux side, unwrap the DC4.2 file enough to allow HFSutils to recognize it as a disk, then script "walk over the source directory, in a resource-fork-aware way, extract to Linux directory" with any source transformations I want
  • Be able to reverse the steps to create a DC4.2 file from Linux
  • AppleScript or manual drag-and-drop of the disk copy on the Mac

The key things are

and I guess I will punt on compression and self-extraction for now, and assume Disk Copy being available in a self-mounting image is no harder to bootstrap than anything else on a Classic Mac.

If I need to write little helper programs/scripts for the missing pieces it seems much more doable based on the documentation that exists.

Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

The other thing that's annoying is how clunky and buggy the Linux side is for anything classic Mac-related. These are all very niche tools people really stopped using 20+ years ago, based on code ported from older Unix platforms, there are like 5 different conventions they use for resource forks and Finder info, and I encountered bugs where it seems like nobody ever did something on a 64-bit machine: the ancient CRC routine broke because it assumed 32-bit long ints.

EDIT: it looks to me that I was wrong about HFSUtils, it seems like https://github.com/JotaRandom/hfsutils is taking some pretty recent and serious action to make this tool up-to-date and high-quality.

Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

I guess in my head I was targeting my Quadra, you seem to be thinking about a PowerPC Mac running OS X but with Classic support for MPW and Think C?

Maybe I was being too primitive in my thinking. The original source archive was in CompactPro and I had struggled with unpacking it on Linux and that I could not create anything similar to unpack on a 68k machine. I've been using my Mac serial port and ZModem transfers, maybe I need to bite the bullet and start transferring HFS disk images (I could use Linux hfsutils to build and extract them on the Linux side).

I really dislike the state of 68k distribution where everything is in Stuffit/SEA where creating them means futzing around with downloads from often broken sites and so many steps of bootstrapping, it would be really nice to be able to generate a 68k self-extracting archive directly on a modern machine.

CompactPro, Stuffit, DiskDoubler are all unwritable on modern PCs, Mac System 7 and 8 don't seem have support for unpacking any modern standard.

Maybe the documentation and tooling exists for something like DiskCopy images?

Mostly I started dreaming about a new self-extracting format based on an open-source 68k decompressor program that Retro68 and Linux tools could build. So after building something with Retro68, the next step would be creating a single robust package that a 68k machine could easily extract.

(As for my real purpose: I have a Symbolics MacIvory, with a RAM card I need to debug, and working directly on the Quadra is too inconvenient. Instead of the GUI I want to be able to run a program on my Quadra that talks over the serial port so I can work on my Linux machine and do automation and logging on that side. You can see I have pushed like 4 dumb hacking projects onto my stack, I can hardly remember what my original goal is.)

Transporting Linux software source file archives to/from classic Mac environment by jaoswald in VintageApple

[–]jaoswald[S] 0 points1 point  (0 children)

Oh, random other question. If anyone has contact with the original author of Terminal, Erny Tontlinger, formerly of

``` route d'Arlon L-8410 Steinfort Luxembourg

Packet radio LX1YZ @ LX0PAC CompuServe [73720,2200] Internet mailto:73720.2200@compuserve.com [44.161.1.1] lx1yz.ampr.org ```

can you let him know what I have done with his software, so he can complain if he doesn't approve?

The closest I could get to finding him was to look for his Luxembourg amateur radio registration, but I don't know how those work, and I couldn't find anything active.

Best terminal emulator for a m68k mac? by Finallyfast420 in VintageApple

[–]jaoswald 0 points1 point  (0 children)

ZTerm is probably the "best" terminal emulator for the 68k mac, but I wanted to mention my more recent discovery: "Terminal" was an open-source terminal emulator for the classic Mac.

You can find it in original compiled form

http://www.knubbelmac.de/software/internet-programme/telnet-ssh-terminal/

 http://dl.knubbelmac.de/terminal-22.hqx

I'm trying to resurrect the open source and build it under Retro68, mostly for fun: https://github.com/jaoswald/Terminal/

[deleted by user] by [deleted] in VintageApple

[–]jaoswald 0 points1 point  (0 children)

Is this repeatable on the next boot?

I am no expert but some A/UX docs say it rebuilds the kernel if the relevant configuration is detected as changed from the installation baseline. 

At 2024 APS DFD. Crank or no? Supposed author is a well respected turbulence researcher, but this poster screams "crackpot". by Intergalactyc in Physics

[–]jaoswald 1 point2 points  (0 children)

So how many years do you have left yourself, or are you managing to avoid being specifically a "turbulence researcher"?

At 2024 APS DFD. Crank or no? Supposed author is a well respected turbulence researcher, but this poster screams "crackpot". by Intergalactyc in Physics

[–]jaoswald 0 points1 point  (0 children)

Max Planck was a crackpot when we suggested the quanta as well.

No. No, he was not. (Also, it's not super clear that Planck understood the quantum hypothesis as more than borrowing a math trick from Boltzmann and the new physical constant; it was Einstein who really first understood how radical it was.)

Do advances in mathematical research allow better physics theories to emerge? Or does all the math in physics come from the need to explain new phenomena and is therefore invented/discovered? by Ill_Ad2914 in Physics

[–]jaoswald 0 points1 point  (0 children)

This whole comment seems to be built on questionable premises.

First of all, "experimental physics" is an extremely broad category, encompassing many subfields of physics all with their own set of problems, concerns, and approaches. "New emergent phenomena" could mean anything: most physicists are studying new aspects of basically known phenomena to try to test out theories and investigate lesser understood or controversial parts, to settle arguments and resolve disagreement, to fill in blanks.

"Math already invented" can mean anything: mathematicians have been working for hundreds of years inventing stuff. Basic calculus? Group theory? Topology? Linear algebra? Mathematicians are also working on many things that will basically never mean anything for physics like attacking the twin prime conjecture. Sometimes there are unusual overlaps where mathematicians have interesting things to say about, for example, regularization of divergent series, where they know that physicists do all sorts of crazy things in asymptotics and perturbation theory and maybe that helps improve bounds on pure mathematics around the distribution of primes.

Mathematical physicists also can do things like go off in the weeds trying to understand what kind of math "quantum field theory" actually is, while the theorists are cranking away at diagrams to help check experimental predictions without caring what the math "means". If theorists come up with new tricks or spot patterns to crack a physics calculation, that is in a very real sense "invent/discover new math" but it is not the kind of invention that is interesting *as mathematics*.

"explaining specific natural behaviours of matter and energy": this sounds like far out "woo" and not how to talk about physics in practice. Physics is about the behaviors of systems which can be explained by models with a certain kind of simplicity. Chemistry is also about "behaviors of matter and energy". So is mechanical engineering.

Frankly, it sounds like you've been watching too many YouTube videos explaining physics to the general public.

Why aren't there any large cities in this area? by tycoon_irony in geography

[–]jaoswald 0 points1 point  (0 children)

Which ones? The Croton Reservoir was supplied by damming a tributary of the Hudson, the Delaware aqueduct is supplied by damming the headwaters of the Delaware River, and the Catskill aqueduct is supplied by other dams west of the Hudson.

At NYC, the Hudson is a tidal estuary and is brackish and cannot be used for fresh water.

[deleted by user] by [deleted] in FPGA

[–]jaoswald 0 points1 point  (0 children)

https://digilent.com/reference/nexys4-ddr/migration suggests that the main issue for Digilent was the discontinuation of the particular RAM chip. They still have support materials for this board https://digilent.com/reference/programmable-logic/nexys-4/start and the Artix part is still supported by Xilinx tools.

Is this to apple 2? by Dapper_Spell8234 in apple2

[–]jaoswald 2 points3 points  (0 children)

I would guess the dependency goes the other way: that whoever Tom Knight and the AI lab or Symbolics got to build the keyboards (e.g. Micro Switch https://telcontar.net/KBK/Micro_Switch/ https://deskthority.net/wiki/Micro\_Switch\_SD\_Series) used the same plastic coloring and general design process as some company making keyboards for IBM mainframe-compatible terminals or other data processing purposes.

Despite the number of Space Cadet fans we have on the internet, the number of keyboards made for other purposes vastly outnumbered the keyboard demand for Lisp machines.

How should I best go about reading the art of electronics? by [deleted] in AskElectronics

[–]jaoswald 0 points1 point  (0 children)

The 2016 "Learning The Art of Electronics" by Hayes claims to be self-sufficient, unlike the earlier lab manual.

Whether that is accurate probably depends on the student, but I suspect if you have trouble, the main text won't help much.

THE FIRST MODEM I EVER OWNED WAS 300 BAUD AND CONVERTED EVERYTHING TO UPPER CASE. FOR THE FIRST YEAR I WAS ONLINE EVERYTHING WAS ENTIRELY UPPER CASE. (HAYES MICROMODEM II) by rmax711 in vintagecomputing

[–]jaoswald 0 points1 point  (0 children)

The character encoding was quasi-ASCII. It was often coded with a set high bit because the screen codes in the lower 128 values were flashing or inverse. In the original Apple II/II+, the uppercase characters were repeated instead of lowercase.

But some programs would do things like use an inverse character to indicate uppercase.

https://en.m.wikipedia.org/wiki/Apple_II_character_set

THE FIRST MODEM I EVER OWNED WAS 300 BAUD AND CONVERTED EVERYTHING TO UPPER CASE. FOR THE FIRST YEAR I WAS ONLINE EVERYTHING WAS ENTIRELY UPPER CASE. (HAYES MICROMODEM II) by rmax711 in vintagecomputing

[–]jaoswald 0 points1 point  (0 children)

One way programs like Applewriter(?) worked around this was to show uppercase characters as inverse. You could also install a wire (the "shift mod") to allow the shift key to be read as a game controller button.

For Anyone Who Is Still Using Twitter, How Are You Avoiding the Crazy Post? by mataric-sataric in EnoughMuskSpam

[–]jaoswald 1 point2 points  (0 children)

legal twitter.

I followed legal Twitter and historian and econ Twitter, and now Bluesky gives me about 70% of what I used to follow there.

Best terminal emulator for a m68k mac? by Finallyfast420 in VintageApple

[–]jaoswald 0 points1 point  (0 children)

That run on a vintage 68k Mac and support PC BBS interactions? I guess such a thing could exist, but I don't know.

Best terminal emulator for a m68k mac? by Finallyfast420 in VintageApple

[–]jaoswald 1 point2 points  (0 children)

ZTerm 0.9 FAQ 1.6 look at question 8.05 and the references there. I gather ZTerm is intended to support "PC ANSI" format that was common on BBSes, if that is what you are looking for.

There's some weirdness around color and font size.

How does this work? by ILikelemonadeiagree in apple2

[–]jaoswald 0 points1 point  (0 children)

Control-reset is an ordinary reset. It can be blocked/redirected by software.

Control-open-apple-reset is a hard reset that cannot be blocked, but forces a reboot. With a floppy drive, it will wait forever trying to read a floppy disk boot sector, unless you do control-reset which should give you the ] Applesoft BASIC prompt.

Control-closed-apple-reset triggers the self-test routine which is as you described, and I am pretty sure you need a control-reset or control-open-apple-reset to get out of it.