tokafondo wrote:
Well, it seems that these days everything must be *nix-like and better than that, *nix binary compatible. It's just about being able to have a system that could use the huge amount of C code available everywhere for have ports for it.
This is the conundrum I'm in right now ... I'd like to try to make something different, but it just ends up looking something unixy. A unix shell is nothing more than a posh and fancy CP/M
A:> prompt at the end of the day - a filing system? Well, you'd want to make the underlying thing Posix compliant, wouldn't you? Multi-tasking/threading? Well, there is the Posix threads model and the unix fork() model... And so on. How can you make something different yet functional without keeping the principle of least surprise?
tokafondo wrote:
The only
famous and
modern design for a '816 computer today is the
C256 Foenix. It's a complete design that runs on a real 65816.
The problem is that as always, they want it to be retro-user friendly so the first thing they ported was BASIC. And apart that, there is assembler.
I looked seriously at this and joined in the forums, etc. in the early days, but a few things put me off the project (and price was just one of them). It is a nice system but is it retro enough? FPGA video system and peripheral controller along with hardware (ok, FPGA again) 32-bit multiply and divide. It would make an ideal platform for my own little BCPL project, but would people pay the price of the hardware just for an old school environment? It's programmers vs. gamers again - games sold the old home micros, but only a relatively small number of people did the actual programming.
Actually, there may be a small exception to that - and that's the BBC Micro - education and TV backing sold that initially (into schools and homes that could afford it) and out of that project came many fine programmers who have gone on to greater things, however when it came to games, the BBC Micro while a good platform at the time (e.g. Elite) it was just too costly for the masses who "made do" with the Sinclair products - the 48K Spectrum for example at less than half the price of the BBC Micro, but because it was under £200 at the time, people put up with it's rubber keyboard, weird graphics, sound and so on because for the most part, they wanted to play games, not write code.
tokafondo wrote:
So I thought that if a *nix-like OS could be ported to the '816, where users could contribute with ports of existing software, because they would be dealing with C instead of BASIC or assembler, and would have a common kernel with the usual kernel calls on the ground, maybe things would be different. I don't think that the '816 would make a comeback after this, but a common, modern implementation could be established for people that likes to use computers.
My own thoughts are that C is possibly a hindrance to some, however it does make things "easy". The trade-off? Code density and execution speed, but that didn't stop us back in the day with BASIC wrappers round little snippets of assembler for the fast bits... these days memory is cheap, so that should not be an issue and with 8Mhz (and much more) speeds being relatively easy to achieve then perhaps compiler efficiency isn't that big a worry? The BBC Micro more or less "solved" the banked memory issue too (at least from my point of view) by providing a clearly defined operating system interface that would transparently activate each (16K) bank as required so a program running in one bank could call (e.g.) a filing system that resided in another bank without even being aware of it.
tokafondo wrote:
And I think that maybe it would promote people to start designing computers around the '816 because existing that common base that could be used for it.
I don't think it's an easy CPU to get into. The banks of 64K make it quite awkward for most newbies to get their head round, especially if they've never used a system with such a memory layout before and they want data blocks > 64KB. Faced with a retro '816 (that only saw one real commercial success, the Apple //gs, maybe 2 if you count the SNES) or a retro 68K CPU which was used in many systems from the Sinclair QL to Unix systems then what would you go for? The only reason I've built up a system is my 6502 "loyalty" and that's wearing thin now.
tokafondo wrote:
At last, it's somehow easy to design a 65xx computer, but what is not that easy (for a regular user like me) is to have something running on it that could make the design effort worthwhile. As I see it, once you have the hardware running, that relies of predefined designs and guidelines from the manufacturer, the creative part of designing software for it is not on everybody's hands.
Yes, it's easy now, especially if you "cheat" with a GAL or CPLD/FPGA now. But what do you do? Start afresh, or make it a C64/Apple II/BBC Micro look-a-like? It's a tough call - Almost as hard as the old Z80 vs 6502 "holy wars" of the early years. Ruby started fresh-ish, but I ended up writing my own Apple II like "monitor" for it and running EhBASIC, Applesoft and Apple Integer Basic on it but wanting a nicer/faster BASIC it then migrated into an Acorn MOS like operating system so I could run BBC Basic on it, so not that novel in that respect...
-Gordon