From my booth: CoCoFest 2023

Carol Stream is west of Chicago proper. Leaving, we found I64 right there, heading west thru the Timber Ridge Forestry Preserve and past the Fox River. As Rick Adams summarized, 'head west until you see cows, turn right'. Wish I'd come in that way! But wait.

The hotel was nicer, but setup was 100% new venue. The wifi is not one meshed network, but many (many) access points that converge on a captive portal. You do not get a persistent connection by MAC address, but a single session to the CP. MAC cloning does not work. Neither does the demo. Friday setup achieved nothing but frustration. Late dinner? Bugles from the snack bar.

Luckily, breakfast buffet! So with 80% of the demo DOA and the table a pile of wire, we greet Saturday morning. Spool up last years demo on a local server and begin talking. And talking, and with not much to actually demo, talking some more. I tend to babble on overload, hope at least some of it vaguely made sense and was directed to the right person! No time for lunch, but we still have Bugles.

The room was a blur o tech. I would need both days just for myself. Your choice of video adapters. Joysticks and keyboards in native or USB. An unassembled CoCo2 kit to oogle. Wireless CoCos on power tool batteries. Live repair services. Coffee. Bootleg coffee. Life sized Dinowars picture background. Lifesize Tandy game box picture frame. Enough Canadian content to be legally broadcast from Canada as Canadian. Virtual vendor Nick Marentes, handing out free pacman on SD from Australia! Entirely missed a few (few?) folks, probably bored others out of their minds with the same story 8 times. Apologies to both. If Thursday night setup ever becomes a thing, I'm taking four days.

Some cool demos went live Sunday, when Henry's friend pulled out this amazing 8 antenna 5G cell hotspot thing and put his SIMM card on the line. We'll have our own next year!

The first demo was a video stream of a life game. Seriously, the server ran John Conway's life, with extra sprinkles occasionally to keep it moving. It then sent PMODE3 screen dumps as fast as the CoCo could receive and draw then, that was around 25 fps. Isn't that 77K bytes?.

The restaurant was closed for lunch, but we finished off the bugles in time for the second demo - a full OS9 network boot from an offsite server, including all utilities. No local storage at all! I don't think the CoCo will catch on as 'diskless workstation' but it has in fact been done, over the internet. A local server will really rock.

Obviously, I missed more than I caught. So I'll let the storytellers do what they do well, and describe the demo that wasn't.

@strick's network utilities are fairly portable and very handy. The repo is at his github, drill down to ./tree/main/built/v3/CMDS and behold. Copy those files to the cmds directory of your OS9 install and make them executable (:attr f.* e pe). Or this cheat, grab ***FIXME*** this DSK file and mount as drive 1, then copy those CMDS to your CMDS dir.


To begin your day, start the nic with one of these two commands. Rerun to reset (if you run out of sockets, etc):

f.dhcp coco
gets an IP address from your local cable router. Replace
'coco' with a unique 4 letter string for each nic.

manually specify IP address, netmask, gateway

And then some base utilities
Responds with OK if the remote device is reachable

Return MAC address of device at this IP

ask nameserver about, returns either
A record (IP address) or
CNAME (another name to chase)

ask this server for the time in UCT (GMT)

Data transfers!

f.tget remote-filename local-filename
fetch from tftp server at

pipe ascii text into this
f.recv -p6666
pipe this into something that likes ascii text (NL or CR terminated)|

 Also present is the up and coming boot ROM. This early version loads in a SDC flash slot, so RUN@4 loads this boot menu We will all be following this one with interest. 

I'd hoped to demo the new, cool graphical web browser, but 'WWW' has gotten a little to portly to run. Walk, even. It's very hard to unwrite code, so we blew it up. The first new bits are starting to appear on my github.

The plan is to combine bookmarks, page links, and history into one subsystem, using three files in /dd/SYS. Between string arrays and code, pushing 10K gone. We'll also be using the Menu system published last summer (see menutest on GitHub).

But first, external utilities for network management. 'ifup' and 'host' are similar to the *nix versions, for www this saves a few K more RAM but mainly leaves room for expansion - 'host' could use expansion. 'ifconfig' is just a Wiznet condition dump. It also needs work. In any case, these can be packed and ran as command line utilities.

'ifup eth0' does the hardware setup, mainly based on a linux style text file at /dd/sys/interfaces. As little as

iface eth0 inet dhcp
phyaddr $FF6B

but possibly including a full static config

iface eth0 inet static
macaddr 5C:26:0A:01:02:03
phyaddr $FF6B

'host hostname' first reads /dd/SYS/hosts, a list of ip address/hostname pairs. The first line begins '' and includes your CoCo's hostname. The next line(s) are manual overrides you've put there to replace public dns for that hostname. Then we diverge from unix. If nothing is found, f.dig is called recursively. In other words, get CNAMES until somebody blinks (coughs up an A record). It's then added to the hosts file as a dns cache, and the 'dotted quad' is returned to the caller

Here is an video of host.b09 caching something.

And that's it. Off to solder up some more parts!