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

Help Getting Started with TCP development using Retro68 and emulator

equant

Well-known member
I developed a few TCP apps a few (~10) years ago.  One was an MPD client and the other was a twitter client.  I used Think Pascal and developed natively on old macs.  I have recently discovered Retro68 and some of the work/repos that @ants has posted and been inspired to goof around a bit.  I'm developing on linux.  I have some questions about the best ways to get started and was hoping to start a thread dialogue since after a few days of googling, I have some questions.

(1) It's my understanding that Basilisk II will allow me to emulate a mac with ethernet TCP and that minivmac will not.  Is that right?

(2) I've got Retro68 compiled with Universal interfaces, and was able to compile @ants MacHTTP code.  The test program runs in Basilisk, but the networking isn't working.  When I start Basilisk, it sees my wifi device in the setup/preferences window (which I select) but while booting it complains...

WARNING: Cannot open /dev/sheep_net (No such file or directory). Ethernet will not be available


... so I need to figure out why that is.

(3) The Basilisk II that I'm running is installed from the Ubuntu distro, and says that it's version "1.0".  I tried building Basilisk II from source, but the config script didn't complained that X11 isn't installed, and I haven't gone back to troubleshoot that yet.

I realize this isn't enough info for anyone to diagnose any problems.  But advice/opinions would be helpful.  Especially if I'm heading down the wrong path.  @ants, if you read this... do you develop on linux and use Basilisk II to emu your TCP apps?

Thanks,

Nathan

 

equant

Well-known member
Just a quick update... I've managed to get the sheep_net module installed; it involved creating a signed key to be able to install the module.  But, I don't see an option for slirp in Basilisk.  Using my linux box's wifi device, I can't get MacTCP configured correctly and I can't tell if it's because I'm behind a captive portal or not.  Here is the output of ifconfig on my linux box...

wlp63s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.7.10 netmask 255.255.240.0 broadcast 172.20.15.255
inet6 fe80::bc3f:7369:c2fa:767c prefixlen 64 scopeid 0x20<link>
ether 00:e1:8c:74:a1:49 txqueuelen 1000 (Ethernet)
RX packets 22690 bytes 12909244 (12.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12846 bytes 2082221 (2.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0




If anyone can help me figure out what MacTCP settings I should have, it'd be much appreciated.

 

cheesestraws

Well-known member
FWIW: I've found that using bridging and tap interfaces is less painful than using sheep_net, generally; it requires a bit more upfront setup but it's less intrusive and less mysterious.

The basic approach is:

  • Set up a bridge interface
  • Set up a persistent tap interface on that bridge
  • Make sure the permissions for the tap interface are correct
  • Tell BII to use it.

I'm (once again) travelling at the moment but once I get home I can dig out my configuration files (under Debian, so will be very similar to Ubuntu) if it will be useful.

That said, yeah, I'm not sure how MacTCP will react to the captive portal and if I remember correctly it doesn't do DHCP, which is likely to be a problem.  If you can use Open Transport you may well find your life gets rather easier...

 

ants

Well-known member
if you read this... do you develop on linux and use Basilisk II to emu your TCP apps?
I use Windows 10. Getting Networking alive in Basilisk II on Windows is a piece of cake. Unfortunately I know next to nothing about Linux sorry.

 

cheesestraws

Well-known member
(I found my config files but actually using a tap is more involved than I remembered it being so perhaps better avoided unless sheep_net isn't working for you.)

I'd see if Open Transport works in the emulated machine before doing anything more complicated.

 
Top