A6: M68k operating system
 
 
 
 
 
Go to file
alexis e442d0e267 Bootloader changes for ca1 2022-05-28 17:39:53 -06:00
0-DOCS Evict newlib 2022-04-23 22:06:35 -06:00
0-ISSUES Migrate tracker 2022-04-06 21:51:11 -06:00
a_runtime Build the kernel -fpic 2022-04-28 17:59:51 -06:00
bootloader Bootloader changes for ca1 2022-05-28 17:39:53 -06:00
dll_kernel kinfo: fix bad m68000 stack frame adjustment 2022-05-02 22:29:38 -06:00
dll_ld Make DLLEXPORT work 2022-04-28 20:51:11 -06:00
dll_system Let the bootloader have its own linker script... 2022-04-30 10:54:43 -06:00
exe_a6 Let the bootloader have its own linker script... 2022-04-30 10:54:43 -06:00
gendrv a6boot: smallify more 2022-05-02 19:14:47 -06:00
subprojects Update picolibc - fixes address error 2022-04-23 21:34:30 -06:00
superfs_icm68k Split out KERNEL.DLL 2022-04-03 19:15:45 -06:00
toolchain Quieter build 2022-04-28 20:14:29 -06:00
.gitignore Initial port to Meson - needs doc update 2022-04-02 12:53:52 -06:00
.gitmodules Initial import of picolibc 2022-04-23 19:23:37 -06:00
README.md Evict newlib 2022-04-23 22:06:35 -06:00
blblast.py a6boot: add quick upload tool 2022-05-08 20:52:39 -06:00
build.sh Make it optional to adjust your elves 2022-04-10 18:14:40 -06:00
meson.build a6boot: lots more shrinkifying 2022-05-02 21:20:55 -06:00
meson_cross.txt Adjust flags 2022-04-29 19:03:55 -06:00
meson_options.txt a6boot: don't build by default 2022-05-07 09:26:41 -06:00

README.md

A6 — operating system for embedded M68k systems

(work in progress, most of these are lies until those things are actually built)

A6 (originally a shortening of AVL68KOS / AVL's 68K OS) is an operating system for use in embedded M68k computers. Some characteristics:

  • Supported CPUs currently include: 68010 (There is preliminary 68000 support but it is untested. In the future, newer ones will also probably work.)

  • Preemptive multitasking

  • IO using device files, a la *n?x

  • Memory protection support

    (No support is planned for full MMUs — this is a deliberate design choice. However, future ports to more modern 68ks may understand how to turn their MMUs into MPUs).

  • Loadable kernel modules

  • Applications load from ELF files, with dynamic linking/relocation

Compiling

There is more documentation on compiling here. The tl;dr is: you need a m68k gcc toolchain called m68k-elf-* on your path, then build using meson. A helper script to run all the meson commands is at ./build.sh.

Documentation

The documentation takes the form of Markdown files located in this source tree; it can be viewed here.

Issues are managed in Gitea now, but the old issue tracker has issues that were closed prior to this migration.

Intellectual property is bullshit. This is everyone's code. Because it includes picolibc, you'll have to dump the big pile of IP crap from here into documentation you bundle with a binary build.