JupiterACE FORTH retro computer
prof_braino
Posts: 4,313
One of the the earliest personal computers was the JupiterACE. These were gone before my time, so the propforth team made our own.
http://code.google.com/p/propforth/wiki/JupiterACE
Compared to the original, the prop JutiperACE has 7 more CPU's, runs 24 times faster, has 32 times more RAM, has optional unlimited storage, and unlimited peripheral sensors and actuators via software drivers, and costs less.
A) You can make a standalone JupiterACE with a Prop Demo Board, a VGA monitor, and a keyboard. If you add an SD you can have 4G (or more) of removable storage for code, applications script, and data.
Another option is to use ANY standard prop board, add a cheap bluetooth module (HC05/HC06), and add any android device 3.0 or higher as a wireless keyboard and display. This is actually orders if magnitude cooler and more useful then the standalone VGA option, particularly for programming and monitoring multiple devices and systems in the field for no extra cost.
This project is not in any way compatible with the original JupiterACE.
http://code.google.com/p/propforth/wiki/JupiterACE
Compared to the original, the prop JutiperACE has 7 more CPU's, runs 24 times faster, has 32 times more RAM, has optional unlimited storage, and unlimited peripheral sensors and actuators via software drivers, and costs less.
A) You can make a standalone JupiterACE with a Prop Demo Board, a VGA monitor, and a keyboard. If you add an SD you can have 4G (or more) of removable storage for code, applications script, and data.
Another option is to use ANY standard prop board, add a cheap bluetooth module (HC05/HC06), and add any android device 3.0 or higher as a wireless keyboard and display. This is actually orders if magnitude cooler and more useful then the standalone VGA option, particularly for programming and monitoring multiple devices and systems in the field for no extra cost.
This project is not in any way compatible with the original JupiterACE.
Comments
Very cool! Thanks for the updated write-up on the Jupiter ACE Forth.
This begs to be tried with one of Jeff's (OBC's) PMC setups. It has all the components (VGA, KBD, SC, EEPROM, etc.) a retro kid could want!
If anyone else beats me to trying this, go for it!! (as always, my timeframes for ANYTHING are largely unpredictable!)
A while back we started talking how he was running out of space for BASIC, and implementing his favorite BASIC in propforth. If we restructure such that the BASIC functions are calls to paged assembler routines on SD, there might be a way to in increase execution speed and allow unlimited program size. Of course, kernel + BASIC routine + data would have to fit on any given cog +hub, so there are limits, and I don't know whether this would be transparent to the user. But it might be worth a look.
http://hackaday.com/2013/07/28/rekindling-forth-with-a-propeller-jupiter-ace/
Any plans of supporting the ability to run Jupiter Ace programs in the future?
Jeff
There have been no requests to run original JupiterACE code, so there is no perceived need at this time.
Any hardware specific low level code would have to be rewritten, I imagine; this is the nature of forth.
If anybody has a particular program in mind we could give it a try. In any case a given program should only take a few minutes if its possible. Most likely writing a function from scratch based on functional requirements would be much simpler than writing an emulator.
http://jupiter-ace.co.uk/sw_wordace_util_tape.html
(Memory permitting of course.. \
Jeff
None of that appear to be high level forth code, at least I could not find any source code.
Somebody that knew both the origianl CPU and the prop would need to work on an emulator. It would probably be eaiser to just write a given application from scratch rather then write an emulator from scratch.
So while the prop and propforth could easily achive the same result as the original, I don't the original code running on a propforth rig anytime soon.
This is a standalone forth terminal, similar to the JupiterACE. Apart from that, it has absolutely no relationship to the original JupiterACE, as it says.
Which kind of makes sense, since forth is very processor specific at the low level, and its pretty much all low level.
Any implemented high level forth words would execute with ok, but anything else would need a bunch of work. This is left to the folks that enjoy that activity.
The goal was to exceed the original, not reproduce the limitations of the original. This was achieved, with seven available processors at 80MHz (compared to one at 4 Mhz), 32K RAM instead of 1k, 32K of Program EEprom (instead of what 4K?), and the ability to add unlimited external memory via SD card. And we have all the stock propforth abilities, the ability to add additional physical prop chips with MCS, the ability add arbitrary peripherals via software drivers, etc.
The original retro games are trivial and can be implemented from a high level functional description quicker and more effective than writing an emulator, but writing an emulator could be fun in itself.
The folks that liked the JupiterACE REALLY liked it. I had several people, (real engineers not hackers) tell me what great, unique thing it was and what a pity it didn't catch on. This was more than for any other retro device, which was why I got interested in it.
Taking this further by getting original games to run would be really cool. That's beyond my project scope and my abilities. It might even be better suited for pfth rather than propforth. If one were embark on this journey, one might find enthusiasts that still retain key pieces of information.
That explains a lot. I don't even think of tape drive. Can you post a listing?
I was able to run this under pfth. It required the buffered serial driver, so I had to include bufser.fth and run bufser before including jupiter.fth and lunar.fth. I've yet to land the lander without running out of fuel or crashing, but I'm going to keep trying.