GeckOS was last developed in 2013 so it might be difficult to get help porting it to X16, but Fuzix is currently developed and the developers are willing to help with ports. I suppose that the only 6502 system that Fuzix runs on yet is a 6502 emulator: https://github.com/EtchedPixels/Virtual65
Just watched the Fuzix video. It’s no joke. As a Unix SA for 10 years (before it became commoditized), this appears to have the looks of being complete from a user point of view. I hoped to see vi exercise the curses package but it didn’t get that far.
The GeckOS demo I saw showed multi user, pushing processes into the bg, inter process communication etc but due to extreme memory constraints, couldn’t even produce a proper ps -ef.
Heavily limited by screen real estate, I’d have to think that the availability of > 256k, SD card based virtual disk, and quicker clock speed can make this fun to noodle with (and ADVENT) on the Commander Platform.
There are some 6502 Fuzix ports, of varying degrees of workingness. The main issue is that everything's written in C, and the 6502 is a very difficult architecture to compile C for, with really bloaty code. Hardware-wise, Fuzix wants to be able to bank-switch memory starting at 0x0000 with a fixed segment at the top of memory which provides the system call handler and bank-switching stuff. The kernel and video memory live in their own user banks. This gives each process up to about 63kB of available space. My understanding is that the X16 uses a similar mapping model to the C64 with the mapping registers in zero page at 0x0000. This will make it difficult to run 6502 binaries from other platforms, but if you're going to recompile all the userland yourself that's not a problem.
I have, by the way, a compiler for an Ada-like language which will actually run on the 6502: http://cowlark.com/cowgol/ I was able to get this partially working on a C64 but with the kernal and video memory eating big chunks of the address space there's just not enough RAM left to do anything useful. Also, the C64 DOS is dreadful --- I need to be able to seek inside files, and get their size. You can, however, cross-compile from a BBC Micro or CP/M machine (or a from a Linux PC if you want to be boring).
...I also made this: https://github.com/davidgiven/cshell ...which might be useful for people doing machine code programming.
Actually, I realise now that I was mixing up the X16 and the Mega65! The X16 is much less like a C64.
Unfortunately, I don't think the X16 can effectively run Fuzix. AFAICT there's only a single 8kB memory window at 0xa000. As on these systems Fuzix has to use memory mapping for task switching, that means each user process would have to fit in that 8kB, and I think that's too small to run any useful programs. It should be theoretically possible, with the kernel in low memory, but I'm not sure the result would be worth it. It's a shame that you can't map RAM into the rest of the memory map. (Also, it'd have been really useful to have the I/O pushed up to the top of memory, overlaying the ROM space; that would have allowed a contiguous address space.