PDA

View Full Version : Turning propeller chips into micro computers



robot mogul
11-19-2010, 09:41 PM
Propeller chips can be turned into powerful miniature computers. Heres how: Download basic stamp 2.5 v software, make sure the program is correct, then click directive three times, youll see the option View Propeller Chip, click on it and a screen will open, do you want to proceed, if yes, click yes, if no, click cancel, go to the screen where it says Make New Program, click it, program it, and have your way the rest of the way. This is only micro computer compatible with kjl1 model robots.

Mike Green
11-19-2010, 10:03 PM
I don't know where you got this information. The Basic Stamps and the Propeller are completely different microcontrollers. They're programmed differently, and their development software (Stamp Editor and Propeller Tool) are completely different. You can't use one to program the other.

Dr. Mario
11-19-2010, 10:13 PM
I gotta agree with Mike Green, unfortunately.
Same for using PowerPC computer to program x86 computer (although there are few very efficient x86 interpreters out there, you gotta know where to find it...)

And for using it as a general CPU, it's possible. But the problem is, your COGs only have 2KB COG-RAMs compared to two 16 - 64KB Level 1 cache RAMs in both powerPC and x86 CPUs, making it a bit difficult, if not impossible. However, if you long for classic-y touch, you can always try Ataris firmware to run GUI desktop of a 68k-based Ataris personal computer. But Windows? No way. MS-DOS? Ho hum.... Again, RAM size still do limit on what the x86 interpreter can do inside Propeller (but still can be done for maybe 80186 softwares). uCLinux would work, but the C++ ports for Propeller are still growing and maturing, it would be a while before you see a happy propeller beanie-wearing fat penguin waving back at you on monitor (or TV) whilst booting up. It will take a lot of works to turn Propeller into a general CPU will take a lot of work (thus entails lot of frustrations and rainbows of carefully-chosen four-letters words), trust me.

Dr_Acula
11-19-2010, 10:20 PM
Emulating early microcomputers is possible on the propeller. Based on all the threads with emulations of microcomputers, we are up to about 1983.

The next big leap is moving from text based operating systems to graphics based. Keep watching all the threads. I think soon we will be up to the late 1980s.

See the link below for screenshots of microcomputers runnning on the Propeller. I think the best so far has been Pacman in color.

Mike Green
11-19-2010, 10:20 PM
CP/M does work using a Propeller running a Z80 emulator. The native Propeller only has enough memory for relatively small CP/M programs, but you can buy boards with external RAM that can then work as a full-sized CP/M machine and run close to original CP/M speeds.

Heater.
11-20-2010, 02:55 AM
Dr A,

I have a Prop in front of me with 32MBytes of SDRAM attached and the possibility of many giga bytes of file system storage. I can program it in C++.

Apart from the speed and ignoring emulation of any actual previous machine I would say the Prop as a micro-computer (not controller) has now arrived somewhere about 1991. That is before the world went all graphical with the coming of Windows 3.1.

Cluso99
11-20-2010, 06:01 AM
To correct a couple of bits. Some of the CPU emulations run faster than the original 4MHz Z80 machines and the disks fly compared to the old disks. These were up to about 1985 although we can have banked memory and CPM3 does work as does multiple CPM machines in a single prop (Drac has done it).

Now, we actually only need to get up to 1995 and the rest should be achievable because once Windoze went past 98 things slowed because of bloatware even though the processors got faster <tongue-in-cheek>

Dr_Acula
11-20-2010, 06:05 AM
Re heater I would say the Prop as a micro-computer (not controller) has now arrived somewhere about 1991.

See the new graphical OS thread with video I just started. It is a bit slow at the moment, but I reckon we are now into the 2000's...

Batang
11-20-2010, 06:11 AM
Dr_Acula
See the new graphical OS thread with video I just started. It is a bit slow at the moment, but I reckon we are now into the 2000's...


Hmm, the graphics on that site reminds me of a Vic 20

Dr_Acula
11-20-2010, 07:15 AM
Hmm, the graphics on that site reminds me of a Vic 20

Aaargh... 1980. Going backwards now?!

Batang
11-20-2010, 07:23 AM
Don't despair, the images with the blue backgrounds are reminiscent of a C64, going forward a few more years.

