Skip to main content
Home Forums Why no Contiki for Mac 68K? Why no Contiki for Mac 68K?
Thread

Why no Contiki for Mac 68K?

Why no Contiki for Mac 68K? 68k 28 posts Mar 8, 2009 — Nov 5, 2013
I'm assuming that because it doesnt exist (from my quick googling) this would be quite a major piece of work?

Imagine being able to get an original 128K Mac onto the internet (more or less) natively.

Of course, being of a non-programming type inclination its easy for me to sit back and muse about it without having to think through (or even think up) all the major hurdles that are likely to present in such a task.

Still, they did it for the Apple II... those guys are making us look bad ;)

Seriously tho - did anyone ever take a look at doing this?

This something I've wondered about too... since it exists for every other platform known to man, I'd guess there just nobody with the requisite skills who's interested in doing a 68k Mac port.

lol i. have thought this many a time. but untill it is in public discussion and on ppl's minds nothing will come about it. th more we discuss th more we may interest a coder. i site the browser6 thread as a prime example. btw i also have a similar thread .(or will do in about ten minutes about another dunkels® software project)

I think the problem is that not many people are interested in programming for 68K Macs compared to just about any other retrocomputing platform. Look at how busy this board is and then look at how many topics involve active software projects... I'm pretty sure I could count them on one finger.

But maybe you're right... if we keep talking about it someone may just step up to the plate.

Imagine being able to get an original 128K Mac onto the internet (more or less) natively.
.....

Seriously tho - did anyone ever take a look at doing this?
Relatively easy. Write an extension that simulates MacTCP's interface and uses PPP over the Serial port. Then marvel at there being so little memory to do anything else.

I would hazard that the most you could do would be a telnet+PPP combined application. Technically that is then Mac on the internet, but it's not what you mean.

Compare with the browser6 thread.

I would hazard that the most you could do would be a telnet+PPP combined application. Technically that is then Mac on the internet, but it's not what you mean.
Well I don't think there's any PPP support, but I could be wrong (as always)... Contiki on the Apple II manages TCP/IP over ethernet and a text-based web browser... and wget, which is bloody useful. Email kinda works, as does ftp, but telnet is a bit of a farce with it's 32x8ish window, but it does somewhat function.

And then there's the webserver 8-o

So, all that on a 1 Mhz 8-bit machine with 64K... I'm sure it could do a bit more on a Mac.

Relatively easy. Write an extension that simulates MacTCP's interface and uses PPP over the Serial port. Then marvel at there being so little memory to do anything else.
Hmm, if I read that right your suggesting making something that looks like MacTCP so that apps that are already coded for MacTCP will work with little (or no) modification? I guess that could work for more powerful Mac's than the original 128K - but not the 128K, just because I assume most of those apps would expect a whole lot more than that little box has to offer.

I imagined that a port of Contiki would be just that - wouldnt look like MacOS at all, would implement the uIP stack, and would require new apps be coded specifically for it.

Lack of a PPP implementation would be a bit of a bummer tho...

uip is portable enough to be ported across to system 2.o. The rest u could take from there. i heard a few years ago that there was some1 working on ppp support for uip. that was on the contiki yahoo group. Them again lwip iirc Supports ppp. but it takes a 10kb bite out of the 128k .

PPP itself is not a major problem, there is plenty of source code available on the net that implements it'. I've used J Carlson's implementation quite successfully.

I'd be happy having just the Contiki browser to play with, for giggles. AFAICT, it's fairly functional as is, the biggest drawback being that it has to reload the page in order to scroll.

The reason that there is no Contiki for 68K is that it is very hard to deliver.

A group of developers who did have a lot of time and inclination actually delivered TCP/IP on a Mac 512K. And it probably worked much better in the day than when I tried it: http://www.vintagemacworld.com/512Knet.html

Those developers know that we would love to have source, but finding it is a challenge.

