Shop OBEX P1 Docs P2 Docs Learn Events
Propeller OS? — Parallax Forums

Propeller OS?

HumanoidoHumanoido Posts: 5,770
edited 2015-02-16 01:48 in Propeller 1
The PC has numerous operating systems such as Windows and LINUX.

Which OS does the Propeller have? Anyone have a list?

humanoido
«134

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2009-10-12 14:40
    humanoido,
    The term "OS" has a variety of meanings. It's a disservice to use the term for both the Propeller and the likes of a Windows or LINUX without first clarifying what kind of functionality you're talking about. Windows, LINUX, and the MacOS (among many others) provide many many services that are simply not appropriate for a processor on the scale of the Propeller.

    I would suggest that a minimal description of services would include the maintenance of some kind of file system with named files on either EEPROM, other flash, or other mass storage device (like an SD card). It would have to be able to load new SPIN / Assembly / other programs by name and do other file maintenance (delete, possibly rename, create, copy, list filenames). It would obviously have some kind of command interpreter and appropriate I/O drivers for some kind of user input and display.
  • heaterheater Posts: 3,370
    edited 2009-10-12 15:05
    Humanoido: "Which OS does the Propeller have? Anyone have a list?"

    You and your lists, I feel another hobby collection coming on.

    Of course I have to start with:

    1) CP/M 2
    2) CP/M 3

    We are working on:
    3) MP/M
    4) CUBIX
    5) One Man Unix (OMU)
    6) Flex.

    [noparse]:)[/noparse] [noparse]:)[/noparse] [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • JonnyMacJonnyMac Posts: 9,105
    edited 2009-10-12 15:43
    heater said...
    You and your lists, I feel another hobby collection coming on.

    Perhaps he's looking for a nice OS for a Propeller "super computer" to go along with his BASIC Stamp version! tongue.gif
  • ForrestForrest Posts: 1,341
    edited 2009-10-12 16:22
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-12 18:11
    Mike Green: Absolutely right - we want to provide a service to the Propeller chip. These are very good definitions of OS to establish for the Propeller.

    JohnnyMac: Right on! Bring on the Propeller Supercomputer OS!

    Heater: Thanks for getting the list started... now that you mention it... [noparse]:)[/noparse]))

    Forrest: Good addition and now since three make a list...

    humanoido
  • JonnyMacJonnyMac Posts: 9,105
    edited 2009-10-12 18:15
    Sorry, but I can't help but grin.... using term "BASIC Stamp Super Computer" just makes me laugh. I'm pretty sure folks at Cray Research aren't making any design changes.
  • drohne235drohne235 Posts: 25
    edited 2009-10-12 18:25
    heater said...

    Of course I have to start with:
    1) CP/M 2
    2) CP/M 3

    We are working on:
    3) MP/M
    4) CUBIX
    5) One Man Unix (OMU)
    6) Flex.

    7. TriOS scool.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.hive-project.de

    Post Edited (drohne235) : 10/12/2009 6:30:29 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-12 18:51
    The first list of Propeller OS

    PROPUNIX by Aaron193
    http://forums.parallax.com/showthread.php?p=829405

    PropDOS
    http://forums.parallax.com/showthread.php?p=683157

    MINI OS - part of the Sphinx Compiler, Bill Hennnig's project

    CP/M 2

    CP/M 3

    Dr Jim's KISS OS - A new operating system for the Parallax Propeller
    http://forums.parallax.com/showthread.php?p=822915
    This is a pay program. Has anyone used it?

    LARGOS - UNIX based

    TRIOS - www.hive-project.de

    DEXOS -
    tonymac.asmhackers.net/Wiki/index.php?n=Dex4u.Dex4uAPI
    www.dex4u.com/
    jas2o.forthworks.com/dexforum
    Mike Green said...
    A OS is also a place to keep code and resources that are common to numbers of application programs. For example, I've written several OSs over the years for processors comparable to the Propeller. In each case, they consisted of an interface to a common input device and output device (like a PS/2 keyboard and either TV or VGA text display), a program loader, and some kind of mass storage I/O (like an EEPROM and SD card low level I/O driver). The OS included one or more utility programs of which one was a simple command interpreter and initialization routine that would load the various basic I/O drivers and initialize them before starting the command interpreter. CP/M is a similar example.

    For the Prop OS, the advantage of packaging these functions this way is that you can write your programs using a standard, ready-made interface and most of the I/O and utility functions you need are already included. In the case of the Prop OS, the I/O drivers can also be loaded into their cogs and left there so their assembly code and initialization code don't have to stay in hub memory and you can use that memory for something else when you're writing your programs (and the utilities too). mallred and others who have done similar things have packaged a different set of functions into the OS. mallred in particular is interested in things that will support their AI project and those functions may be somewhat different from those needed by someone who wants to produce an automobile dashboard control system or a platform for multiple processor emulators (like a Z80 and 6809) or a datalogger (and data analysis program) for a sounding rocket.

    http://forums.parallax.com/showthread.php?p=822915

    The term "OS" has a variety of meanings. It's a disservice to use the term for both the Propeller and the likes of a Windows or LINUX without first clarifying what kind of functionality you're talking about. Windows, LINUX, and the MacOS (among many others) provide many many services that are simply not appropriate for a processor on the scale of the Propeller. I would suggest that a minimal description of services would include the maintenance of some kind of file system with named files on either EEPROM, other flash, or other mass storage device (like an SD card). It would have to be able to load new SPIN / Assembly / other programs by name and do other file maintenance (delete, possibly rename, create, copy, list filenames). It would obviously have some kind of command interpreter and appropriate I/O drivers for some kind of user input and display.

    http://forums.parallax.com/showthread.php?p=847473
    Post Edited (humanoido) : 10/12/2009 8:41:47 PM GMT
  • mparkmpark Posts: 1,305
    edited 2009-10-12 19:49
    Although Sphinx does some OS-like things, I have avoided calling it an OS. Certainly I've never called it "MINI OS"!
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-12 20:09
    JohnnyMac: the BASIC Stamp Supercomputer thread is here for discussion.
    http://forums.parallax.com/showthread.php?p=765140
    Of course these low cost hobby Stamp supercomputers were never designed to compete with Cray, however, the thread suggests ways on how to increase the power so that it can exceed the Cray if you are interested in doing that. As explained in one of the recent pages, the BASIC Stamp Supercomputer is a name which defines the concept of super in reference to a BASIC stamp within the genre of BASIC Stamps. There are three more Basic Stamp Supercomputers, each with varying special functions. There are currently five BASIC Stamp Supercomputers. The most recent is SEED, found here.
    http://forums.parallax.com/showthread.php?p=817126
    TriCore is here:
    http://forums.parallax.com/showthread.php?p=822511
    Minuscule is here:
    http://forums.parallax.com/showthread.php?p=821451
    The fifth entry is waiting for the second Stamp Supercomputer Book release. Please post additional comments and questions at the Stamp supercomputing threads listed above. There is also a supercomputing Propeller thread by Chip Gracey.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-12 20:25
    mpark said...
    Although Sphinx does some OS-like things, I have avoided calling it an OS. Certainly I've never called it "MINI OS"!
    It was called a MINI OS as the OS part of Sphinx and not Sphinx that was called an OS. You could probably search the forum thread to see who quoted it. Actually I don't know if there is an official name for this part of the code. It is quoted as Bill Hennnig's project here.
    http://forums.parallax.com/showthread.php?p=821594
    Perhaps someone can shed more light on this gem by providing more information.

    humanoido

    edit: I found the reference here:
    http://forums.parallax.com/showthread.php?p=829405
    trodoss said...
    @Aaron193
    The "Mini OS" that is part of the Sphinx Compiler might be of use to you:
    http://www.sphinxcompiler.com/
    If you haven't already looked at the code you might want to do so.
    I would think OMU (or a OMU look alike) should at least be possible, and I would not doubt that heater could get it implemented with/without Motorola 6809 emulation.
    Post Edited (humanoido) : 10/12/2009 8:49:26 PM GMT
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2009-10-12 22:10
    I started also on a Propeller Supercomputer! However, it eventuly evolved into my current project..... tongue.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Computers are microcontrolled.

    Robots are microcontrolled.
    I am microcontrolled.

    But you·can·call me micro.

    Want to·experiment with the SX or just put together a cool project?
    SX Spinning light display·


  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-10-12 22:49
    I'm not sure you can call "PropDOS" an OS.. Perhaps in the "loose" sense of the word.. [noparse];)[/noparse]
    It's really more of a "shell" than an OS. Kinda the difference between the DOS window
    in XP and DOS 6.22.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • localrogerlocalroger Posts: 3,451
    edited 2009-10-13 00:14
    OBC -- I tend to agree, PropDOS and PropCMD aren't OSes, they're utility shells. Any OS for the Prop is either going to be very primitive, having to fit in 32K along with whatever applications it's running, or it's going to require external hardware for expanded memory.

    There is actually no difference between the DOS window in DOS and Windows, except of course that the Windows one offers the Windows API in addition to the DOS API. DOS was actually a full OS, meaning it serviced the disk filesystem (FSRW), video system and console functions (TV or VGA), serial ports (FULLDUPLEXSERIAL), and a lot of general purpose data movement between those things. Of course DOS didn't need to bit-bang the pin to make a serial port, but it had a lot of data to keep straight and while you could do everything DOS did on the Prop -- particularly one of the early versions of DOS that might have fit in 32K even on the x86 -- you'd have a tough time loading an application on top of that without more RAM.

    I suspect you're thinking of the difference between DOS, the operating system, and COMMAND.COM, the user interface shell which would go away to make room for the program you wanted to run, as PropDOS, PropCMD, and FemtoBasic flush themselves to let some other program run from the SD. But unlike DOS, the Prop shells don't leave a component behind to manage I/O like DOS did. The program you run has to be entirely self-sufficient and aware of its hardware configuration, unlike a DOS program that could just say "send some text to the console" and it would get to the screen or teletype machine or COM1 whatever else might be appropriate.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-13 09:29
    Interesting! It's agreed the Propeller chip will handle OS in a different way. So which are actual OS and which are utility shells? Maybe all of these are utility shells and none are OS. Perhaps the term "OS" simply does not apply? Or does the OS definition simply overlap the utility shell definition or visa versa. Is the utility shell a subset of a greater potential OS? Or maybe it is more simple to loosely use the term OS. Oh oh.. utility shell... you mean... we need... another list? [noparse];)[/noparse]

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-13 09:53
    microcontrolled said...
    I started also on a Propeller Supercomputer! However, it eventuly evolved into my current project.
    It sounds like you are talking about the project at this link... with the connection of multiple propeller chips and a new SPIN compiler.
    http://forums.parallax.com/showthread.php?p=847537
    At what stage is the project now and have you abandoned the compiler or continued with it? In a way, it sounds like the propeller supercomputer os that JohnnyMac was alluding to. Now I wonder if we have many unique os for specific multiple prop platforms, i.e. prop supercomputers comparing props to props, such as TRIOS for the HIVE project...

    humanoido
  • localrogerlocalroger Posts: 3,451
    edited 2009-10-13 12:43
    humanoido -- I would say one of the minimum things a true OS needs to do is abstract out hardware differences, which is particularly important for the Prop. For example, consider your primary I/O stream -- what most people would call the "console." In Spin, you have to decide which object(s) it is -- TV, VGA, keyboard, FDserial, and what pins they use. The OS would abstract this out; you could write an application that would just say "print HELLO WORLD on the console," and it would happen no matter what hardware you were using.

    Same with mass storage. In fact, providing standard services for I/O and mass storage is pretty much all CP/M and DOS did in the early days, but that made it possible to write software that would work across different platforms without being rewritten. The way you have to go into the source of a SPIN program, for example, if you want to port it from the DemoBoard to the Hydra.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-13 15:34
    Primarily the acid OS test that I'm looking at is more superficial - the published command list. I would really not have the time to dissect the inner working mechanisms of the software to make various determinations. Would you want to compare some of the current Prop entries to the first early DOS, or not?

    humanoido
  • localrogerlocalroger Posts: 3,451
    edited 2009-10-14 00:57
    humanoido, what I said -- abstracting out hardware differences -- is pretty much the definition of an OS as practiced everywhere else. Before Windows there were many text and even graphics based shells designed to replace command.com for n00b users, by letting them pick an application or file from a list; these weren't operating systems. An OS is a HELPER program. It takes standardized requests from applications, and either performs them if possible or returns error messages. In the early days (by which I mean the 1960's and 1970's on mainframes) the main responsibility of the OS was to mediate between different multitasked apps for access to resources. In the 1980's it came to include letting apps run on whatever random hardware was available without being rewritten. In all cases an OS performs services -- it's there while the app it launches is running, doing something useful. If that's not the case, it's at best a shell, not an OS.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-10-15 08:21
    Good points. Adding to the definitions here.

    humanoido
    From Wikipedia said...
    en.wikipedia.org/wiki/Operating_system
    An Operating System (OS) is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers (including handheld computers, desktop computers, supercomputers, video game consoles) as well as some robots, domestic appliances (dishwashers, washing machines), and portable media players use an operating system of some type. Some of the oldest models may, however, use an embedded operating system that may be contained on a compact disk data storage device.
  • heaterheater Posts: 3,370
    edited 2009-10-15 08:47
    Humanoido: "Primarily the acid OS test that I'm looking at is more superficial - the published command list"

    Don't forget that many things that are referred to as "operating systems" don't necessarily have a command list. Or at least not one intended for use by a human operator.

    I referring to "embedded" operating systems where the "operator" is in fact the embedded application program. The only human intervention may be the initial loading of the application.

    The key idea is still abstraction and management of resources and perhaps an aid to portability.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • PropellerGuyPropellerGuy Posts: 33
    edited 2015-01-28 10:11
    Seems to me that a lot of people here are thinking about porting old OSs to the Prop.
    Those were written for chips with more memory and less processing power (and stacks).

    We need something Propeller-specific. Largos is close, but message processing is slow and memory-hungry.

    I'm working on something like that; maybe I'll add some specs in a later post
  • Bill HenningBill Henning Posts: 6,445
    edited 2015-01-28 10:38
    I ended up suspending work on Largos due to memory limitations (and lack of time)

    Propeller 2, when it arrives, will have 512KB of hub, MUCH more usable for an OS.
    Seems to me that a lot of people here are thinking about porting old OSs to the Prop.
    Those were written for chips with more memory and less processing power (and stacks).

    We need something Propeller-specific. Largos is close, but message processing is slow and memory-hungry.

    I'm working on something like that; maybe I'll add some specs in a later post
  • Heater.Heater. Posts: 21,230
    edited 2015-01-28 11:42
    PropellerGuy,

    Welcome to the forum.

    What a great old thread this is. Did we ever decide what an OS is?
    For sure cross-platform ability is not required. Many OS are not that.
    Ultimately anything that can be done in software can be done in hardware. So we could imagine that the OS interface is actually a programming language, like C++ or JavaScript or whatever. Where should one draw the line?
    Seems to me that a lot of people here are thinking about porting old OSs to the Prop.
    Well, yes. I for one got CP/M running on the Prop. Not because I want to use CP/M as a Prop OS but, well, just because. It was crazy challenge to be overcome whilst learning how to use PASM on the Prop. Turns out it runs as fast and is more capable than most real machines that ran CP/M back in the day.
    Those were written for chips with more memory and less processing power (and stacks).
    Actually no. CP/M, for example, was used on 8 bit machines with less memory than a Prop and for sure less processing power than eight 32 bit cores running at 20MIPS.
  • Bill HenningBill Henning Posts: 6,445
    edited 2015-01-28 12:10
    There are a ton of 8 bitters that would be good targets for emulation:

    Commodore VIC20 and C16 (though the VIC chip would be a bit of a challenge)

    Sinclair ZX-80, ZX-81

    Radio Shack Color Computer 16k, mini color computer, TRS-80 Model 1 Level 1

    and a TON more!

    Any 8 bit retro computer that had less than ~24kb of ram and rom (total) is a potential target.
  • Heater.Heater. Posts: 21,230
    edited 2015-01-28 14:25
    Bill,

    We have the Z80 covered, with my ZiCog and PullMolls's qZ80.

    I came to a halt with ZiCog when CP/M was working, which was my sole aim. And effectively TRS-80 having got MS BASICs from that era running on the Prop allong the way.

    I seem to recall that PullMoll got Sinclair ZX-80, ZX-81 and perhaps ever Spectrum emulation working with his qz80 emulator. Also the NASCOM on the way.

    Some folks were working on 6502 emulation but I don't recall if that was ever perfected, what happened to that?
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2015-01-28 17:28
    Mike Green wrote: »
    humanoido,
    The term "OS" has a variety of meanings. It's a disservice to use the term for both the Propeller and the likes of a Windows or LINUX without first clarifying what kind of functionality you're talking about. Windows, LINUX, and the MacOS (among many others) provide many many services that are simply not appropriate for a processor on the scale of the Propeller.

    I would suggest that a minimal description of services would include the maintenance of some kind of file system with named files on either EEPROM, other flash, or other mass storage device (like an SD card). It would have to be able to load new SPIN / Assembly / other programs by name and do other file maintenance (delete, possibly rename, create, copy, list filenames). It would obviously have some kind of command interpreter and appropriate I/O drivers for some kind of user input and display.

    Referring back in this thread from 2009 that seems to have been revived I point to Mike's definition of an O/S as a point of reference.

    I find it amusing that when an O/S is mentioned for the Propeller that everybody starts talking about emulating old old 8-bit micros with something that resembles an O/S, but is it? Either way even if it was an O/S and even if it were at all possible to emulate this with anything close to the original processors performance, it is still a step back in time, fun reminiscing, but a step back, and has no practical purpose other than as a toy. But I never really consider even CP/M an "O/S", it was barely more than a simple disk operating system and never really offered the drivers necessary as each CP/M system had to have it's own. As for the toy computers they were hardly more than a Basic interpreter.

    Now much to the chagrin of some I believe that my Tachyon Forth is a "Propeller O/S", not an 8-bit emulation, but a fast native 32-bit Propeller O/S. It offers the drivers, the file system and high commands, and I/O drivers of all kinds as well as an on-board compiler able to load and compile source code from FAT32 SD card files. Sure, it could have a few extras such as a text editor tied to a VGA display and this can easily be done although I find no real use for this as tablets and PCs prove to be more suitable as a console and leaves more resources on the Prop for some real work. V3 will include the assembler as well so PASM modules can be compiled as "coglets" which can be loaded at runtime or from the command line.

    Anyhow, I have a full interactive networking system with FAT32 SD cards, a command shell, a compiler, and drivers etc (without the need for special memory expansion cards). If old 8-bit Basic toys can be said to have an O/S then Tachyon more than qualifies for this label, and it is a "Propeller" O/S.
  • Bill HenningBill Henning Posts: 6,445
    edited 2015-01-28 17:28
    Heater,

    Yup, I remember ZiCog and PullMoll's work, forgot he got ZX's working. To me, a Trash-80 does not have CP/M just rom :)

    I think I saw some 6502 emulation work for the processor core, don't think I remember seeing a while machine running.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-01-28 17:55
    I have a PropOS (see link in my signature) that requires minimal prop hw (prop+xtal, eeprom, SD card, and usually a serial port on P30/31 but that can be changed).
    If it is running on my RamBlade(s) it can also switch in and out of CPM/ZiCog too. All dos style commands are in separate simple files using the OS services available in the general hub and cog code, so it is simple to roll your own commands. I use Kye's SD drivers so FAT16/32 are supported. There is a help file included.

    I have always wanted to put the raw SD driver in its own resident cog but never got around to it. The other regret is not taking Sphinx (the prop spin/pasm compiler) and adding this in to this OS. Time is never on my side :(



    Dave has an alternative Spinix. His is a unix style whereas mine is dos style.
  • kwinnkwinn Posts: 8,697
    edited 2015-01-28 19:23
    No arguments with you calling Tachyon Forth an OS, but CPM (Control Program for Microprocessors) compared pretty well to most minicomputer operating systems of that time period even if it was not called or considered an OS. I considered it an OS as did many others. I ran a business (word processing, spreadsheets, database, and accounting software) on CPM and sold CPM systems to small businesses as well. IMHO the Z80 and CPM was what forced IBM to develop the PC. Gary Kildall and CPM deserve their place in history and the respect of the computer industry and users.
    Referring back in this thread from 2009 that seems to have been revived I point to Mike's definition of an O/S as a point of reference.

    I find it amusing that when an O/S is mentioned for the Propeller that everybody starts talking about emulating old old 8-bit micros with something that resembles an O/S, but is it? Either way even if it was an O/S and even if it were at all possible to emulate this with anything close to the original processors performance, it is still a step back in time, fun reminiscing, but a step back, and has no practical purpose other than as a toy. But I never really consider even CP/M an "O/S", it was barely more than a simple disk operating system and never really offered the drivers necessary as each CP/M system had to have it's own. As for the toy computers they were hardly more than a Basic interpreter.

    Now much to the chagrin of some I believe that my Tachyon Forth is a "Propeller O/S", not an 8-bit emulation, but a fast native 32-bit Propeller O/S. It offers the drivers, the file system and high commands, and I/O drivers of all kinds as well as an on-board compiler able to load and compile source code from FAT32 SD card files. Sure, it could have a few extras such as a text editor tied to a VGA display and this can easily be done although I find no real use for this as tablets and PCs prove to be more suitable as a console and leaves more resources on the Prop for some real work. V3 will include the assembler as well so PASM modules can be compiled as "coglets" which can be loaded at runtime or from the command line.

    Anyhow, I have a full interactive networking system with FAT32 SD cards, a command shell, a compiler, and drivers etc (without the need for special memory expansion cards). If old 8-bit Basic toys can be said to have an O/S then Tachyon more than qualifies for this label, and it is a "Propeller" O/S.
Sign In or Register to comment.