Funicular
Version 0.7. Subject to change in backwards-incompatible ways.
Funicular is a system that semi-automates the creation of computing environments on eclectic architectures.
"Semi-automate" means it automates what it can, and provides repeatable instructions for you to follow for what it can't.
"Computing environment" could mean a "development environment", i.e. a system in which you can build (and perhaps even write) software, populated with interpreters and compilers, debuggers, text editors, and the like. Or it could mean any other environment that could be set up on a computer system.
"Eclectic architectures" is not terribly-well defined, but it includes retrocomputing and esoteric architectures. Basically, if you've got an emulator for it, and installation images for it, you might be able to install and outfit and run a system for it, using Funicular.
TL;DR it's kind of like a Vagrant, but instead of provisioning VMs, it provisions emulators.
It currently supports:
- i386 running NetBSD under QEMU
- i386 running FreeDOS under QEMU
- Amiga 500 (etc) running AmigaDOS under E-UAE
- Commodore 64 with a 1541 floppy drive under VICE
- VIC-20 with a 1541 floppy drive under VICE
- Apple //e running AppleDOS under Linapple
Funicular unifies and replaces the older, discrete, ad-hoc projects NetBSD-Gondola, FreeDOS-Gondola, and Amiga-Gondola, which are now deprecated.
Quick Start
cdinto a directory that has aFunicularfile.- Run
funicular init system. - Acquire the appropriate install image.
- Run
funicular install. - Run
funicular init setup. - Run
funicular setup. - You now have a configured Funicular. Run
funicular startto use it.
Documentation
The reference implementation of the funicular tool is written in Bourne
shell. A Funicularfile is also written in Bourne shell, but it mostly
contains configuration, not functionality.
You can look at the settings in the example Funicularfiles in eg/ and
look them up in the source code in script/ to divine what they mean.
Because the entire thing was recently rewritten (converting it from Lua to Bourne shell), there really isn't any further documentation right now except for this out-of-date set of notes.
License
The contents of this repository are in the public domain. This, of course,
applies only to the contents of this repository, and not to the contents of
any particular Funicular you build with with this software. See the file
UNLICENSE in this directory for more information.
Commit History
@master
git clone https://git.catseye.tc/Funicular/
- It's `https` these days Chris Pressey 3 years ago
- Also include OpenZz-1.0.4-4ce2, let's see if it can be built. Chris Pressey 3 years ago
- Update URL for `fd11src.iso`. Chris Pressey 3 years ago
- Merge pull request #6 from catseye/develop-0.6 Chris Pressey (commit: GitHub) 3 years ago
- Bump version number in README, and drop Mercurial support. Chris Pressey 3 years ago
- Allow flags to be passed to qemu via QEMU_SYSTEM_I386_FLAGS env var. Chris Pressey 3 years ago
- Make the cloning of distrepos more strict during `init setup`. Chris Pressey 3 years ago
- Merge pull request #5 from catseye/develop-0.5 Chris Pressey (commit: GitHub) 8 years ago
- Unzip Befunge-93 and Maentwrog during instplat. Chris Pressey 8 years ago
- Zip the distrepos onto the setup image. Chris Pressey 8 years ago
- Attempt to restore the name_map functionality. Chris Pressey 8 years ago
- Download latest versions of DJGPP zips and unzip those versions. Chris Pressey 8 years ago
- Update some distfile versions. Chris Pressey 8 years ago
- Fetch newer version of dos2unix from more canonical URL. Chris Pressey 8 years ago
- Some fixes to the FreeDOS Funicular. Chris Pressey 8 years ago
- Add Sally to distrepos. Chris Pressey 8 years ago
- Refine the Amiga 500 Funicularfile. Chris Pressey 8 years ago
- Edits to README. Chris Pressey 8 years ago
- Merge pull request #3 from catseye/retain-amiga-support Chris Pressey (commit: GitHub) 8 years ago
- Merge pull request #4 from catseye/improve-appleii-support Chris Pressey (commit: GitHub) 8 years ago
- Note to push this functionality down to somewhere more common Chris Pressey 8 years ago
- Continue to use our fork for now. Chris Pressey 8 years ago
- Add .gitignore local to the Apple II example Funicular. Chris Pressey 8 years ago
- Copy Apple Befunge sources from source disk to system disk. Chris Pressey 8 years ago
- Continue to inch forward. Chris Pressey 8 years ago
- Inch yet closer. Chris Pressey 8 years ago
- Inch towards Apple II Funicular usable with linappleii/linapple. Chris Pressey 8 years ago
- Start developing version 0.5. Small improvements to README. Chris Pressey 8 years ago
- platform-a500 has no install step. Also improve setup instructions. Chris Pressey 8 years ago
- E-UAE does not understand multiple mounts for a device. Okay. Chris Pressey 8 years ago