• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Developing a portable user-land AppleTalk stack

cheesestraws

Well-known member
OK, here's a Mini vMac with LocalTalk over UDP support.  Please play with it.  Source code is, of course, included

  • If you don't like running random binaries, rebuild it; make clean && make will work
  • LocalTalk ought to just be plug and play.  You should be able to launch multiple Mini vMacs and have them just be able to see each other automatically


    (though I have only tested this build with multiple copies of the emulator on the same machine, because I'm still in a hotel.
  • small print: this will only work inside a single IP subnet, but most home networks etc are single IP subnets.

[*]If you have WireShark installed or similar you should be able to see the packets whizzing around :)   If you've managed to build the code I posted earlier, you should be able to use llapping -a to see all the nodes on your virtual network, and llapping <node> to ping a node.

[*]I've only tested this on my personal MacBook Pro running 10.11.  It may or may not work on other platforms at the moment.



Please let me know if this works for you / does not work for you.

View attachment minivmac-upload.zip

 

cheesestraws

Well-known member
A quick update on this: I'm back home! 

1. I started working on EtherTalk support on the plane.  The next milestone is getting an EtherTalk "port" with the same interface as the LocalTalk "port".  The next thing after that is starting working on a DDP bridge between EtherTalk/LToUDP.  This will allow Mini vMac to talk to "real" Macs on an Ethernet network, and indeed BasiliskII working in bridged ethernet mode.

2. It looks like my code might be getting merged into mainline mini vMac (if it's good enough :) ).  It needs a bit of tidying first but I'll try to send that off in the next few days.

 

mactjaap

Well-known member
Absolute fantastic what you are doing! Love to test your Mini vMac.

I’m into this network LocalTalk thing for many years now. I made my own solution for this challenge. The MacIPpi and MacIPgw VM. (see https://www.macip.net )

But your approach is tempting and promising. 

 
Last edited by a moderator:

cheesestraws

Well-known member
Yup!  I found your work while I was doing research into this.  Haven't tried it yet, my home network is in something of a mess right at the moment.  Also—purely personally—I'm not so interested in getting IP connectivity to vintage macs, partly because I prefer to network things on "their own terms" (but of course MacIP does qualify as this), and partly because I debug moderately low-level software for IP networks all day for my dayjob so it's nice to do something else at home :) .

That said, since my first "big" milestone for this will be a LToUDP to Ethernet gateway, which you will be able to run on a tap interface, perhaps support for this could be added to macipgw pretty easily just by using a tap interface as well as the actual ethernet interface on the machine, especially if @saybur or I or both end up building actual hardware to talk this that can be plugged into real Macs.  LocalTalk-to-ethernet bridges are increasingly tricky to find, after all...

 

NJRoadfan

Well-known member
Last edited by a moderator:

cheesestraws

Well-known member
A quick update on this: I've been working on EtherTalk.  So far I've got a "listener" (an implementation of layer2) based on libpcap.  Another one will follow at some point based on tap interfaces, and I'd like to do one for BasiliskII's UDP Appletalk network too (which is basically EtherTalk with some weird hacks around it).  I've also got about half of AARP implemented.  Next stop is getting address acquisition for EtherTalk working.

 

cheesestraws

Well-known member
Another quick update on this: I've submitted the LToUDP patches to Paul C Pratt for inclusion in "stock" Mini vMac.  How much he'll want me to change, we shall see.  I haven't had much time or serenity to work on non-work code, because my house has been full of visitors and is now full of people replacing my bathroom and this is wearing my nerves rather.

The next bit I think needs me to finish my rackmount LC II, which is going to be my AppleTalk router, but will also allow me to do interop testing with EtherTalk with things other than BasiliskII.  That's my first post-bathroom-chaos project...

 

james_w

Well-known member
Brilliant! And nice to see someone working on something significant for retro Macs also over here in the UK. Keep up the good work! :D

 

cheesestraws

Well-known member
Another quick update on this: the builders have now left but my mental health is extremely poor, which is making working on software outside of work rather tricky.  I haven't abandoned this, though.

The good news is that the Mini vMac LToUDP support is in the current alpha of Mini vMac, and looks like it is going to work on Linux too.

More will come when I am actually able to concentrate again.  Watch this space...

 

mactjaap

Well-known member
Hmmmmmmmm

Tried to run the latest Alpha (2 times) on Windows computer..but the two doesn't seem to "see" each other. Tried it some time ago on Macos and it worked. Is there no LocalTalk on Windows?

 

cheesestraws

Well-known member
I don't think it's working on Windows.  My code certainly doesn't do Windows.

There's no particular reason why it can't (it's just standard socket code), I just don't have a Windows machine set up for development at present.

Anyone who does Windows development and wants a pretty easy win, this would be a good target :) .

 

mactjaap

Well-known member
Thanks for your quick update!
Ok. I run it on our MacBook. 

Hope a windows developer takes up the challenge.....

 

cheesestraws

Well-known member
It is absolutely dead standard socket code, so yeah.  When I get my house in order (both literally and metaphorically) I will try to have a go with it with my old Windows dev machine, if nobody else has picked it up by then.

 

mactjaap

Well-known member
This how it looks on our MacBook.

One Mini vMac on system 7.5.5 has file sharing and one on System 6.0.8 with Appletalk. Disk Mac is mounted on the desktop of the system 6 Mini vMac.

IMG_0855.JPG

 

cheesestraws

Well-known member
Hope a windows developer takes up the challenge.....
The new alpha as of a couple of days ago apparently has it working under Windows—I assume Paul C. Pratt did the requisite work, it definitely wasn't me.

This is so cool.
The first time I got it working I actually got a fit of the giggles because it was so cool to see.  I can't wait to start getting these networked to *real* Macs, which is the next goal...

 

mactjaap

Well-known member
I tested Alfa 37 on Windows. Same disks as on the Mac. But I didn’t get it going. I’m I doing something wrong? Anybody else tested?

 
Top