Dr. Mario
11-21-2010, 08:14 AM
Good point. Although (personally), I really doubt the x86 emulation would be quick on this chip, but optimistically, I would place the first-generation Propeller (P8X32A) somewhere between Intel i386 and i486, while Prop II may be either on Pentium P45 or Pentium Pro instruction compatibility space (I don't know for sure YET, but I may probably write x86 emulation. Need to find a way to keep those IUs' [Cogs'] pipelines filled all the times. I am still consider Out-of-Order execution on Prop II's Cogs... I will experiment with 80386 interpreter with Prop 1 first until Prop II comes out, though.)

BTW, if you guys succeed in running Windows 95 on Prop, that's called luck, guts, and dedication. I would be really surprised.

Dr_Acula
11-21-2010, 10:18 AM
Windows 95 might be a bit hard. Lots of things in the background, eg all those printer drivers. But maybe we can do elements of this? A simple "point and click" GUI. The basics like buttons and text boxes. Different fonts. Pictures.

And a language to tie it all together (I'm thinking a startup in Spin, with Catalina for the heavy lifting code).

So much is already done - mouse, keyboard, mass storage on an sd card, external ram. Hi resolution video is the missing link but there have been some interesting developments recently. Once you have the basic building blocks, self hosting development might soon be possible.

Humanoido
11-21-2010, 10:26 AM
I'm waiting for an early Mac-like interface. Those graphics and simple OS would work well with some prop chips.

Heater.
11-21-2010, 11:08 AM
Dr. Mario.


optimistically, I would place the first-generation Propeller (P8X32A) somewhere between Intel i386 and i486,

Very optimistically.

The Prop has no floating point support so it's not up with the 486.
The Prop is a 32 Bit machine so it is a step up from the 16 bit 286.
The Prop has no memory manager, so back down at 8086 level.
The Prop does match the clock speed of a 386 but only with the limited scope of PASM. With LMM for larger programs we are back to 8086. With external memory for realistic apps we are back down to Z80:)

Let's face it any comparison to a real micro-processor make no sense.


I may probably write x86 emulation.


We have had Z80 emulation and CP/M running on the Prop one way and another for some time now. Many question the sanity of that:) At least it does achieve a speed comparable to an original CP/M machine.

x86 emulation will be an order of magnitude bigger effort, and bigger code and slower running. Especially if you go for 386 vintage with memory management. Prop II will bring a significant speed up but I'm still not convinced it could match an original 386.

I have though about this some and decided that it's not for me. Still the Prop seems to achieve the impossible quite often.

Toby Seckshund
11-21-2010, 11:48 AM
I would have thought that trying to emulate Windoze would have no use. There are tons of old motherboards lying around to do that. I wanted to get the Blessed Nascom back from extinction.

I remember the C64 doing a GUI, and there was the Atari (I think) that everybody used for MIDI and as a poor man's MAC.

Heater.
11-21-2010, 12:12 PM
Toby,


I would have thought that trying to emulate Windoze would have no use.


Is that because Windows was never of any use?
Jumps into nearest bomb shelter:)

Part of my motivation for CP/M on the Prop was as a tribute to Gary Kildall and Digital Research. The source code is available and hence encourages the effort for preservation. There is no such motivation for MSDOS/Windows.


I remember the C64 doing a GUI,


Do you mean GEOS? http://toastytech.com/guis/c64g.html

I'm now wondering why no one has stepped up to port CONTIKI to the Prop http://en.wikipedia.org/wiki/Contiki

Toby Seckshund
11-21-2010, 01:28 PM
Heater,

Yes, that was it. I lost the faith and got a PC just as that was getting going. I had the CBM128 because it had the Z80 inside too.

I had never heard of the Contiki, if I get a version running on one of the AVRs I have then I could dream about tranfers.

prof_braino
11-21-2010, 03:02 PM
Did you guys check out the Hive?

It's a three prop board, does VGA, keyboard, maus (its German) ethernet, sound, SD, and has 1 meg of SRAM. This pin-out is different, but ithey run everything from the OBEX AFAIK.

The Tri-OS is like CP/M or linux. They have a bunch of guy developing on it, and a bunch of applications.

They just made another batch of (Rev14) boards.

http://hive-project.de/

Google translate does well enough, it comes out kind of like "What's Up, Tiger-Lily?".

Toby Seckshund
11-21-2010, 03:12 PM
Getting all cynical,

Couldn't we just put up a blue background and put some obscure message about writing to memory blocks xxx at yyy. Thats WinEMU sorted.

pharseid
11-21-2010, 08:01 PM
Smalltalk-80, which had its own GUI, ran on CP/M, I think. In any case, the byte code was 16-bit, I have the Blue Book section which details that around someplace. I doubt that it's worth the effort of trying to port any version of Windows, but a microkernel GUI should certainly be doable.