I'd be happy having just the Contiki browser to play with, for giggles. AFAICT, it's fairly functional as is, the biggest drawback being that it has to reload the page in order to scroll.
I really find it indispensable for the Apple II... easiest way to grab files off the net by far. The downside is you need a (relatively) expensive ethernet card. The downside for a 68K mac version is that the machines that would benefit most (the 68000 compacts) all lack ethernet and EN/SC devices aren't exactly falling from the trees.

PPP is a bit of a non-starter too, since practically no one has dial up these days.

PPP is a bit of a non-starter too, since practically no one has dial up these days.
PPP isn't just for dial up. It's a standard way of representing IP on serial links, so just as appropriate for plugging in to an Microsoft RAS server with a null modem.

The fastest way would be to use MacIP, again some form of gateway is required but no different to networking a Classic or a Mac Plus.

Contiki is not really a full OS.

Its some embededded device firmware with a text mode UI added.

No multitasking is possible and even no program main loops because apps need to poll the event kernel regularly.

For apple IIe I recommed writing something like GeckOS/A65 that supports preemptive multitasking.

Even A/UX 0.7 can do more than contiki ,but that needs a PMMU.

Get something with multitasking +TCP/IP +sockets + multiple FS support ported to mac and add a real GUI.

the truth is contiki does have a gui - check out version 1x on the c64, it DOES do multitasking, and also is the prototype showcase of a technique of multi threading called 'protothreading'. i think i remember reading something to that effect too. plz elaborate?

For apple IIe I recommed writing something like GeckOS/A65 that supports preemptive multitasking.
But there's already Contiki for the IIe and I'm pretty sure it's already doing as much multitasking as you could reasonably expect from a 64K machine... GeckOS/A65 certainly looks intersting though.

the truth is contiki does have a gui
Depends on the system it's ported to -- the Apple II version is entirely text-based, though it still features windows and icons so it counts as a GUI in my books.

So, in summary, should work, but no one knows how to do it and anyone that could possibly figure it out, isnt interested (fair enough).

Bugger.

i recon that there's no point in porting a new os to an under supported platform like the 128k and 512k macs. BUT. bringing across innovations like the uip or lwip i p stack and the browser etc would be the best solution.

gavo, i'd like to port the lwip stack at first over to the lisa as it has no such stack or third party app so its forging new ground. them bring it over to the 128k and 512k my question is that with their respective recommended os' loaded, how much ran have we got to play with? and as i am really SLOW i would like to calborate on this he anyone is eager.

UIP is to much reduced for me.

I would better port something like the uc/ip or the KA9Q that coherent and DOS used.

Contiki and the UIP stack are very different from what we know of OS working.

The Mac OS is able to being hooked by experts in various ways.

TCP/IP on 16bit systems is no innovation,it only is a bit shrinked.

2.9BSD for the PDP11 got the TCP/IP stack from the VAX 4.1cBSD.

gavo, i'd like to port the lwip stack at first over to the lisa as it has no such stack or third party app so its forging new ground. them bring it over to the 128k and 512k my question is that with their respective recommended os' loaded, how much ran have we got to play with? and as i am really SLOW i would like to calborate on this he anyone is eager.
I agree that if possible (and practical) this would be a better approach than porting say contiki. As you say tho, the issue is likely to be around how much free RAM is available once done, specifically for additional applications to be loaded to take advantage of this new IP stack. Having said that, this is only likely to be an issue for the 128K Mac, not the Lisa or 512K Mac - but I personally would like something that worked on the 128K - still perhaps this is just not possible (which is why I originally suggested Contiki, knowing that this has been ported to systems like the C64 - which I refuse to believe is better suited to this than a Mac - even a 128K one).

Unfortunately I am no programmer and so am likely to be of no help in coding or designing anything, although I guess I could be useful as a tester for the Mac stuff (no Lisa unfortunately however).

eCos might be a more worthy porting target. For starters, there's already a 68k port, albeit for later embedded 68ks, and it is currently developed, supported, and deployed.

