68000 Based lab computer - Which OS? - Page 1
Forum section: electronics / general

author: Sainttronics
author_rank: Contributor
timestamp: February 19, 2012, 08:28:54 pm
content: Am toying around with the idea of building a 680x0 based workshop computer. I've primary designed and build 8bit micro systems (excluding PIC based systems) over the years, and want to cut my teeth into something more powerful. I've a couple of reasons to build this system. I know I should have an open mind to more modern processors, but thought that it might also be fun to do something old school, and see how far I could push this technology.The first is to build a 16/32bit based system that has a floppy drive, SD card, LCD screen, VGA out, 1-4MB ram, hard drive interface, the usual ports USB(2), RS232(4), RS458(4) ports and a couple of 8 bit parallel interfaces.The second is to have a lab computer, that can initially work as a multichannel serial data logger and protocol analyzer, but by adding a high speed digital interface it could serve as a logic analyzer, and could grow into something more than just another 68K computer. I was hoping to post this as my first open hardware project, that might be of interest to others.The big decision is what OS to base the unit on, have been looking at RTOS's, CCP/M, Unix/Linux and even hand crafting my own OS. Still haven't came to a final decision on this. Though that I would post my thoughts here to see if anyone has any comments or words of wisdom.

author: caroper
author_rank: Regular Contributor
timestamp: February 19, 2012, 09:18:35 pm
content: As a purist i would have to vote for uniFlex although it was not terribly successful commercially after the port from 6809 to 68000.It was the last OS I ever used on a 68000, excluding the Sinclair QL.You can get the source here ([size=78%]http://webcache.googleusercontent.com/search?q=cache:http://www.rtmx.com/UniFLEX) if you are keen on building a retro 68xxx type system but from your post I would guess you are looking for a much more modern and mainstream SO.CheersChris

author: westfw
author_rank: Super Contributor
timestamp: February 19, 2012, 10:13:00 pm
content: There are lots of differences between 680x0 systems, depending on the value of "x." The 68000 and 68010 have no memory management, so they can't run "real" unix variants, for example. ("What about the SUN-1?" I hear you ask. It had an external MMU consisting of two layers of fast static RAM. (Many of those early 68k systems were based on the same design, which was license-able from Stanford.))

author: MarkS
author_rank: Unknown
timestamp: February 19, 2012, 10:13:16 pm
content: Why not roll your own? Since you are designing the computer from component level, you'll have an understanding of the hardware that few programmers do. It shouldn't be that difficult.

author: Sainttronics
author_rank: Contributor
timestamp: February 19, 2012, 10:23:59 pm
content: Have been looking at the different versions of the 680x0 family, with and without the FPU and MMU. At the moment its down to the 68000 (no FPU and MMU) or the 68030 with all the bells and whistles. As mentioned I have been thinking about hand crafting the OS, and I'm leaning towards a Unix type OS, where once the base kernel is operational, should be able to leverage from existing source code out there.

author: wkb
author_rank: Super Contributor
timestamp: February 19, 2012, 10:34:56 pm
content: Quote from: Sainttronics on February 19, 2012, 10:23:59 pmI'd go the 68030 route, the MMU comes in very handy if you want UNIX-like. Adding an 68881 or 68882 for FPU you can do laterif the need arises. I know you can do a UNIX-like OS without real MMU (I still have a PDP/11 in my stockroombut it is a bit of a pain.I ran TSC Uniflex on my M6809 with a whopping 1MB (total) of system RAM. Oh sweet memories... I still have that home-built machine, it is sitting close to the PDP/11.

author: im_a_human
author_rank: Regular Contributor
timestamp: February 23, 2012, 01:17:38 am
content: When i was at Brighton UNI in the UK back in 1996 i had to design and build a 68000 based system as a course unit for my HND in electronics. I remember having to wire wrap all the connections on the underside. I got the operating system software as far as to be able to read characters using a keboard and serial port and display them on a green screen terminal.I never got to keep it as they reuse all the parts but excellent fun. Oh the memories...

author: kjs3
author_rank: Newbie
timestamp: March 18, 2016, 10:45:10 pm
content: Quote from: westfw on February 19, 2012, 10:13:00 pm(I know this is an old topic, but since I got here Googling 68010 and MMU, I thought I'd correct some inaccuracy)I'm not sure what you mean here. Yes, the 68000 and 68010 don't have memory management built in, but neither did the 68012 or 68020. Yes, the Sun-1 (mc68000) used a discrete, SRAM based MMU, but so did lots (most?) other machines of that era (including the Sun-2 (mc68010) and Sun-3 (mc68020), as well as AT&T Unix PC, NCR Tower, early HP9000/300s, early Apollo Domains & Honeywell 68k). The Sun MMU supported demand paging and memory protection, and it was significantly faster than the Motorola MMUs of the time (and demand paging wouldn't be available from Motorola until the external mc68851 MMU for the mc68020). Yes, it ran a port of Unisoft V7, but we can debate the definition of "real Unix" another time. I suspect it never had a more modern Unix because of the short lifespan of the product (and the page-fault recovery issues of the 68000). The follow-on Sun-2 ran BSD4-based SunOS and was supported through SunOS 4.0 (definitely a 'real' Unix). Also, the mc68010 did have a 'real' (though external) MMU called the mc68451. Didn't do demand paging, and slowed the 68010 down about 25%. Still, BSD4 and SVR2, at least, ran on 68010+68451 machines.Fun fact...that original Stanford 68000 processor design was adopted by another Stanford spin-off/startup to create a whole different computing market. It was licensed and modified to become the processor in the original Cisco router.

author: legacy
author_rank: Super Contributor
timestamp: March 19, 2016, 12:33:31 am
content: oh, linux (with MMU) is too slow, here I have created (by catalyst) a full gentoo/m68k stage4 (it's not supported by the team)I have hacked anApple LC475, replaced the 68LC040 with a68040(with MMU and FPU), increased the clock from 25Mhz to 33Mhzadded 32Mbyte of ram for a total of 40Mbyte, hacked the hard drive (this, linux is able to bootstrap without the help of macOS)emerged things with the full optimization (68040 profile), and …. I can assure you that it's 20time slower than MacTen

author: westfw
author_rank: Super Contributor
timestamp: March 19, 2016, 01:33:34 am
content: QuoteI didn't see anything in your paragraph that disagreed with what I meant to say, or even with what I actually said.QuoteThat was because it cheated, essentially "tightly coupling" the MMU and the Memory itself. It would start the RAS part of the DRAM cycle with the low bits of the address (on ALL possible DRAM banks), while the upper bits were still filtering through the MMU. Then it did CAS/OE based on the mapped upper bits. Very clever stuff! (This simultaneously permitted DRAM refresh to be done by software.)It was a weird time, what with HW vendors coming out with segment-based MMUs (68451, i286, iAPX432) while (AFAIK) all of the likely operating systems were investing in paging-based schemes.QuoteIndeed. I'm rather intimately familiar with cisco IOS (I worked there for 22-odd years.) Cisco didn't use the MMU, though, and all their subsequent designs omitted it.

author: FlyingHacker
author_rank: Frequent Contributor
timestamp: March 19, 2016, 03:37:40 am
content: I had a 68040 based machine running NetBSD up for over ten YEARS with no crash or reboot. It finally died not due to a power outage, but due to a failure of a UPS unit.So NetBSD?

author: DrGeoff
author_rank: Frequent Contributor
timestamp: March 19, 2016, 04:05:34 am
content: RTEMS.And use a 68010 so you can move the vector table.

author: miguelvp
author_rank: Super Contributor
timestamp: March 19, 2016, 08:21:19 am
content: Back in my days of 68000 the preferred OS was OS-9 by Microware. Later I think we looked at LynxOS, both of them being real time operating systems.Not sure how they did evolve, or if they did evolve into some new OS. I remember LynxOS evolving to LynxTWO but not sure if they supported the 68K, but I would think it did.

author: legacy
author_rank: Super Contributor
timestamp: March 19, 2016, 01:06:04 pm
content: Quote from: miguelvp on March 19, 2016, 08:21:19 amwhere was it running? I mean on which platform?

author: ale500
author_rank: Frequent Contributor
timestamp: March 19, 2016, 02:37:56 pm
content: Do you need an OS ?... I ask because I have been following several 68k-designs for a while and a starting point for some of them is Enhanced BASIC. Full sources available. It support things like 4 MB RAM... not that bad !.I'd love to finally finish my own 68k board...

author: legacy
author_rank: Super Contributor
timestamp: March 19, 2016, 03:24:25 pm
content: LUA on 68k ? ins't better ?

author: Kalvin
author_rank: Super Contributor
timestamp: March 19, 2016, 04:05:00 pm
content: Linux.

author: miguelvp
author_rank: Super Contributor
timestamp: March 19, 2016, 07:06:25 pm
content: Quote from: legacy on March 19, 2016, 01:06:04 pmCustom VME backplane hardware for a medical imaging viewing console back in 1990.We wrote custom drivers as well because of the huge hard-drives needed to store the very high resolution images at 16 bit greyscale values we needed to retrieve the images into the very expensive (at the time) frame buffer and displayed with hardware LUT to manipulate the image contrast and brightness to the resulting 8 bit high resolution (at the time) display, I think it was 2k by 1.5K resolution but that display was done with custom hardware as well.Nothing was off the self other than the VME cabinet and backplane.

author: grumpydoc
author_rank: Super Contributor
timestamp: March 19, 2016, 08:14:38 pm
content: For an MMU less system thenFuzixoruClinuxmight be worth a look.Fuzix is Alan Cox's reincarnation of UZI, really it is a Z80 based system so the 6800 port might be incomplete but it is fairly current. uClinix is more mature but I'm not sure whether any development is still being done.

author: nctnico
author_rank: Super Contributor
timestamp: March 20, 2016, 01:21:31 am
content: Decades ago I have used OS-9 during my EE study where we had to program relocatable 68k assembly and wire-wrap an I/O interface. Oh joy... back then the machines where already old and flaky!It is easy to recommend using a Raspberry Pi for a project like this but if your goal is to design microcontrollers and SoCs then building a system around a 680x0 processor (I'd go for one with an MMU and FPU to add some complexity) would provide valuable hands on experience. Another option would be to use a 486 processor for more processing power and more choices for the OS.

author: Ian.M
author_rank: Super Contributor
timestamp: March 20, 2016, 04:03:53 am
content: Hopefully the O.P. has already built their lab computer and is happy using it under their chosen OS. Its really hard to justify anything except a Linux derivative due to the massive choice of utilities and cross-development tools it provides. However I feel there is another 68K OS that deserves an honourable mention.SMSQ/EIts an open source OS based on Sinclair Research's QL QDOS. It includes a multitasking kernal, support for mass storage filesystems and other device drivers and a Sinclair SuperBASIC compatible interpreter that the system natively boots into.If you want a lab computer that runs BASIC natively (a tradition dating back at least to the days of the Commodore PET as a GPIB bus controller), its worth a look. It runs on various 68K boards purpose built for Sinclair QL workalike emulation, the Atari ST, and some hardware and software emulators on the PC. Porting it to another 68K system would mostly be a matter of porting the device drivers.

author: wkb
author_rank: Super Contributor
timestamp: March 20, 2016, 07:21:25 pm
content: Quote from: nctnico on March 20, 2016, 01:21:31 amOh... the thought.. same here, OS/9 on a 68k machine of sorts, but that &*#&^ stuff we used did not have a decent VM (memory is dim here). Very green C programmers and dangling pointers -> Crash Boom Bang all the time. Very practical with 2 terminals and 4 students working on a single machine. The alternative at the time was our Prime with PrimeOS, mixed blessing that, but at least it was stable and did not crash the whole darn system when yet another buggy program was started.

author: kjs3
author_rank: Newbie
timestamp: March 22, 2016, 07:34:27 pm
content: Quote from: westfw on March 19, 2016, 01:33:34 amYou said "The 68000 and 68010 have no memory management" which is only true in the most literal sense (it also, for example, doesn't have cache or DMA built in, though you can certainly do that with those processors) and "they can't run "real" unix variants, for example." which is at best debatable and relies on BSD4 and SVR2 not being "real". So I assumed I misunderstood you. Since apparently I didn't, we can agree to disagree on certain semantics.QuoteQuoteOne mans "cheat" is another's "elegant design". :-)

author: rrinker
author_rank: Super Contributor
timestamp: March 22, 2016, 10:43:05 pm
content: I'll throw one out - Xenix! The TRS-80 Model 6000 ran that. The local Radio Shack Plus Computer store had one, and they set up accounts for us to play around in, that was my first hands-on exposure to any sort of 'nix OS. Interesting machine that ones, with a 68000 AND a Z80A.

author: TonyD
author_rank: Contributor
timestamp: March 26, 2016, 12:59:17 am
content: OS9 - I know its been mentioned a few times.We used it a lot on "SCADA" systems for the oil & gas industry back in the mid eighties