-phar

Heater.
11-21-2010, 09:10 PM
Toby,

I have been getting into very hot water for cracking such jokes around here:)

Perry
11-21-2010, 09:55 PM
A little history from a old micro user.

Smalltalk, the first real graphical user interface was developed by Xerox, Palo Alto. The design criteria was to make something eminently understandable with out care of cost.

The September 1981 issue of Byte magazine was entirely devoted to it. In that issue there was no adds for IBM but onl a rumor mentioning IBM bringing out a personal computer in the next year.

After working at a large plant making Wordprocessors as lead line test engineer, I introduced that company to CP/M and saw how they could screw up such an elegant system as CP/M. I changed jobs and worked for a small startup company.

I was working on the development of an MP/M system on what was then the standard S100 bus. We had only 128K of RAM.( should have been 256K but were still debugging access to the second two banks of memory) We had 5Meg hard drives and 5 1/4 inch floppys.

MP/M or CP/M for single users had Smalltalk 80, PL/I ,APL, Forth and many other languages. We could run four users on the that system with Wordstar.

Needless to say the bottom of that nascent industry fell out after the introduction of the IBM PC

In my opinion it was MP/M that forced IBM to bring out that piece of crap they called a personal computer (16K of ram and cassette tape drive for storage )

The intention of IBM was to destroy the thriving microcomputer industry at that time. They set back the microcomputer business by maybe 10 years.

WHY?

MP/M would have blown away the huge margins of the mini computer business!

As for graphical user interfaces, Apple tried to copy the Smalltalk interface but not the language. Compared to Smalltalk the MAC was a horrible kludge. Of course Microsoft Windows was not even marketable until version 3.1. But both we only user interfaces. They did not come even close to the functionality of Smalltalk.

As for why you don't see many Smalltalk systems even to-day that's because it's almost impossible to hide the source code in Smalltalk.

If you want to make a graphical interface to-day, I would consider "Squeak", but you will need extended memory. It would be an interesting project. Parallax have borrowed some of the language of object orintated systems but not the meat. The propeller architecture might be well adaptable to Smalltalk.

Just the musings of a semi retired old fart.

Perry

wjsteele
11-21-2010, 09:57 PM
I have been getting into very hot water for cracking such jokes around here:)

Thanks... I was just biting my toungue! :-)

Bill

Dr. Mario
11-22-2010, 03:48 AM
Heater, good point. I agree. I would like to think of Propeller's CPU core as 8086 on steroids (by the look of CPU cores on Propeller's die)... Although I noticed it's kinda like ancient ARMv2 CPUs (the one without MMU).