http://en.wikipedia.org/wiki/ECos

eCos (embedded configurable operating system) is an open source, royalty-free, real-time operating system intended for embedded systems / It is designed to be customizable / programmed in the C programming language, and has compatibility layers and APIs for POSIX and µITRON./

eCos was designed for devices with memory size in the tens to hundreds of kilobytes / It can be used on hardware with too little RAM to support embedded Linux /

eCos runs on a wide variety of hardware platforms, including / Motorola 68000 / PowerPC /
eCos Porting Guide

One of the key aspects of eCos is its configuration system. It allows the programmer to control what functionality and features are included at runtime. Selecting from package modules, the programmer can layer different functionality, such as an Ethernet driver and networking support or a different scheduling algorithm, according to the needs of the application. Unwanted features can be eliminated easily to reduce the resource footprint. The configuration system also enables developers to employ third-party components to extend and enhance the functionality of the operating system.
eCos was designed for portability to a wide variety of 16-, 32-, and 64-bit processors and platforms. eCos is assembled from different components layered on each other to add the needed support for a given system. The base of this layered architecture is the hardware abstraction layer (HAL). Once the HAL has been ported to run on a given target's processor and any specific configuration needed for the target platform itself is added, eCos can be up and running quickly.
The only M68k port I can find is for the Coldfire. As I understand it from others' comments here, the Coldfire ISA is a subset of that for 680x0s, so my very rough guess is that a backport would be feasible. There would probably be a lot of custom coding involved to get peripheral device support (ethernet, serial, video, SCSI etc)

Course, you could just stick a IIe PDS card into a Mac and run Contiki on that :rambo:

A perhaps more viable solution than eCos would be (ironically) OS-9...

... no, not that one, this one. :o)

OS-9 is a family of real-time, process-based, multitasking, multi-user, Unix-like operating systems, developed in the 1980s for the Motorola 6809 microprocessor. Today, OS-9 is both a Motorola 68000-series machine language OS and a portable version written in C.
In 1983, OS-9/6809 was ported to Motorola 68000 assembly language and extended. Versions of OS-9/68K run on a wide variety of 68000 family platforms, including the Sharp X68000 in Japan. It was also ported to the Atari ST.
Unfortunately, it's proprietary code. There's an open-source rewrite of the original 6809 version called NitrOS-9, with a GUI of sorts.

A couple of interesting snippets:

IIRC some years back Gibbs Ultrascience sold a port of OS/68000 v2.4 that ran under the then-current MacOS....

AFAIR in 1991/1992 the german distributor Dr. Keil sold a port of OS-9/68k V2.4 adapted to the Mac LC, LC II and some other actual Mac models. No emulation of OS-9, just running "native" OS-9, and not necessary to have MacOS booted.
Though it's built for a completely different CPU (Z80), and dependent on some of its specific features, SymbOS is pretty inspiring.

And it probably worked much better in the day than when I tried it: http://www.vintagemacworld.com/512Knet.html
Ah, thanks for that. I had forgotten about Phil's page and there's a ton of good stuff on there.

The downside for a 68K mac version is that the machines that would benefit most (the 68000 compacts) all lack ethernet and EN/SC devices aren't exactly falling from the trees.
Ah, for a time machine. There was a period of a few months during which one Ebay seller was offering the EN/SC devices for about $10 and no one was buying them. He must have had at least ten of them. Of course, that was years ago, but certainly within the last ten.

I remember Ultrascience (though I remember Dr Gibbs as a separate company: perhaps they merged at some point). They sold 68K boards of their own that could run a great variety of operating systems, including d/os, Pick, OS-9 and most controversially AMOS (the Alpha Micro multi-user operating system), much to the ire of Alpha Microsystems. Only ever saw them in adverts; never seen one of their machines in the flesh.

µcLinux has a 68k port, so, if you don't mind writing and/or porting drivers for basically everything, that would work. Probably.
mp.ls