Windows 95 execution on Propeller is especially tough (although IT'S possible that Windows 98SE would work on 386s - whatever you have in the ATX case really do vary.) - it's still called luck... -____- That's why I noticed BOCHS got some emulation schemes kinda wrong (still run fine... Until it stumbles in general protection traps, in both emulated x86 CPU and even PowerPC / x86 host CPU. Ta-Da, instant BSOD.)

So, in the end, I would perfer to use x86 emulation on Prop for to run 80186 microcontroller softwares.

Perry, I would agree on Smalltalk. Still, CPU emulation is a issue, but if it's ported for Zilog Z80, then yes. It can be done (just need seperate processor or maybe large RAM, up to 2MB for CPU emulation, tiny Smalltalk OS kernel and graphics.) - who knows? Propeller's always full of surprises.

Toby Seckshund
11-22-2010, 10:19 AM
I know, I know ...

A jaundiced view of Windoze was the result of my fights with my PC over the weekend.

obrienm
11-22-2010, 11:37 AM
Perry,
Nice to read your Smalltalk history. You are right in your description of Smalltalk as a windowing system - in an era where most consumer apps were still character based - Smalltalk was built as an interpreted windowed environment. Just a small point, Smalltalk (Smalltalk V from Digitalk and ParcPlace Smalltalk to name a few) was a fully object-oriented language and development environment where you could actually subclass the kernel and and optional very easy to use WindowBuilder windowing system. Nothing has matched the way you would add functions and classes in place in the system class hierarchy and actually change the the kernal image. Smalltalk was essentially replaced by Java as the internet became widespread in 95. Java, which was also influenced by C++ succeeded and still does primarily because it was designed as a network centric API from the start.
An example of Smalltalk-turned-Java framework is the object relational mapping layer - TopLink. This API orginally written in Smalltalk was ported to Java and now exists as EclipseLink in most EE application servers and the Eclipse IDE.
I posted this message because I started formal programming in university with Smalltalk for 3 years and studied under the original prof. founders of TopLink before I arrived full circle, after C/C++ telecom development, working on the product 10 years later when Java was more mature and enterprise ready - I miss the Smalltalk language but not its limitations in the early 90's OS's. A port would require 1Mb and at least a GC cog.
http://en.wikipedia.org/wiki/TopLink
thank you
/michael

Gadgetman
11-22-2010, 11:55 AM
Toby,
I'm now wondering why no one has stepped up to port CONTIKI to the Prop http://en.wikipedia.org/wiki/Contiki

Slightly off-topic, but whenever anyone mentions Contiki and computers, I always think of the Tiki 100(Z80 based computers sold here in Norway) which in the beginning also ran an OS called ConTiki. That is, until Thor Heyerdal and the people at the Contiki museum heard about it...
Then it changed name to KP/M, which also reflected its true nature as a CP/M clone.
(I used Borland CP/M tools on it. That's how compatible it was. )

Heater.
11-22-2010, 01:12 PM
Here's a historical tidbit I just discovered for Toby,


The Turbo Pascal compiler was based on the Blue Label Pascal compiler originally produced for the NasSys cassette-based operating system of the Nascom (http://en.wikipedia.org/wiki/Nascom) microcomputer in 1981 by Anders Hejlsberg (http://en.wikipedia.org/wiki/Anders_Hejlsberg).

Do you have a NasSys for your DracNascom?

Toby Seckshund
11-22-2010, 01:45 PM
I am sure that all the varients of Nas-Sys are on the website. I started with T2, then T4 and onto the Nas-Sys monitors. They were in 2708 EPROMS (1Kx8) three supply rails and 40 each back in 1978.

The monitor programs were quite highly admired for their usability and editing, all in 1-2KBs.

pharseid
11-22-2010, 02:32 PM
Humanoido mentioned Smalltalk-80 for CP/M some time back, I searched the web for it, but couldn't find an existing copy. That would probably be a reasonable port for the Prop I, it's monochrome graphics would fit on hub RAM. The tipping point would hinge on whether you could fit the byte code interpreter in a COG or whether you end up interpreting an interpreter, from a performance standpoint. I would think that you'd gain a lot of insight into whether that was possible from the project to implement the Java virtual machine in a COG.

Speaking of the JVM, the Java Optimized Processor is a VHDL model of a Java machine that gets implemented on FPGA's and they've got the JNode Java operating system running on that. The JOP runs a stripped-down version of Java byte-code, so potentially you could port JNode by emulating that.

-phar

jazzed
11-22-2010, 02:46 PM
I would think that you'd gain a lot of insight into whether that was possible from the project to implement the Java virtual machine in a COG.
This has already been done for the Javelin dialect of Java (Java1.1 minus garbage collection).

Ale
11-22-2010, 06:14 PM
Heater, after they kicked us out of *that* thread so-to-say, they started with "vs is bloat-ware"... :(

pharseid
11-22-2010, 08:43 PM
@jazzed
I would think that would give hope that the Smalltalk byte-code interpreter would also fit in a COG. As obrienm mentioned, you could do garbage collection in a separate COG.

I don't suppose anyone has tried to port JNode using the JVM you mention?

-phar

jazzed
11-22-2010, 10:21 PM
I would think that would give hope that the Smalltalk byte-code interpreter would also fit in a COG. As obrienm mentioned, you could do garbage collection in a separate COG.
Actually, much of the byte-code handlers were done with overlays pulled into the cog on demand. I've had garbage collection working up to a point.


I don't suppose anyone has tried to port JNode using the JVM you mention?
JNode does not look practical right now as it requires Java6 + 256MB memory. We could have a 256MB SDRAM design, but with today's Propeller I don't think we'll have enough umph.

pharseid
11-23-2010, 12:40 AM
Wow, I hadn't realized JNode was so big! In the paper describing the Java Optimized Processor, it's clear that the JOP was designed to be an embedded processor and it hadn't occurred to me that anyone would be using it with that much memory. I saw a screenshot of JOP running JNode somewhere and that got me interested. Not so interested now.

-phar

Cluso99
11-24-2010, 02:12 AM
Perry: Yes big blue has a lot to answer for!

Humanoido
11-24-2010, 07:27 AM
Humanoido mentioned Smalltalk-80 for CP/M some time back, I searched the web for it, but couldn't find an existing copy. That would probably be a reasonable port for the Prop I, it's monochrome graphics would fit on hub RAM. The tipping point would hinge on whether you could fit the byte code interpreter in a COG or whether you end up interpreting an interpreter, from a performance standpoint. I would think that you'd gain a lot of insight into whether that was possible from the project to implement the Java virtual machine in a COG.-pharI don't see Smalltalk-80 for CP/M listed in the ULTIMATE List of Propeller Languages (http://forums.parallax.com/showthread.php?p=809630) though it was mentioned by Martin H. here (http://forums.parallax.com/showthread.php?p=933645) in reference to languages, or continue the Parallax Forum Google search here (http://www.google.com/search?hl=en&newwindow=1&q=site%3Aforums.parallax.com++++smalltalk&aq=f&aqi=&aql=&oq=&gs_rfai=). I would be interested in seeing a version of Smalltalk-80 for the Propeller, or even better, a small copy rendition of the early Mac GUI done on the Prop like this one (http://forums.parallaxinc.com/forums/attach.aspx?a=41630) found here (http://forums.parallaxinc.com/forums/default.aspx?f=25&m=444175) by Lucas68.

Heater.
11-24-2010, 08:35 AM
Prompted by those posts I was searching for a SmallTalk for CP/M. I have yet to find one.

Dr. Mario
11-26-2010, 07:23 PM
Unfortunately, most older softwares such as Windows 1.01 AKA "The Big Ugly Green" are getting impossible to find. Possibly by the copyright laws... ARGH...

And, thanks to you guys, I dived down into the computing history at www.oldcomputers.net - it's intriguing! Too bad I was not born in the early history of Computer Rages (born in '88... sigh.)

And, I would want to do IMSAI clone, as it's doable on Propeller! (I know it's not for the timids. Only a true hackers would succeed in running this thing.)

Heater.
11-27-2010, 05:35 AM
There is no Windows 1.0 around any more because it was basically useless. I don't think there is any possible reason to miss it. It was not any kind of significant "landmark" in the history of computers.


I would want to do IMSAI clone


Excellent idea. I started out wanting to make an Altair clone:
http://forums.parallax.com/showthread.php?t=101495&highlight=propaltair

Which morphed into ZiCog:
http://forums.parallax.com/showthread.php?t=110804&highlight=propaltair

And now there is the Z80 emulator from PullMoll:
http://forums.parallax.com/showthread.php?t=121579&highlight=propaltair

So you have a lot to start with for an IMSAI.

Perry
11-27-2010, 06:17 PM
My bad!

I did a search through my old junk trying to find the oldest Smalltalk I had used.

That would was Smaltalk/V by Digitalk in 1986. It appears to have been an MSDOS application.

Upon reviewing the Byte August 1981 Smalltalk issue I find that they mentioned that no PC Smaltalk, only the Xerox Star office terminal at $16000

Perry

jazzed
11-28-2010, 02:53 AM
Upon reviewing the Byte August 1981 Smalltalk issue I find that they mentioned that no PC Smaltalk, only the Xerox Star office terminal at $16000

About $2000 today :D

Toby Seckshund
11-28-2010, 09:35 AM
"There is no Windows 1.0 around any more ...."

Out of curiosity, was there ever a Windoze 2 ??


My original Nascom ran on a mixture of S100 cards and home constructed ones.

Heater.
11-28-2010, 09:48 AM
Of course:

http://en.wikipedia.org/wiki/Windows_2.0

Dr. Mario
11-30-2010, 02:21 AM
Yea. Ever wonder why I called it "The Great Big Ugly Green"? It's the ugly colors that's hard on eyes, which along with being temperamental, that ensued its demise. Microsoft tried to sell Windows 1.01, but failed miserable. Only Windows 2.03 came close (until Apples, Inc. sued them since Windows 2.0 used identical menu button styles as Lisa/Macintosh GUI shells.), but also failed - what those previous Windows failed, Windows 3.0 and 95 succeed.

And, yes, IMSAI clone may be easier than said, since Propeller chip (and yes, your favorite AVR / PIC microcontrollers still can be used here!) is pretty simple in sense when it comes to programming it via switches (it's the addressable inputs on Propeller's pinout that makes our lives easier).

Forrest
11-30-2010, 03:21 AM
Here's another suggestion - Atari TOS is a relatively compact, windowed OS. Written for the Motorola 68000 chip, it featured a version of DR's GEM, fit in 192KB of ROM and the source code to TOS 1.x was published in the Atari ST Internals book by Data Becker/Abacus Software. TOS ran well with 512KB or 1024 KB of RAM. Size wise - this should fit on a Propeller C3 board. Now we just a volunteer to write a 68000 emulator for the Propeller.

Heater.
11-30-2010, 06:28 AM
Dr. Mario (http://forums.parallax.com/member.php?u=59951)

I think the IMSAI emulation with the Prop is quite straight forward. It's very similar to the ALTAIR. As long as you don't want the S100 bus hardware emulated as well.

The ALTAIR emulation on the Prop done already since the days of PropAltair. It can run the early ALTAIR software like MicroSoft BASIC and it can run CP/M for the ALTAIR.

The missing part is the LEDS and switches and a nice front panel. Using something like a DracBlade board these could be easily added via a little IO expantion. Or use a second Prop to provide the I/O. Use a TriBlade board.

Of course there are now improved Z80 emulators for the Prop from which to start with. My ZiCog and PullMoll's qz80.

Heater.
11-30-2010, 06:31 AM
Forrest,

We may now have the RAM available for the Prop to fit TOS but it will be very slow. The 68000 is a huge beast to think about emulating on a Prop.

I have a half done 6809 emulator which is already so much bigger than say a 8080 or Z80 and so much slower that I wonder if I will ever continue with it.

My 6809 and other emulations will look much better with Prop II but I still think things like 8086 and 68000 will be too much.

Dr. Mario
11-30-2010, 07:35 PM
x86 and 68k CPU emulation is possible with Propeller, at least if you're willing to pay for an arm or two. 68k is "huge" compared to Propeller. In my opinion, up to 68030 can be emulated, since there are some limit to how much as you can push the Propeller chip's limit. (68060 - 68070 is pretty much out of question even with Propeller II - they're superscalar - 68070 being out-of-order processor, the same CPU used in the absolutely last line of 68k-based Macintosh before Apples, Inc. switched to PowerPC CPUs, diffused by the same company that sold them 68k, Motorola Semiconductors, Inc. Motorola Semiconductors, Inc. is now Freescale, Inc. if you didn't know about that.)

Meanwhile, I'm still thinking about doing delayed issue execution on Propeller II - which may make 68070 emulation possible, at least in theory. Maybe not. (It's largely due to COG RAM size limit.)

IMSAI S100 can be controlled by cheap DSP (or PIC) talking to the Propeller arrays (At least in my opinion...)

P.S. I wouldn't dream of running 32-bit x86 instructions on Propeller I since the COGs' pipelines are way too narrow, at least compared to 486.
16-bit is fine, since they have relatively simple GPR machine models, compared to even classical Pentium's machine model (which is extremely complex).

P.S.S. Heater, I think emulation may be a bit faster in C++ than with Spin. Just my two cents. (I don't intend to reinvent the wheel here unless I'm that desperate... o___o Anyways, the problem with most CPU emulators as far as you can see, is that Propeller may not have enough call stacks to hold all of the extra magics compared to running everything on advanced version of Coldfire 68k [v5] chip. Again, it's just my two cents.)

rod1963
11-30-2010, 08:05 PM
Mario

Motorola never produced a 68070, Philips did produce a 68k variant called the 68070 but it's ancient(mid 80's) - basically a 68000 with a different internal architecture with peripherals that had limited production.

Heater.
11-30-2010, 09:26 PM
Dr Mario.

Sometimes I just don't understand you:


...Heater, I think emulation may be a bit faster in C++ than with Spin.

Nobody in their right mind is creating emulations in SPIN. It just too slow. OK, actually my first 8080 emulation was in Spin, but just to prove to myself I got the logic right enough to run 8080 programs. After that it soon moved moved to PASM.

I can see no advantage to using C++ for such emulations. Speed wise or even logically.

The only way to run C++ on the Prop currently is with the Zog interpreter, so an emulation in C++ would be terrible slow.

pharseid
12-01-2010, 03:54 AM
Suska (http://www.experiment-s.de/en) is a project to put an Atari ST on an FPGA. Or at least everything but the memory chips. I know there have been a couple Prop-FPGA projects in the past, I wonder if you could piggyback this onto one of them?

-phar

Cluso99
12-01-2010, 10:43 AM
I am an old mini-computer idiot! At some time soon (when time permits and I have completed my other prop tasks) I will do an ICL System 25 mini-computer emulation. I have already done this on a 486 targeted asm 30MHz system. I believe a prop would do this really well. Some of us are just plain stupid :-)

Dr. Mario
12-01-2010, 10:44 PM
Heater... I see your point. I just use C++ only for very complex stuff. SPIN for something stupid simple (such as when I am really bored). ASM is still faster, though. (x86 ASM was what I would accustom with fairly quickly, I remember one time making funky images (mirrored image of MS-DOS) on GeForce 7600 due to wrong BIOS IRQ requests, still amusing, though.)

Why isn't 68070 out, is fairly true. Motorola killed it in favor of 88k (which also died, due to lack of funds in the researchs and not enough interests in this CPU), which both were switched in favor of PowerPC 602 / 603 / 604 CPUs used in first PowerPC-based Macintosh computers.
(68070 may make a comeback, in the ColdFire chip, maybe... Maybe not...)

Cluso99, yes. It's possible. the only problem is RAM size, which Jazzed got over with by shoving SDRAM command issues / reference clocks in the boot firmwares he wrote. I applaud Jazzed for getting SDRAM memory chips to work with Propeller.

rod1963
12-02-2010, 02:42 AM
Pharseid

I don't think it would be easy to piggy back a Prop to a FPGA configured to emulate a 68k and either the Atari ST or Amiga chipsets. A better alternative would be uploading a Zylin core along with the VHDL of the Amiga's audio/video chipset. And given the Zylin doesn't use too much FPGA resources, you'd have a nifty 32bit system.

Another approach would be to just use the FPGA along with off-chip memory to do audio, keyboard and video processing(for starters you could use the Amiga's since it's already been done) whilst the Prop pretends to be a Zylin.

The nice thing about the FPGA it does allow you to stretch the capacities of older less powerful chips such as the Z80 or even the 68000.

Here's a example of a Z80 and FPGA

http://www.retroleum.co.uk/v6z80p/

Batang
12-02-2010, 06:14 AM
Hi Guys,

Take a look at:

http://aros.sourceforge.net/

Cheers

Dr. Mario
12-03-2010, 07:17 PM
Batang, Thank for jogging my memory. Forgot about the Amiga operating system...

What is really nifty about the source codes here is that you guys can literally modify the so-called state machines to be statically similar to the Propeller's inner workings.
Also, you can add it or drop it. Although I think FPGA or even XMOS chips or whatever beefy you hold in your hands would be a bit better. Okay, I understand that some of you are gripping on Propeller firmly.

If you only want to use Propeller chip, that's it, here's better method: Get four of them and interlink them and connect it to FPGA (to be treated as a Northbridge / Southbridge chipset) and give 'em HUGE RAM like 128 to 512 MB SDRAM / DDR (depending on what memory controller you got on FPGA as a part of deal). That oughta solve some slowdown issues: Amiga OS is very complex in respect, and MUCHO powerful than even Microsoft Windows, but came pretty close to Linux (although Linux wasn't introduced back then).

pharseid
12-04-2010, 04:07 AM
For anyone who is interested, although I never found a copy of Smalltalk-80, I did find the sources to GNU Smalltalk circa 1991. The docs say that it is source code compatible with Smalltalk-80, although not byte-code compatible (I'm guessing Smalltalk-80 had not been released into the public domain yet) and that it implements the language described in the Bluebook (the Smalltalk bible at the time). The sources are a mix of C and Smalltalk source code. From the little skimming I did, it appears the C implements both the byte code compiler and interpreter, so I imagine you compile that and then use it to compile the Smalltalk sources to create the initial image (that will probably come as a big disappointment to anyone who wants to modify the byte-code compiler from within Smalltalk, lol).

-phar

rod1963
12-04-2010, 05:50 AM
Mario

The Prop will take a serious performance hit no matter what sort of external memory configuration you have, it's just the way the Prop is designed as a microcontroller and not microprocessor. This was discussed at length on a prior thread dealing with using a CPLD to help with external memory. There is no current workaround.

BTW replicating a complex Intel chipset is pretty much out the league of your typical one man shop and is not needed in order to get multiple Props to communicate with one another. Also most of it is not needed anyway unless you think the Prop needs a PCI bus.

Dr. Mario
12-04-2010, 08:10 PM
rod1963, then how come are everyone using it? It's the easter eggs in propeller 1 that keep peoples busy trying ot find a better use for it.

And, I knew it will still get performance hit because it's not Out-of-Order processor. (Out-of-order executing microcontrollers always fares better than this chip - I knew how the CPUs work.
it's the execution times that matters, not how CPU are built. The performance hits usually occurs at pipeline decoding branches, because that's where the queues are.)

If I want to turn it into an OOOE processor, then I gotta work for it (ie; hacking its inner works).

P.S. The Intel chipsets sucks. They are much slower than the other brands (AMD and NVIDIA both are faster in respect - I have used numerous systems, no matter what CPU I used - speed difference are totally noticable), except for most famous for its age, i440BX. (Yes, even faster Pentium !!! will still work.) Why so? Slower paging buffer-bouncing was the only thing that held the accompanying CPUs from going much faster, such as trying to switch between PCI and USB IRQ queuing and via the CPU pipeline transaction (it was FINALLY given overhaul within Nehalem microarchitecture...)

The only reason FPGA-based chipset is need, it's to provide the access to external memory and be able to provide smarter switching fabrics across multiple Propeller microcontrollers.

Cluso99
12-04-2010, 09:17 PM
I have been thinking and it occurs to me that the original IBM PC was an 8088 4.77MHz that shared video memory with the video card.

Now, here is where I am unsure...
IIRC there was no memory on the CGA card (or mono card - what was the common brand?) so in order to display on the CGA screen it would need to interrupt the CPU - correct??? If so, then half the processing time would be used for displaying the screen leaving half for processing??? If this was the case, then IMHO an IBM PC is within the realms of a prop emulation. Any comments???

potatohead
12-04-2010, 09:41 PM
The CGA had 16Kb of RAM, or something like that. Few shared memory designs were done for PC's. There have been some for lower end home PC and portable / laptop designs. 2D, mostly, with some limited 3D from Intel.

On a side note, SGI did a really great one, modeled off the Cobalt chipset in the O2 series of computers. That one could do live video, and 2GB texture maps. No need to offload the graphics into the card, nor any real need to pump it over a small bus. Compute speed remained quite high. I don't remember the details on that, just that I ran them for some time, and they were probably some of the best PC graphics designs made. (legal buried them, BTW --long story)

Anyway, the core idea on the PC was to put the video memory where the adapter could see it, preserving overall compute throughput. Only recently has the bus speed reached a point where that's not a issue for most tasks. Still, many cards come with very large amounts of RAM, just to deal with that streaming issue.

(a point of concern for me on Prop II, BTW, which appears to be leaning pretty heavy on external RAM, bringing all that ugly into the picture here --another thread clearly, or a blog entry now that we have them.)

Many other machines did interrupt the CPU, with a few of them designed to allow a fetch on a trailing clock phase, leaving the CPU deterministic, but for interrupts, and at it's peak throughput. Color Computer comes to mind here.

The big cost on CPU was the complex bus system, consuming a LOT of clocks to do things. Many other devices operated on a slower clock, doing a lot more per cycle. In the end, that proved to be interesting as various CPU designs grew. MIPS, Moto, others kept to a more per cycle model, where Intel basically ended up playing the lotto, showing the world that efficiency didn't get it done. Simply execute everything possible, carry away the heat, and just get the compute done. Brutal, but true!

Sapieha
12-04-2010, 10:03 PM
Hi Cluso99.

You are correct them shared memory BUT that memory was always on Video card.
Video address have memory window in memory map that are from
Mono B000:0000 (4K)
Color B000:0800 (16K)

From segment C000:000 starts ROM and reserved area

PS/2 used even segment between A000:0000 to A000:FFFF as EGA Video memory




I have been thinking and it occurs to me that the original IBM PC was an 8088 4.77MHz that shared video memory with the video card.

Now, here is where I am unsure...
IIRC there was no memory on the CGA card (or mono card - what was the common brand?) so in order to display on the CGA screen it would need to interrupt the CPU - correct??? If so, then half the processing time would be used for displaying the screen leaving half for processing??? If this was the case, then IMHO an IBM PC is within the realms of a prop emulation. Any comments???

Cluso99
12-04-2010, 11:29 PM
Thanks Sapieha. I wasn't sure - too long ago.

IIRC the original PC only had 256KB of RAM although the clones had 640KB. I should therefore think that an emulation using RamBlade at 104-108MHz could keep up. The RamBlade could drive mono directly (1-pin TV) or CGA via a second prop. I am still not so sure of the benefits of running DRDOS or MSDOS as I think there were better things done with CPM - and we have that running with ZiCog, etc.